N25-第5周博客作业

N25-第5周博客作业

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

grep -E "^[[:space:]]+[[:alnum:]]+" /boot/grub/grub.conf   
grep "^[[:space:]]\+.*" /boot/grub/grub.conf

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

grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit 
grep "^#[[:space:]]\+[^[:space:]]" /etc/rc.d/rc.sysinit

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

netstat -tan | grep -E "LISTEN[[:space:]]*$"
netstat -tan | grep "LISTEN[[:space:]]*$"

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

添加用户什么的略。。。 

grep "^\([a-z]\+\b\).*\1$" /etc/passwd

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

grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f1,7
grep -E "^(root|fedora|user1)\b.*" /etc/passwd | cut -d: -f1,7

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

grep -E "[[:alpha:]]+\>\(\)" /etc/rc.d/init.d/functions 
grep "[[:alnum:]]\+()" /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

echo "/usr/local/nginx/sbin/" | grep -E -o "[[:alnum:]]+/?$" | grep -o "[[:alnum:]]*" 
echo "/usr/local/nginx/sbin/" | grep -E -o "[/[:alnum:]]+\>" | grep -E -o "^/[/[:alnum:]]+/"

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

ifconfig | grep -E -o "\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-5]\>"
ifconfig | grep  -E -o "\b(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1,2})\b"

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

ifconfig | grep -E -o "\<((1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\>"

 

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

grep -E -o "\<[^[:space:]]*\>@\<[^[:space:]]*\>\.\<[^[:space:]]*\>" mailstest.text 
grep -E -o "\b[^[:space:]]+\@[^[:space:]]+\b" mailstest.text

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

find /var -user root -group mail -ls

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

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

find / \( -nouser -o -nogroup \) 
find / \( -nouser -o -nogroup \) -a -atime -3

 

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

find /etc  -perm -222 -ls

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

find /etc -size +1M -type f -exec ls -lh {} \;

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

find /etc/init.d/ -perm -113
find /etc/init.d/ -perm -113 -exec ls -lh {} \;

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

find /usr/ -not \( -user root -o -user bin -o  -user hadoop \)

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

find /etc/ -not -perm  -222

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

find /etc -mtime -7 -not \( -user root -o -user hadoop \) -ls

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

(0)
oranixoranix
上一篇 2016-12-30
下一篇 2016-12-31

相关推荐

  • 输出重定向 输入重定向 管道简单介绍 -20160729

    输出重定向 输入重定向 管道简单介绍 标准输入和输出 我们先来了解下输入和输出的概念: 在计算机中我们了解到计算机的组成部分:其中有输入 输出设备。       输出重定向 对于程序来说: 程序 :指令 + 数据 对于数据来说,数据可以由我们通过键盘输入,或者程序直接使用存储设备上的数据,我们称为读入 数据,程序处理数据后需要返…

    Linux干货 2016-08-04
  • LVS-几种负载方式的区别

    LVS的原理很重要,很重要。每一个知识点都要做到熟记与脑,谨记于心,张口就来。 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。 使用集群技术和Linux操作系统实现一个高性能、高可用的服务器. 很好的可伸缩性(Scal…

    Linux干货 2017-05-11
  • 常用的MySQL数据库备份

    常用的MySQL数据库备份方式 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 总结 前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可…

    2016-10-01
  • shell脚本编写-1练习题

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin/bash echo “the hostname is:`hostname`” echo “the ip address is:`ifconfig | sed –n ‘2p’ |sed…

    Linux干货 2016-08-15
  • redis主从复制(4)— client buffer

    1、 client buffer的设计 redis server以单进程的方式处理接收到的请求,而redis完成请求有些工作比较慢,比如网络IO和磁盘IO等比较慢的操作。redis为了提高处理客户端请求的响应时间,做了很多优化。比如网络io和磁盘io是异步完成、使用后台进程完成bgsave和bgrewriteaof工作,在server端为客户提供读buffe…

    Linux干货 2016-03-28
  • Redis基于keepalived的高可用实践

    接着上一章节来: Redis基于keepalived的高可用实现 方案拓扑图 测试方案 1.       手动关闭AppM keepalived进程确认keepalived主从变化,AppS1是否变更为主 2.       开启keepal…

    2015-03-05

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-17 10:29

    写的很好,排版也很漂亮,继续加油