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

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

sed -n '/^[[:space:]]\{1,\}/p' /boot/grub/grub.conf

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

sed -n '/^#[[:space:]]\{1,\}[^[:space:]]\{1,\}/p' /etc/rc.d/rc.sysinit

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

netstat -nat | sed -n '/LISTEN[[:space:]]*$/p'

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

sed -n '/^\([[:alnum:]]\{1,\}\):.*\1$/p' /etc/passwd

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

egrep '^(root|fedora|user1)' /etc/passwd | awk -F: '{print $1,$7}'

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

sed -n '/\<[[:alpha:]]\{1,\}\>()/p' functions

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

echo "/etc/sysconfig/" | grep -o -E "[^/]+/?$" | cut -d/ -f1
扩展:取出其路径名
echo "/etc/yum.repos.d/mysoft.repo" | sed 's@[^/]\{1,\}/\?$@@'

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

ifconfig | egrep -o '[[:digit:]]+' | awk '$1<=255 && $1>=1 {print $1}'|sort -un

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

egrep '^((25[0-5]|2[0-4][[:digit:]]|[01]?[[:digit:]][[:digit:]]?)\.){3}(25[0-5]|2[0-4][[:digit:]]|[01]?[[:digit:]][[:digit:]]?)$'

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

egrep '^[a-zA-Z0-9._-]*@[a-zA-Z_-]*\.[a-zA-Z]'

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

find /var -user root -group mail

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

find / -nouser -o -nogroup
 进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
find / \(-nouser -o -nogroup\) -a -atime -3

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

find /etc -perm -222

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

find /etc -type f -size +1M

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

find /etc/init.d/ -perm -112

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

find /usr -not \(-user root -o -user bin -o -user hadoop\)

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

find /etc/ -not -perm -222

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

find /etc -mtime -7 -a -not \(-user root -o -user hadoop\)

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

(0)
hhaa0352hhaa0352
上一篇 2016-08-02 10:52
下一篇 2016-08-02 10:52

相关推荐

  • TCP三次握手和四次挥手

    TCP三次握手 有两台机器,A是客户端(主动发起请求的人),B是服务器端(被动接受请求的人),客户端A刚开始没有人和他通讯,所以客户端A的状态是CLOSDE(关闭的),服务器端B刚开始的状态也是CLOSDE,但是总有人去访问他,所以服务器端B开启了LISTEN(收听)状态。 (1)假设A机器想链接B机器了,他就会向B机器发送一个建立链接的请求,这个建立链接请…

    2017-08-31
  • keepalived实现高可用

    实现lLVS的高可用;实现nginx的高可用

    2018-07-11
  • 重定向

    Linux下定义了三种I/O设备: 标准输入(STDIN):用0表示,默认的标准输入设备是键盘; 标准输出(STDOUT):用1表示,默认的标准输出设备是当前终端; 标准错误(STDERR):用2表示,默认的标准错误输出设备是当前终端; I/O重定向即改变默认的位置 1 标准输出重定向 (1)将标准输出重定向到其他终端 /dev/pts/1代表伪终端1,在伪…

    Linux干货 2017-07-31
  • 文件系统上的权限管理

                        文件系统上的权限管理: 一 、三种权限       &nbs…

    Linux干货 2017-04-03
  • 马哥教育网络班21期-第一次课程作业

    计算机组成部分及其作用 1.总线 电子管道,携带信息字节并在各个部件间传输。分为地址总线,数据总线,控制总线。 CPU最大可寻址范围:2^N*M,  N为地址总线数量,M为数据总线数量。 2.I/O设备 I/O设备及输入输出设备,最常见的输入设备就是我们非常熟悉的键盘,鼠标,我们通过我们通过这些设备向计算机传达指令,让计算机完成我们想要它完成的工作…

    Linux干货 2016-06-29
  • Shell脚本编程之入门基础(二)if、case的使用

    Shell编程之条件选择和条件判断   一、条件选择(if)与条件判断(case)的对比: if语句:是选择执行,if语句可嵌套。 if条件选择使用格式 单分支 双分支 多分支 if 判断条件;then 条件为真的分支代码 fi if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi if CONDITION1; the…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-02 11:38

    写的很好,排版也很棒,加油