22期第五周课堂练习

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

[root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf

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

[root@localhost ~]# grep "^#[[:space:]]\+[^[:space:]]" /etc/rc.d/rc.sysinit

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

[root@localhost ~]# netstat -tan |grep "LISTEN[[:space:]]*$"

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

[root@localhost ~]# grep "^\(\<.*\>\).*\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:3006:3006::/home/bash:/bin/bash
nologin:x:3009:3009::/home/nologin:/sbin/nologin

5、显示当前系统上root、fedora或user1用户的默认shell;

[root@localhost ~]# egrep "(root|fedora|user1)"  /etc/passwd |cut -d: -f 7
/bin/bash
/sbin/nologin
/bin/bash
/bin/bash

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

[root@localhost ~]# grep "\<.*\>()" /etc/rc.d/init.d/functions

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

  基名:  

[root@localhost ~]# echo /etc/passwd |grep -E -o "[^/]+/?$"
passwd

  扩展:目录

  

第一种方法:
[root@localhost ~]# echo /etc/passwd |grep -E -o "[/][^/]+.*[/]"|cut -d / -f2
etc
第二种方法:
[root@localhost ~]# echo /etc/passwd |grep -E -o "/.*/"|cut -d / -f2
etc

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

ifconfig |egrep -o "\<([1-9]|[1-9][0-9]|[1][0-9][0-9])|[2][0-4][0-9]|[2][5][0-5]\>"

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

[root@localhost ~]# ifconfig |egrep -o "[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[1-9]{0,1}[0-9]{1,3}"

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

[root@localhost tmp]# cat mailtest.txt 
aaa@xmgs.com
123cc@xmbf.com
1a111@163.com
[root@localhost tmp]# grep "[[:alnum:]]\+@[[:alnum:]]\+\.[[:alnum:]]\+" mailtest.txt 
aaa@xmgs.com
123cc@xmbf.com
1a111@163.com

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

[root@localhost tmp]# find  /var -user root -a -group mail -ls
131732    4 drwxrwxr-x   2 root     mail         4096 Sep  4 15:01 /var/spool/mail

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

[root@localhost tmp]# find / -nouser -o -nogroup -ls

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

[root@localhost tmp]# find / \( -nouser -o -nogroup \)  -atime -3

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

[root@localhost tmp]# find /etc/ -perm -222 -ls

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

[root@localhost tmp]# find /etc/  -size +1M -type f  -exec ls -lh {} \;
-rw-r--r--. 1 root root 2.2M Aug 22 18:36 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml
-rw-r--r--. 1 root root 7.0M Aug 22 18:34 /etc/selinux/targeted/policy/policy.24
-rw-r--r--. 1 root root 7.0M Aug 22 18:34 /etc/selinux/targeted/modules/active/policy.kern

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

[root@localhost tmp]# find /etc/init.d -perm -113  -type f -ls

16、查找/usr目录下不属于root、bin或hadoop的文件;

[root@localhost tmp]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -type f -ls
1179570   12 -rwsr-xr-x   1 abrt     abrt         9904 Nov 23  2013 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cach

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

[root@localhost tmp]# find /etc/ -not -perm 222 -type f -ls

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

[root@localhost tmp]# find /etc/ -mtime -7 -not \( -user root -o -user hadoop \) -type f -ls

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

(0)
a295053193a295053193
上一篇 2016-09-08 18:56
下一篇 2016-09-08 18:56

相关推荐

  • 文件属性、文件管理命令及glob 博客作业—-21期网络班第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。    cp  mv  rm      命令格式:      cp [options] … SOURCE DEST    …

    Linux干货 2016-07-16
  • 马哥教育网络班21期+第2周课程练习

    一:在Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例。     在Linux中,文件管理类命令主要有cp,mv,rm三个     其中cp命令的使用格式如下:           …

    Linux干货 2016-07-16
  • linux高级文件系统管理

    磁盘配额:         (1)如果存放的文件空间不足,虽然分区后不能直接扩容,但是可以迁移,下面以/home目录示例: 1、新建分区,同步分区表 /dev/sda62、mkfs.ext4 /dev/sda6             &n…

    Linux干货 2017-03-14
  • 马哥教育网络班21期-第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep ^[[:space:]] /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; egrep "^#[[:space:]]{1,}[[:alnum:]]…

    Linux干货 2016-08-08
  • Linux文件查找命令

      Linux系统文件查找     使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。 locate命令:     locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。L…

    Linux干货 2016-11-28

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-22 14:40

    匹配ip地址不对,没有好好听周日的分享吧,这个讲过的