第五周博客作业

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

[root@localhost ~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f1,7
root:/bin/bash
fedora:/bin/bash
user1:/bin/bash

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

[root@localhost ~]# grep -E "[_[:alnum:]]+\(\)" /etc/rc.d/init.d/functions

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

取出基名:
[root@localhost ~]# echo "/etc/rc.d/init.d/functions" | grep -E  -o "[^/]+/?$"
functions
取出路径名:
[root@localhost ~]# echo "/etc/rc.d/init.d/functions" | grep  -o "^.*/"
/etc/rc.d/init.d/

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

[root@localhost ~]# ifconfig | grep -E "\<([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|2[0-5][0-5])\>"

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

[root@localhost tmp]# ifconfig | grep -E -o "\<((1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\>"
192.168.0.129
127.0.0.1

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

[root@localhost tmp]# cat mail
1234@qq.com
63737erijrji@yahoo.com.cn
989898#$@hotmail.com
ffd893@abc.org.cn
qq112qq112qq112qq112qq112qq112qq112qq112qq112qq112qq112qq112
[root@localhost tmp]# grep -E "[^[:space:]].*@[^[:space:]].*" mail
1234@qq.com
63737erijrji@yahoo.com.cn
989898#$@hotmail.com
ffd893@abc.org.cn

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

[root@localhost ~]# find /var -user root -a -group mail -ls
50331800    4 drwxrwxr-x   2 root     mail         4096 Dec 20 03:57 /var/spool/mail

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

[root@localhost ~]# find / \( -nouser -o -nogroup \) -type f

最近3天内曾被访问过的文件或目录

[root@localhost ~]# find / \( -nouser -o -nogroup \) -atime -3

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

[root@localhost ~]# find /etc -perm -222 -ls

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

[root@localhost ~]# find /etc -size +1M -a -type f

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

[root@localhost ~]# find /etc/init.d/ -perm -111 -a -perm -002

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

[root@localhost ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
135247738    0 drwx------   2 polkitd  root           65 Nov  8 09:13 /usr/share/polkit-1/rules.d
2125565   16 -rwsr-sr-x   1 abrt     abrt        15336 Dec  1  2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

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

[root@localhost ~]# find /etc -not -perm -222

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

[root@localhost ~]# find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls

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

赞 (0)
N25_PierceN25_Pierce
上一篇 2017-01-06 23:17
下一篇 2017-01-07 14:22

相关推荐

  • openssh及基于ssl的https的配置

    openssh的简介             OpenSSH 是 SSH 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。 而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rs…

    Linux干货 2017-05-30
  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • Centos不重启添加新硬盘

     显示当前磁盘分区: [root@centos7 ~]# fdisk -l</p>< p>    Disk /dev/sda: 32.2 GB, 32212254720 bytes, 6…

    Linux干货 2016-03-27
  • history          每打开一个终端都会从文件(.bash_history)中加载历史记录           不同终端历史记录不同彼此终端不共享 …

    2017-07-15
  • MySQL存储过程中IN、OUT、INOUT参数使用

    MySQL存储过程中IN、OUT、INOUT参数使用 MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN、OUT、INOUT形式如:CREATE PROCEDURE([IN|OUT|INOUT] 参数名 数据类型,…) IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值。| 意思…

    Linux干货 2017-05-08
  • 计算机与操作系统,linux的发展史

    一台真正意义上的计算机都是由硬件与软件组成的。而根据冯诺依曼结构计算机由控制器、运算器、存储器、输入设备、输出设备五大部分组成。 硬件 控制器:(Controler) 控制程序的执行 运算器:(ALU,Arithmetic Logic Unit) 完成数据的加工处理 储存器:(Menory) 记忆程序和数据&…

    Linux干货 2016-10-26

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-17 10:59

    写的很好,排版也很棒,继续加油保持