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

相关推荐

  • Linux基础知识之history命令详解

     该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统。 为什么要学习history命令?     history命令是Linux的一个内嵌的shell命令,history命令的使用有时会大大缩短我们输入命令的时间,达到节省命令快捷操作的要求。学…

    Linux干货 2016-07-27
  • Find命令简介与使用

    用途:         find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 语法: find [OPTION]… [查找…

    Linux干货 2016-08-30
  • 文本查找之find组合拳

    find命令不仅能帮助我们在数目众多的文件中快速找到满足条件的文本,我们还能通过find处理动作对查找到的文件进行进一步的处理。 一、find的特点:               遍历查找,因此查找速度略慢   &nbs…

    Linux干货 2016-08-15
  • 20161014作业

    2016/10/14作业: ##操作类: 1. 设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 2、使用shutdown命令于5分钟后重启自己的PC机 3. 学习man,学会使用a> ls递归列出/usr目录下所有文件, b> 列出目录…

    Linux干货 2016-10-20
  • 在linux中创建虚拟网卡(网卡别名)的方法

    由于业务需要,要在单个物理网卡上建立多个虚拟网卡,操作如下:cd /etc/sysconfig/network-scripts/   #进入网卡目录cp ifcfg-eth0 ifcfg-eth0:1   # 复制出ifcfg-eth0:1虚拟网卡vim ifcfg-eth0:1    #配置ifcfg-eth0:1虚…

    Linux干货 2016-09-06
  • 博客作业1

    一、linux 常用文件管理命令有哪些?其常用使用方法及相关实例演示 1、文件操作命令 (1).pwd       功能:显示当前目录       实例:     #pwd (2).cd           功能:改变当前目录 …

    Linux干货 2016-06-23

评论列表(1条)

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

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