5.程序包管理与内核命令的使用

1、  显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

~]#  grep -E "^[[:space:]]+" //boot/grub/grub.conf
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_centos6-lv_root rd_NO_VM_LV=vg_centos6/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img

2、  显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

~]# grep -E "^#[[:space:]]+[[:graph:]]+" /etc/rc.d/rc.sysinit
# /etc/rc.d/rc.sysinit - run once at boot time
# Taken in part from Miquel van Smoorenburg's bcheckrc.
# Check SELinux status
# Print a text banner.
# Only read this once.
# Initialize hardware
# Set default affinity
# Load other user-defined modules
# Load modules (for backward compatibility with VARs)
# Configure kernel parameters
# Set the hostname.
# Sync waiting for storage.
# Device mapper & related initialization

3、  打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

~]# netstat -tal | grep ".*LISTEN[[:space:]]*$"
tcp        0      0 *:55950            *:*                LISTEN     
tcp        0      0 *:sunrpc            *:*              LISTEN     
tcp        0      0 *:ssh             *:*              LISTEN     
tcp        0      0 localhost:ipp         *:*                LISTEN     
tcp        0      0 *:46286             *:*               LISTEN     
tcp        0      0 *:sunrpc            *:*              LISTEN     
tcp        0      0 *:webcache             *:*                  LISTEN     
tcp        0      0 *:ssh              *:*              LISTEN     
tcp        0      0 localhost:ipp          *:*               LISTEN     
tcp        0      0 *:43135              *:*              LISTEN

  4、  添加用户bash, testbash, basher, nologin (此一个用户的shell/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

 ~]# grep --color=auto -o "\(^[[:alpha:]]*\):.*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:500:500::/home/bash:/bin/bash
nologin:x:503:503::/home/nologin:/sbin/nologin

5、  显示当前系统上rootfedorauser1用户的默认shell

~]# grep -E  "^(root|fedora|user1)" /etc/passwd
root:x:0:0:root:/root:/bin/bash

6、  找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello()

 ~]# egrep -o "[[:alpha:]]+\(\)" /etc/rc.d/init.d/functions
str()
checkpid()
readlink()
fgrep()
loop()
loop()
run()
pidof()
daemon()
killproc()

7、使用echo命令输出一个绝对路径,使用grep取出其基名;

扩展:取出其路径名

~]# echo -o /etc/httpd/conf/httpd.conf | grep -o "/.*/"
/etc/httpd/conf/
 ~]# echo -o /etc/httpd/conf/httpd.conf | grep -o "[^/]*$"
httpd.conf

7、  找出ifconfig命令结果中的1-255之间数字;

~]# ifconfig | grep -Eo "[1,2]|[1-9][0-9]|2[0-5][0-5]"
29
2
19
2
16
50
17
19
2
16
50

 8、  挑战题:写一个模式,能匹配合理的IP地址;

 ~]#  ifconfig |grep -o‘[1-9][0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{1,4\}’
192.168.50.178
192.168.50.255
255.255.255.0
127.0.0.1
255.0.0.0

9、  挑战题:写一个模式,能匹配出所有的邮件地址;

 
grep -E '[[:alnum:]]+@[[:alnum:]]+\.[[:alpha:]]\+'

  10、 查找/var目录下属主为root,且属组为mail的所有文件或目录;

~]# find /var -user root -group mail
/var/spool/mail

 11、查找当前系统上没有属主或属组的文件;

  进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

 ~]# find / -nouser -o -nogroup
find: “/proc/10321/task/10321/fd/5”: 没有那个文件或目录
/andor/git-2.7.1/git.spec
/andor/git-2.7.1/configure
/andor/git-2.7.1/version
/andor/git-2.7.1/git-gui/version
/andor/android-sdk-linux
~]# find / -nouser -nogroup -atime -3
find: “/proc/10343/task/10343/fd/5”: 没有那个文件或目录
find: “/proc/10343/task/10343/fdinfo/5”: 没有那个文件或目录
/andor/android-sdk-linux
/andor/android-sdk-linux/platforms
/andor/android-sdk-linux/add-ons

 

12、查找/etc目录下所有用户都有写权限的文件;

~]# find /etc -perm -222
/etc/rc3.d
/etc/favicon.png
/etc/rc5.d
/etc/ssl/certs
/etc/rc0.d
/etc/rc.d/rc3.d/S28autofs

13、查找/etc目录下大于1M,且类型为普通文件的所有文件;

find /etc/ -size +1M –a –type f

14、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

find /etc/init.d –perm -113

15、查找/usr目录下不属于rootbinhadoop的文件;

find /usr -not \( -user root -o -user bin -o -user hadoop \)

16、查找/etc/目录下至少有一类用户没有写权限的文件;

find /etc ! –perm -222

17、查找/etc目录下最近一周内其内容被修改过,且不属于roothadoop的文件;

find /etc –mtime 7 –a ! –user root –a ! –user hadoop

原创文章,作者:N27_jiangyefan,如若转载,请注明出处:http://www.178linux.com/83454

(0)
N27_jiangyefanN27_jiangyefan
上一篇 2017-07-30 22:19
下一篇 2017-07-31 07:40

相关推荐

  • Linux入门知识

    了解计算机的构造和Linux的基本知识,掌握相关的内容

    2017-09-10
  • Tomcat基于memcached会话共享

    安装两台memcache,基于tomcat做会话同步;(只对动态内容缓存,用于追踪用户会话) 前提:两个tomcat节点:172.16.100.7(tomcatA.magedu.com),172.16.100.8(tomcatB.magedu.com)两个memcached节点:172.16.100.9, 172.16.100.10一个负载均衡节点:172.…

    2017-05-25
  • nginx+keepalived构建负载均衡代理服务器

    实验环境: 1、centos7.3 centos6.82、两台VS提供nginx代理和keepalived3、两台RS提供httpd服务并部署wordpress4、另外一台提供Mysql数据库服务 实验拓扑图: 拓扑图 实验步骤 1、在vs1(172.18.251.4)上配置,用yum安装keepalived和nginx yum install -y kee…

    Linux干货 2017-05-21
  • 逻辑卷LVM的实现

    LVM(Logical Volume Manager,逻辑卷管理)可以实现把多个实体硬盘分区整合在一起,当作一个硬盘来重新操作处理。最重要的是LVM不像传统分区一旦确定分区大小就不能再调整,它允许我们弹性的调整分区及文件系统容量! 通过几道练习题来说明LVM的实现 1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB,…

    2017-06-25
  • N28-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 命令:cp、mv、rm 1.1 cp命令 用法: cp [OPTIONS]…[-T] SOURCE DEST cp SRC DEST而言,SRC是文件时 如果目标不存在: 新建DEST,并将SRC中内容填充至DEST中 如果目标存在: 如果DEST是文件:将SRC中的内容覆盖至DE…

    Linux干货 2017-12-15
  • N25-第五周作业

    第五周作业 1、显示当前系统上root、fedora或user1用户的默认shell; grep "^\(root|fedora|user1\)" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); grep "…

    Linux干货 2017-02-14

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-04 16:17

    从作业情况来看grep和find已经基本掌握,如果加上sed和awk就理完美了,加油。