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
下一篇 2016-09-08

相关推荐

  • Linux用户和组的主要配置文件及其相关命令

    Linux用户和组的主要配置文件: /etc/passwd:用户及其属性信息 /etc/shadow用户密码及其相关属性 /etc/group组及其属性信息 etc/gshadow组密码及其相关属性 /etc/passwd 1.用户名: 2.密码位:x pwconv (默认) 将密码映射到了/etc/shadow pwunconv 将密码保存到/etc/pa…

    2017-07-22
  • LINUX 下正确关机方法

    Linux下正确关机方法 Table of Contents 1关机前 1.1观察系统使用 1.2通知在线使用者关机 2关机 2.1 sy 2.2 shutdo 2.3 rebo 2.4 ha 2.5 powero 3执行 3.1等级 3.2等级 1关机前准备 1.1观察系统使用状态 谁在线:who 联网状态:netstat -a 后台执行的程序:ps -a…

    Linux干货 2017-08-21
  • Linux用户、组管理和正则表达式的基础命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何权限 [root@localhost skel]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ls -al /home/tuser1 total 12 drwxr-xr-x.…

    Linux干货 2017-07-20
  • grep用法

    一、前言 grep是功能强大的文本处理工具,全称:global search regular expression and print out the line,grep一行一行使用正则表达式匹配文本,之后对匹配到的文本整行显示(除非使用特定的选项取反,如 grep -v)。 二、grep用法 grep命令用法:    &nbs…

    Linux干货 2015-08-24
  • grep&正则表达式

    grep&正则表达式 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 语法 grep [选项]… PATTERN [FILE]… 选项 -a 不要忽略…

    Linux干货 2018-03-23
  • 文件查找、压缩、归档

    一、文件查找 非实时查找(数据库查找)locate;实时查找find locate:从系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db查找,但是依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行,管理员手动的更新数据库(updatedb),得用updatedb命令跟新数据库,才能快速查找,也要根据权限搜索…

    Linux干货 2016-11-27

评论列表(1条)

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

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