马哥教育网络班20期+第5周课程练习

1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

egrep '^[[:space:]]+' /boot/grub/grub.conf

2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

egrep '^#[[:space:]]+[^[:space:]]+' /etc/rc.d/rc.sysinit

3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

netstat -tan |grep  'LISTEN[[:space:]]*'

4、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

[root@scm-dzm ~]# useradd bash
[root@scm-dzm ~]# useradd testbash
[root@scm-dzm ~]# useradd basher
[root@scm-dzm ~]# useradd -s /sbin/nologin nologin
[root@scm-dzm ~]# egrep --color=auto '^(\<[[:alnum:]]+\>).+\1$' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:501:501::/home/bash:/bin/bash
nologin:x:504:504::/home/nologin:/sbin/nologin

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

[root@scm-dzm ~]# egrep '^root|^fedora|^user1' /etc/passwd |cut -d: -f 7

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

grep --color=auto '[[:alnum:]]\+()' /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

    以下方式绝对路径为/etc/passwd/或者/etc/passwd均可

    [root@scm-dzm ~]# echo "/etc/passwd/" | egrep --color=auto -o  "[[:alnum:]]+" |tail -1
    [root@scm-dzm ~]# echo "/etc/passwd/" | egrep --color=auto -o  "^(/[[:alnum:]]+)+" |egrep --color=auto -o  "^/([[:alnum:]]+/)+"

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

[root@scm-dzm ~]# ifconfig |egrep --color=auto '\<[1-9][0-9]?\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>'

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

[root@scm-dzm ~]# ifconfig |egrep --color=auto '(\<[0-9][0-9]?\>\.|\<1[0-9]{2}\>\.|\<2[0-4][0-9]\>\.|\<25[0-5]\>\.){3}(\<[0-9][0-9]?\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>)'

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

[root@scm-dzm ~]# echo "dzm@126.com dzm@mfox.cn d@z lm@163.com dzm_1111@126.com" |egrep --color=auto -o '[[:alnum:]]+_?[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+'
dzm@126.com
dzm@mfox.cn
lm@163.com
dzm_1111@126.com

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

[root@scm-dzm ~]# find /var -user root -group mail -exec ls -ld {} \;  
drwxrwxr-x. 2 root mail 4096 Jul  5 11:34 /var/spool/mail
-rw-------. 1 root mail 626 Jun 23 15:21 /var/spool/mail/root

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

[root@scm-dzm home]# find / \( -nouser -o -nogroup \) -exec ls -ld {} \;
-rw-rw----. 1 507 mail 0 Jul  5 13:37 /var/spool/mail/user2
drwx------. 4 507 507 4096 Jul  5 13:37 /home/user2
-rw-r--r--. 1 507 507 18 Oct 16  2014 /home/user2/.bash_logout
drwxr-xr-x. 2 507 507 4096 Nov 12  2010 /home/user2/.gnome2
-rw-------. 1 507 507 31 Jul  5 13:37 /home/user2/.bash_history
-rw-r--r--. 1 507 507 124 Oct 16  2014 /home/user2/.bashrc
-rw-------. 1 507 507 605 Jul  5 13:37 /home/user2/.viminfo
-rw-r--r--. 1 507 507 176 Oct 16  2014 /home/user2/.bash_profile
drwxr-xr-x. 4 507 507 4096 Jun 23 22:33 /home/user2/.mozilla
drwxr-xr-x. 2 507 507 4096 Aug 18  2010 /home/user2/.mozilla/extensions
drwxr-xr-x. 2 507 507 4096 Aug 18  2010 /home/user2/.mozilla/plugins
-rw-rw-r--. 1 507 507 5 Jul  5 13:37 /home/user2/newfile.txt

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

     
[root@scm-dzm home]# find / \( -nouser -o -nogroup -a -atime -3 \) -exec ls -ld {} \;

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

[root@scm-dzm home]# find /etc/ \( -perm -222 \) -exec ls -ld {} \;

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

[root@scm-dzm home]# find /etc/ \( -size +1M -a -type f \) -exec ls -lh {} \; 
-rw-r--r--. 1 root root 2.2M Jun 23 22:57 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml
-rw-r--r--. 1 root root 7.8M Jun 23 22:51 /etc/selinux/targeted/policy/policy.24
-rw-r--r--. 1 root root 7.8M Jun 23 22:51 /etc/selinux/targeted/modules/active/policy.kern

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

[root@scm-dzm home]# find /etc/init.d/ \( -perm -111 -a -perm -002 \)  -exec ls -l {} \;

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

[root@scm-dzm home]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \) -exec ls -l {} \;

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

[root@scm-dzm testdir]# find ./ -not  -perm -222 -exec ls -l {} \;

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

[root@scm-dzm testdir]# find /etc/ 
-mtime -7 -not -user root -not -user hadoop

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

(0)
Net20_天意Net20_天意
上一篇 2016-07-07
下一篇 2016-07-07

相关推荐

  • 配置HTTPS

    环境为CentOS 7.3、httpd2.4.6 一 搭建证书 CA 主机为192.168.29.3 client主机为 192.168.29.100 1 生成私钥 [root@centos7 ~]# (umask 077 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) Generating…

    2017-06-06
  • Linux中的文本查看和处理练习题

    linux中的文本查看和处理练习题
    linux用户和组管理类命令的使用方法及练习

    Linux笔记 2018-07-08
  • 文件查找命令locate与find的对比分析

    文件查找命令locate与find的对比分析一、locate 1、locate命令是用来文件查找的命令,依赖于事先构建的索引。而索引的更新并不是实时的,而是每次开机启动或者管理员手动更新。因为是使用事先建立的索引库进行检索,所以会有以下特点: 1)查找速度快 2)模糊查找 3)非实时查找 4)搜索的是文件的全路径,不仅仅是文件名 5)可能之搜索用户具备读取和…

    Linux笔记 2018-04-14
  • linux入门命令

    bc:计算器 mainframe 缓存查看:lscpu磁盘和内存性能测试命令: dd Xmanager (xshell) 安装:用户名: byg公司: microsoft注册码: 使用工具生成 命令库调用: # ldd /bin/ls系统库跟踪,调用库详细信息 # strace lslibrary 库跟踪 # ltrace ls 二进制文件查看: # hex…

    Linux笔记 2018-07-21
  • 集群基本介绍

    Linux Cluster: Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统; Linux Cluster类型: LB:Load Balancing,负载均衡;主机来平均访问的压力。由负载均衡器和多个后端主机分担主。 HA:High Availiablity,高可用,靠冗余节点实现;提高服务的可用性,有多个负载均衡器(和备份)来接收来自…

    Linux干货 2016-10-30
  • shell脚本编程基础(1)

    要想玩转Linux系统,编写shell脚本是必须要掌握的技能。那什么是shell编程呢?简单来说,shell编程就是对多个Linux命令进行逻辑处理。

    2018-04-10

评论列表(2条)

  • 马哥教育
    马哥教育 2016-07-07 11:21

    写的很好,排版也很棒,但是有的问题有点小瑕疵,在检查一下 加油

    • Net20_天意
      Net20_天意 2016-07-07 15:47

      @马哥教育又有瑕疵了。。。要想完美不容易呢