马哥教育网络班20期+第5周课程练习

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

egrep '^[[:space:]]+' /boot/grub/grub.conf

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

egrep '^#[[:space:]]+[^[:space:]]+' /etc/rc.d/rc.sysinit

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

netstat -tan |grep  'LISTEN[[:space:]]*'

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

[root@scm-dzm ~]# useradd bash
[root@scm-dzm ~]# useradd testbash
[root@scm-dzm ~]# useradd basher
[root@scm-dzm ~]# useradd -s /sbin/nologin nologin
[root@scm-dzm ~]# egrep --color=auto '^(\<[[:alnum:]]+\>).+\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:501:501::/home/bash:/bin/bash
nologin:x:504:504::/home/nologin:/sbin/nologin

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

[root@scm-dzm ~]# egrep '^root|^fedora|^user1' /etc/passwd |cut -d: -f 7

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

grep --color=auto '[[:alnum:]]\+()' /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

    以下方式绝对路径为/etc/passwd/或者/etc/passwd均可

    [root@scm-dzm ~]# echo "/etc/passwd/" | egrep --color=auto -o  "[[:alnum:]]+" |tail -1
    [root@scm-dzm ~]# echo "/etc/passwd/" | egrep --color=auto -o  "^(/[[:alnum:]]+)+" |egrep --color=auto -o  "^/([[:alnum:]]+/)+"

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

[root@scm-dzm ~]# ifconfig |egrep --color=auto '\<[1-9][0-9]?\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>'

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

[root@scm-dzm ~]# ifconfig |egrep --color=auto '(\<[0-9][0-9]?\>\.|\<1[0-9]{2}\>\.|\<2[0-4][0-9]\>\.|\<25[0-5]\>\.){3}(\<[0-9][0-9]?\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>)'

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

[root@scm-dzm ~]# echo "dzm@126.com dzm@mfox.cn d@z lm@163.com dzm_1111@126.com" |egrep --color=auto -o '[[:alnum:]]+_?[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+'
dzm@126.com
dzm@mfox.cn
lm@163.com
dzm_1111@126.com

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

[root@scm-dzm ~]# find /var -user root -group mail -exec ls -ld {} \;  
drwxrwxr-x. 2 root mail 4096 Jul  5 11:34 /var/spool/mail
-rw-------. 1 root mail 626 Jun 23 15:21 /var/spool/mail/root

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

[root@scm-dzm home]# find / \( -nouser -o -nogroup \) -exec ls -ld {} \;
-rw-rw----. 1 507 mail 0 Jul  5 13:37 /var/spool/mail/user2
drwx------. 4 507 507 4096 Jul  5 13:37 /home/user2
-rw-r--r--. 1 507 507 18 Oct 16  2014 /home/user2/.bash_logout
drwxr-xr-x. 2 507 507 4096 Nov 12  2010 /home/user2/.gnome2
-rw-------. 1 507 507 31 Jul  5 13:37 /home/user2/.bash_history
-rw-r--r--. 1 507 507 124 Oct 16  2014 /home/user2/.bashrc
-rw-------. 1 507 507 605 Jul  5 13:37 /home/user2/.viminfo
-rw-r--r--. 1 507 507 176 Oct 16  2014 /home/user2/.bash_profile
drwxr-xr-x. 4 507 507 4096 Jun 23 22:33 /home/user2/.mozilla
drwxr-xr-x. 2 507 507 4096 Aug 18  2010 /home/user2/.mozilla/extensions
drwxr-xr-x. 2 507 507 4096 Aug 18  2010 /home/user2/.mozilla/plugins
-rw-rw-r--. 1 507 507 5 Jul  5 13:37 /home/user2/newfile.txt

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

     
[root@scm-dzm home]# find / \( -nouser -o -nogroup -a -atime -3 \) -exec ls -ld {} \;

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

[root@scm-dzm home]# find /etc/ \( -perm -222 \) -exec ls -ld {} \;

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

[root@scm-dzm home]# find /etc/ \( -size +1M -a -type f \) -exec ls -lh {} \; 
-rw-r--r--. 1 root root 2.2M Jun 23 22:57 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml
-rw-r--r--. 1 root root 7.8M Jun 23 22:51 /etc/selinux/targeted/policy/policy.24
-rw-r--r--. 1 root root 7.8M Jun 23 22:51 /etc/selinux/targeted/modules/active/policy.kern

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

[root@scm-dzm home]# find /etc/init.d/ \( -perm -111 -a -perm -002 \)  -exec ls -l {} \;

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

[root@scm-dzm home]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \) -exec ls -l {} \;

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

[root@scm-dzm testdir]# find ./ -not  -perm -222 -exec ls -l {} \;

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

[root@scm-dzm testdir]# find /etc/ 
-mtime -7 -not -user root -not -user hadoop

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

(0)
Net20_天意Net20_天意
上一篇 2016-07-07 10:48
下一篇 2016-07-07 10:48

相关推荐

  • 正则表达式和grep用法,及文本查看、处理工具

    概念 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。(维基百科) 通俗…

    2017-10-21
  • linux的基础命令

    基础命令

    2018-03-28
  • 制作引导分区

      使用虚拟机制作一个可以引导启动的简单系统。方法如下:   一、制作两个分区     1、添加一块新的硬盘,新建两个分区,格式化并挂载到/mnt/boot和/mnt/sysroot目录中;虚拟机添加硬盘的操作很简单就不做演示了,要注意的是添加的硬盘最好选择成“将虚拟磁盘存储为单个个文件”,并为将文件名修改为容易识别的…

    Linux干货 2016-01-18
  • 网络总结

    linux 网络配置 linux的网络服务是由内核提供。 网卡在内核看来就是个设备,各种网络配置不在网卡上。各种配置都是针相应网络管理程序使用的。 不同发行版的网络管理工具也是不一样(net-tools/iproute)。网络服务的管理程序(守护进程)也是不一样(脚本/程序)。 网络管理工具是将用户的设定直接传递给内核的网络服务,及时有效。 很多管理工具可以…

    Linux干货 2016-09-09
  • N26-第六周作业

    vim编辑器的使用 编辑模式:默认模式编辑模式–>输入模式;i:insert,在光标所在处输入;a:append,在光标所在处后方输入o:在光标所在处下方打开的一个新行;光标处在行首;I:在光标所在行的行首输入A:在光标所在处的行尾输入;O:在光标所在处的上方打开一个新行; 输入模式–>编辑模式ESC 编辑模式&#8211…

    Linux干货 2017-03-13
  • bash进阶学习ing

    使用read命令来接受输入使用read来把输入值分配给一个或多个shell变量: -p 指定要显示的提示 -t TIMEOUT read 从标准输入中读取值,给每个单词分配一个变量所有剩余单词都被分配给最后一个变量read -p “Enter a filename: “ FILE 条件选择if语句选择执行:注意: if语句可嵌套单分支if 判断条件: the…

    Linux干货 2016-08-21

评论列表(2条)

  • 马哥教育
    马哥教育 2016-07-07 11:21

    写的很好,排版也很棒,但是有的问题有点小瑕疵,在检查一下 加油

    • Net20_天意
      Net20_天意 2016-07-07 15:47

      @马哥教育又有瑕疵了。。。要想完美不容易呢