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

相关推荐

  • 树 非线性结构 树是n(n >= 0)个元素的集合: (1)每个元素称为结点(node); (2)有一个特定的结点,称为根结点或根(root); (3)除根结点外,其余结点被分成m(m>=0)个互不相交的有限集合,而每个子集又都是一棵树(称为原树的子树Subtree) 注意 n = 0时,称为空树 树只有一个特殊的没有前驱的元素,称为树的根(Ro…

    2017-10-16
  • 马哥教育网络班20期-第四周课程作业

    Table of Contents 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/h…

    Linux干货 2016-06-26
  • 马哥教育网络班20期+第二周博客作业

    1.Linux上的文件管理类命令 2.bash命令学习总结 3.bash命令实例 4.元数据与时间戳 5.命令别名 6.练习题6~12 1.Linux上的文件管理类命令        Linux上的文件管理类命令可分为查看类、目录管理类、权…

    Linux干货 2016-06-19
  • httpd服务归纳:httpd简介与基本安装

    一、httpd 简介  1. httpd 历史: httpd daemon 最早诞生于1995年二月, 伊利诺伊大学香槟分校的美国国家超级计算应用中心(NCSA),由Rob McCool开发。当这个项目完成后,Rob 老兄离开RCSA以后,这个项目组就解散了,这个项目也随之终止。 但是,由Brian Behlendorf 和 Cliff …

    Linux干货 2015-05-07
  • 系统基础之AWK详解

    GUN awk 文本处理三工具:grup,sed,awk     grep,egrep,fgrep:文本过滤工具     sed:行编辑器         模式空间,保持空间   …

    Linux干货 2016-09-21
  • 计算机基础知识

    命令总结 echo :回显 echo $PATH:显示命令定义的路径变量 Init 3,5:关闭和打开图形界面 chvt切换虚拟终端(此命令只能本机切换) startx从新打开图形界面 powerr off关机 hostname 显示当前主机名 lsb_release -a显示操作系统版本 lscpu显示cpu信息 cat查看 who am显示当前用户身份 …

    Linux干货 2016-07-26