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

相关推荐

  • RAID特性详解,及RAID创建详细操作

    写在前面–命令总览:创建RAID:mdamd  -C [-l级别  -n盘数量  -cchunk  -a是否询问] 查看RAID: mdadm –D   停止RAID:mdadm –S  管理RAID:-f标记损坏  -r删除  -a添加 watch&nbs…

    Linux干货 2016-02-14
  • 8.5-文本处理工具(作业篇)

     1、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 [root@localhost ~]# netstat -nt Active Internet connections (w/o servers) Proto Recv-Q Send-Q&nb…

    Linux干货 2016-08-07
  • 用户查找与添加 第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp /etc/skel /home/tuser1  chmod -R go=— /home/tuser1 2、编辑/etc/group文件,添加组hadoop…

    Linux干货 2017-02-14
  • HA cluster原理

    HA cluster 一、什么是高可用集群   高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。在这个过程中,对于客户端来说是透明的。 …

    2016-11-27
  • 第四周 文件操作

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -a /etc/skel /home/tuser1 [root@localhost ~]# chmod -R go= /home/tuser1 [root@localhost ~]…

    Linux干货 2017-12-24
  • 【linux】正则表达式之grep、egrep、元字符

    正则表达式:     又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。是一类字符所书写的模式,其中许多字符(元字符)不表示其字面意义,而是表达控制或通配等功能。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符…

    Linux干货 2015-04-01

评论列表(1条)

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

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