马哥教育网络班22期+第5周课程练习 忍者乱太郎喻成

1、显示当前系统上root、fedora或user1用户的默认shell;
   以root为例

awk -F':' '$1 ~ /root/ {print $7} ' /etc/passwd

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

cat /etc/rc.d/init.d/functions| grep "[^[:space:]]\+()"

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

echo /home/chengyu/test.txt | grep -o '[^/]\+/\?$'

    扩展:取出其路径名

echo /home/chengyu/test.txt | grep  -oP '^/.*(?=/)'

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

ifconfig| grep -Eo "([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

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

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

10、挑战题:写一个模式,能匹配出所有的邮件地址;
    理论上不可能匹配所有,但这个表达式匹配大多数

^[A-Z0-9]+@[A-Z0-9]+\.[A-Z]{2,4}$

    RFC 官方email的正则表达式

    (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

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

find /var -user root -group mail

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

find / -nouser -nogroup

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

  find / -nouser -nogroup -atime -3

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

  find /etc -perm /001

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

   find ./etc -size +1k

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

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

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

   find /usr -not -user root -a -not -user bin -a -not -user hadoop

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

   find /etc/init.d/ -not -perm /111

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

   find /user \(-nouser -o -nogroup\) -atime -7

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

(0)
chengyuchengyu
上一篇 2016-10-09
下一篇 2016-10-09

相关推荐

  • 2016/08/21:shell遗留select,包管理器rpm,yum

    select:搭配case更好的显示选项     这个命令用来创建菜单,按数字排列,并等待用户输入,输入对应数字,执行相应操作,更清楚明了     普通版:select var in list        &…

    Linux干货 2016-08-24
  • 磁盘及文件系统管理

    Linux磁盘及文件系统: 磁盘:用于持久存放数据 常见的磁盘有:机械硬盘、固态硬盘 I/O Ports: I/O设备地址 常见的硬盘接口类型:      IDE(ata):并口,133MB/s     SCSI:并口,UltraSCSI320,320MB/s,UltraSCSI…

    Linux干货 2016-08-26
  • 处理文本的工具sed,vim 编辑器的使用 Linux版

    处理文本的工具sed Stream EDitor 行编辑器 sed一次处理一行的内容,处理时,将当前处理的行存储在临时缓冲区,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,将缓冲区的内容送往屏幕,接着处理下一行不断重复,直到末尾。            一次处理一行 文件&#82…

    Linux干货 2016-08-11
  • Linux文件管理类命令相关

    Linux文件管理类命令相关 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1)、查看文件命令: (1)ls命令: list,列出目录下的内容 语法: ls [OPTION]… [FILE]… 常用选项: -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –…

    Linux干货 2016-09-24
  • Linux基础

    Linux基础

    Linux干货 2017-12-04
  • 关于大型网站技术演进的思考(十四)–网站静态化处理—前后端分离—上(6)

    原文出处: 夏天的森林  前文讲到了CSI技术,这就说明网站静态化技术的讲述已经推进到了浏览器端了即真正到了web前端的范畴了,而时下web前端技术的前沿之一就是前后端 分离技术了,那么在这里网站静态化技术和前后端分离技术产生了交集,所以今天我将讨论下前后端分离技术,前后端分离技术讨论完后,下一篇文章我将会以网站 静态化技术的角度回过头来…

    Linux干货 2015-02-26

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-11 23:15

    第一题其实本意是显示三个username的shell,而不是单纯以某一个为准,你可以选择出三个用户的对应的shell哦