第五周作业

1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
grep “^[[:space:]]+”  /boot/grub/grub.conf

2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
[root@localhost ~]# grep “^#[[:space:]]+[![:space:]]” /etc/rc.d/rc.sysinit

3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
[root@localhost ~]# netstat -tan | grep LISTEN[[:space:]]$

4、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
[root@localhost scripts]# tail -4 /etc/passwd
bash:x:3010:3010::/home/bash:/bin/bash
testbash:x:3011:3011::/home/testbash:/bin/bash
basher:x:3012:3012::/home/basher:/bin/bash
nologin:x:3013:3013::/home/nologin:/sbin/nologin

[root@localhost ~]# grep -E “^([^:]+\>).\1$” /etc/passwd

5、显示当前系统上root、fedora或user1用户的默认shell;
[root@localhost ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f7

6、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
[root@localhost ~]# grep -E “[[:alnum:]]+()” /etc/rc.d/init.d/functions
7、使用echo命令输出一个绝对路径,使用grep取出其基名;
[root@localhost ~]# echo /etc/rc.d/init.d/functions | grep  -o  “[^/]+/\?$”
扩展:取出其路径名
[root@localhost ~]# echo /etc/rc.d/init.d/functions | grep -E  -o “^/./”

8、找出ifconfig命令结果中的1-255之间数字;
[root@localhost ~]# ifconfig | grep  -E  -o  
“\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>”

9、挑战题:写一个模式,能匹配合理的IP地址;
[root@localhost ~]# ifconfig | grep  -E  -o  
“([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])”

[root@localhost~]# ifconfig | grep -E 
“(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)”

10、挑战题:写一个模式,能匹配出所有的邮件地址;
[root@localhost ~]# grep -E “[0-Z]{3,}\@[0-Z]{2,}(.[0-Z]{2,})+” /tmp/mail.txt

11、查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@localhost ~]# find /var/  -user root -a -group mail -ls

12、查找当前系统上没有属主或属组的文件;
[root@localhost ~]# find /var/  -user root -a -group mail -ls
     进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
[root@localhost ~]# find /
-nouser -a -nogroup -a -atime -3 -ls

13、查找/etc目录下所有用户都有写权限的文件;
[root@localhost ~]# find /etc -perm -222 -ls

14、查找/etc目录下大于1M,且类型为普通文件的所有文件;
[root@localhost ~]# find /etc -size +1M -type f -ls

15、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
[root@localhost ~]# find /etc/init.d/ -perm -113  -ls

16、查找/usr目录下不属于root、bin或hadoop的文件;
[root@localhost ~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop -ls

17、查找/etc/目录下至少有一类用户没有写权限的文件;
[root@localhost ~]# find /etc/ -not -perm -222  -ls

18、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
[root@localhost ~]# find /etc/  -not -user root -a -not -user hadoop -mtime -7 -ls
[root@localhost ~]# find /etc -not ( -user root -o -user hadoop ) -mtime -7 -ls

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

(0)
anhui-binbinanhui-binbin
上一篇 2017-03-09 17:24
下一篇 2017-03-10 13:21

相关推荐

  • 计算机基础知识

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

    Linux干货 2016-07-26
  • Bash Shell中的for循环和运算表达式应用

    Bash Shell中的for循环和运算表达式应用 1、写一个脚本 实现以下功能: 接受一个以上文件路径作为参数, 显示每个文件拥有的行数,总结说明本次共为几个文件统计了其行数。设定此脚本至少需要一个参数并给出提示,$#表示参数的个数。将脚本提供的所有参数组成一个列表放入for语句依次进行循环执行echo "$i has $(wc -l $i | …

    Linux干货 2016-12-13
  • 虚拟化技术介绍、Xen的简单实现

    虚拟化是什么? 虚拟化是一种资源管理技术, 是将计算机的各实体资源, 如服务、网络、内存及存储等, 予以抽象、转换后呈现出来, 打破实体之间的不可切割的障碍, 使用户可以比原本的配置更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式, 地域或物理配置所限制。一般情况下, 虚拟化资源包括计算能力和数据存储 —<转自维基百科&…

    2016-05-31
  • 第一周作业

    1、描述计算机的组成及其功能 答:计算机主要有5大组件构成: 1) 计算器:用户数据计算,主要是指CPU 2) 控制器:用于控制数据流或者指令流,控制计算机系统的各个组件的协同工作以及信息的流动,如各种控制芯片(南桥,北桥等) 3) 存储器:用户数据的存放,如内存 4) 输入设备:如键盘,鼠标等 5) 输出设备:如显示器,外置的存储设备( 硬盘,光…

    Linux干货 2016-10-30
  • 2016/10/14日作业

    ##操作类: 1、设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 a>export  PS1='[\e[034m\u @\h \w \#]\$ \e[0m'  b>export PS1=&#039…

    Linux干货 2016-10-20

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-14 09:05

    第9题还可以有更简单的方法~可以再挑战下自己~~继续加油!