N25 – Week 5 blog

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

[root@dhcp-10-129-6-166 ~]# grep -E "root|fedora|user1" /etc/passwd | grep -o "[^:]*$"
/bin/bash
/sbin/nologin
/bin/bash
/sbin/nologin
[root@dhcp-10-129-6-166 ~]#
2. 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,刑如: hello(); 
[root@dhcp-10-129-6-166 ~]# grep -E "\<[[:alpha:]]+\(\)" /etc/rc.d/init.d/functions
checkpid() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
[root@dhcp-10-129-6-166 ~]#

3. 使用echo命令输出一个绝对路径,使用grep取出其基名

[root@dhcp-10-129-6-166 ~]# echo "/etc/rc.d/init.d/functions" | grep "[^/]*$"
/etc/rc.d/init.d/functions
[root@dhcp-10-129-6-166 ~]#

扩展:取出其路径名

[root@dhcp-10-129-6-166 ~]# echo "/etc/rc.d/init.d/functions" | grep -o "^/.*/"
/etc/rc.d/init.d/
[root@dhcp-10-129-6-166 ~]#

4. 找出ifconfig命令结果中的1-225的数字

[root@dhcp-10-129-6-166 ~]# ifconfig | grep -E "\<([0-9]|[1-9][0-9]|2[0-4][0-9]|25[0-5])\>"
        inet 10.129.6.166  netmask 255.255.255.0  broadcast 10.129.6.255
        inet6 fe80::20c:29ff:fe02:650b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:02:65:0b  txqueuelen 1000  (Ethernet)
        RX packets 5819710  bytes 437764632 (417.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 127834  bytes 18650407 (17.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 4  bytes 234 (234.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 234 (234.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# ifconfig | grep -E -o "\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])"
10.129.6.166
10.129.6.25
127.0.0.1
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# grep -E "\<([[:alnum:]]+[._]*[[:alnum:]]*)+@([[:alnum:]]+\.[[:alpha:]]+)*\>" mailaddress
abc@outlook.com
abc@outlook.com.cn
abc@outlook.net
abc.a@outllo.com
abc_b@outlook.com
1abc@outlook.com
abc$a@outloo.com
abc@outlook.cn.com
1abc$edf@outlook.com.cn
luo@t.tt
Dear Sender, Thanks for your massage. I am on my annual leave from 31Dec2016 - 02Jan2017 and limit to access email. Any urgent, please drop email to magedu@magedu.com.
Or XiaoS@magedu.com BigS@magedu.com N25@magedu.com.
abc@outlook.com:bcd@outlook.com:cde@outlook.com
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /var -user root -group mail -ls
67150324    4 drwxrwxr-x   2 root     mail         4096 12月 27 14:13 /var/spool/mail
67972298    4 -rw-------   1 root     mail          756 12月 22 09:46 /var/spool/mail/root
[root@dhcp-10-129-6-166 ~]#

8. 查找当前系统没有属主或属组的文件

[root@dhcp-10-129-6-166 ~]# find /home -nouser -nogroup -ls
624058    4 drwx------   2 2013     2013         4096 12月 27 14:24 /home/user8
624059    4 -rw-r--r--   1 2013     2013           18 11月 20  2015 /home/user8/.bash_logout
624060    4 -rw-r--r--   1 2013     2013          193 11月 20  2015 /home/user8/.bash_profile
624061    4 -rw-r--r--   1 2013     2013          231 11月 20  2015 /home/user8/.bashrc
624062    0 -rw-rw-r--   1 2013     2013            0 12月 27 14:24 /home/user8/file1
624063    0 -rw-rw-r--   1 2013     2013            0 12月 27 14:24 /home/user8/file2
570464    0 -rw-rw-r--   1 2013     2013            0 12月 27 14:24 /home/user8/file3
570465    4 -rw-------   1 2013     2013           26 12月 27 14:24 /home/user8/.bash_history
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /home -nouser -nogroup -atime -3 -ls
624058    4 drwx------   2 2013     2013         4096 Dec 27 14:24 /home/user8
624059    4 -rw-r--r--   1 2013     2013           18 Nov 20  2015 /home/user8/.bash_logout
624060    4 -rw-r--r--   1 2013     2013          193 Nov 20  2015 /home/user8/.bash_profile
624061    4 -rw-r--r--   1 2013     2013          231 Nov 20  2015 /home/user8/.bashrc
624062    0 -rw-rw-r--   1 2013     2013            0 Dec 27 14:24 /home/user8/file1
624063    0 -rw-rw-r--   1 2013     2013            0 Dec 27 14:24 /home/user8/file2
570464    0 -rw-rw-r--   1 2013     2013            0 Dec 27 14:24 /home/user8/file3
570465    4 -rw-------   1 2013     2013           26 Dec 27 14:24 /home/user8/.bash_history

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

[root@dhcp-10-129-6-166 ~]# find /etc -perm /222 | wc -l
1078
[root@dhcp-10-129-6-166 ~]#

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

[root@dhcp-10-129-6-166 ~]# find /etc/ -size +2M -type f -ls
34318041 6824 -r--r--r--   1 root     root      6984832 Dec  1 22:09 /etc/udev/hwdb.bin
67884867 3772 -rw-r--r--   1 root     root      3858924 Nov 21  2015 /etc/selinux/targeted/policy/policy.29

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

[root@dhcp-10-129-6-166 mnt]# find /etc/init.d/ -perm -113 -ls
[root@dhcp-10-129-6-166 mnt]#

12. 查找/usr/目录下不属于root,bin,或hadoop的文件

[root@dhcp-10-129-6-166 mnt]# find /usr ! \( -user root -o  -user bin \) -type f -ls
[root@dhcp-10-129-6-166 mnt]#

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

[root@dhcp-10-129-6-166 mnt]# find /etc -perm /333 -a -type f -ls
33554563    0 -rw-------   1 root     root            0 12月 29 11:51 /etc/crypttab
34101623    4 -rw-r--r--   1 root     root           70 1月  9 21:35 /etc/resolv.conf
100663438    4 -rw-r--r--   1 root     root         1690 12月  9  2015 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
100663439    4 -rw-r--r--   1 root     root         1004 12月  9  2015 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7
100663440    4 -rw-r--r--   1 root     root         1690 12月  9  2015 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7
33833594    4 -rw-r--r--   1 root     root         2388 6月 29  2015 /etc/pki/tls/certs/Makefile
...

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

[root@dhcp-10-129-6-166 mnt]# find /etc -mtime +7 -a ! -user root -exec ls -l {} \;
总用量 8
-rw-r--r--. 1 root root 974 6月  10 2014 49-polkit-pkla-compat.rules
-rw-r--r--. 1 root root 326 4月  30 2013 50-default.rules
-rw-------. 1 tss tss 7046 12月 29 11:51 /etc/tcsd.conf

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

赞 (0)
JLJL
上一篇 2016-12-27 17:02
下一篇 2016-12-27 17:58

相关推荐

  • 20160804课堂作业

    grep正则表达式课堂作业 1、用正则表达式表示IP地址 #grep -E "(\<[1-9]|[1-9][[:digit:]]|1[[:digit:]][[:digit:]]|2[0-4][[:digit:]]|25[0-5]\>)\.(\<[[:digit:]]|[1-9][[:digit:]]|1[[:digit:]] [[…

    Linux干货 2016-08-05
  • 本地yum仓库配置以及创建yum仓库

    如何使用光盘当做本地yum仓库?     1.挂载光盘至某目录,例如/media/cdrom      [root@CentOS7 ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr…

    Linux干货 2016-08-23
  • HAProxy 入门及基础负载应用

    A、首介 。。。         HAProxy——开放源代码软件,是一款代理服务器和伪4层的负载均衡软件解决方案。基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持高并发链接,它的工作模式可以将其简单而安全地整合到当前的服务架构中,同时可以保护你的WEB服务器不暴露到…

    Linux干货 2017-05-17
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求 (2) 接收请求: 接收来自于网络的请求报文中对某资源的一次请求的过程; 持久连接:接收到请求不会断开这个请求 非持久连接:一个连接请求断开一次 并发访问响应模型(Web I/O): 单进程I/O结构:启动一个进程处理用户请求,而且一次只处理…

    Linux干货 2016-09-26
  • LB Cluster 负载均衡集群 —-lvs 配置详解

    lvs : ipvs scheduler: 根据其调度时是否考虑各RS当前的负载状态,可分为静态方法和动态方法两种: 1、静态方法:仅根据算法本身进行调度; RR:roundrobin,轮询; WRR:Weighted RR,加权轮询; SH:Source Hashing,实现session sticy,源IP地址hash;将来自于同一个IP地址的请求始终发…

    Linux干货 2016-10-30
  • SSL应用系列之一:CA证书颁发机构(中心)安装图文详解

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/140518        如果你需要在组织里发布exchange,或者需要给IIS配置SSL的访问方…

    Linux干货 2015-03-26