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

相关推荐

  • Linux网络属性管理

    Linux网络属性管理 linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。 常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 首先:命令方法介绍 一、命令简介 ifconfig:是个比较传统的命令,可以配置网络接口的启用及关闭,IP地址等…

    系统运维 2016-05-29
  • 用户与权限管理

    用户与权限管理      昨天学完了用户与权限管理,讲解了用户的运行机制和权限的作用。 用户的产生来源于3A机制:    认证(Authentication):就是验证用户身份的。    授权(Authorization) :验证完身份后,…

    2017-07-27
  • 命令,Linux的独特魅力

    转眼又学了一个星期,那就来分享一下这个星期所学的知识吧! 这个星期学的都是各种命令,而这些命令就如同windoes里面画面上的各种选项,没有这些命令,那么你对它将无从下手。那下面就来看看这些命令的强大功能 help   man help(内部命令帮助),等同于man(外部命令帮助)。当你对一个命令不熟悉时,这两个命令将是你的救命符 选定一个命令,先…

    2017-07-22
  • 高级文件系统管理2

    五、btrfs文件系统     技术预览版     Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle,2007, CoW     核心特性:     …

    Linux干货 2016-09-09
  • N26-第二周作业-邢岩(1)

     马哥门徒-N26-邢岩   度过了一个愉快的春节,又到了上班的时候了!我的Linux基础学习也进行到了疯狂记命令的阶段,痛并快乐着!那就让我来说一下Linux上的文件管理类命令都有哪些吧。   Linux的文件相关命令还是蛮多的,我不妨简单的总结一下,归结为6类常用的命令: 1、目录切换类命令   pwd命令:显示工…

    Linux干货 2017-02-10
  • linux终端的类型与linux发展历史

    一、linux console的类型与说明 说明:        1 由于虚拟终端的实现,人们可以多用户多任务的在一台计算机操作系统上工作             2 在80或90年代的旧电脑上,人们只能用分屏这样的方法来实现多用户,多任务的工作  …

    Linux干货 2016-11-03