第五周小练习

1显示当前系统上root,fedora或user1用户的默认shell

egrep "^(root|user1|fedora)" /etc/passwd|cut -d ':' -f 1,7

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

grep -o ".\+()" /etc/rc.d/init.d/functions 
egrep -o ".+\(\)" /etc/rc.d/init.d/functions

3使用echo命令输出绝对路径,使用grep取出其基名 扩展:取出其路径名

echo $(pwd)|grep -o "[^/]\+/\?$"
echo $(pwd)|grep -o "[[:alnum:]]\+.*/"

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

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

5挑战题:写一个模式,能匹配合理的ip地址

ifconfig| grep -oE "(\<([1-9][0-9]?|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])\>\.){2}([1-9][0-9]?|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])"

6写一个模式,能匹配所有的邮件地址

egrep -o "[[:alnum:]]+@[[:alnum:]]+.*\.[[:alnum:]]+"

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

find /var -user root -group mail -ls

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

find /  (-nouser -o -nogroup) -ls
注意:为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义
修正:find /  \( -nouser -o -nogroup \) -ls
find /  \( -nouser -o -nogroup \)  -atime -3 -ls

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

find /etc  -perm -222 -ls

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

find /etc -size +1M -type f -ls

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

find /etc/init.d/ -perm -113 -ls

12查找/usr目录下不属于root,bin或hadoop的文件

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

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

find /etc -not -perm -222 -ls

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

find /etc -atime -7 -a \( -not -user root -o -not -user hadoop \)
find /etc -atime -7 -a -not \( -user root -a  -user hadoop \)

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

(0)
N24-超N24-超
上一篇 2016-12-12
下一篇 2016-12-12

相关推荐

  • 练习

    练习 显示/proc/meminfo文件中以大小s开头的行;     显示/etc/passwd文件中不以/bin/bash结尾的行     找出/etc/passwd中的两位或三位数     显示/etc/grub2.cfg文件中,至少以一个空白字符开头的 且后面存非空白字符的行   &…

    Linux干货 2016-08-12
  • Linux 第四天: (07月28日) 练习和作业

    Linux 第四天: (07月28日) 练习和作业         定义别名命令baketc, 每天将/etc/目录下所有文件, 备份到/testdir独立的子目录下, 并要求子目录格式为backupYYYY-mm-dd, 备份过程可见 alias baketc='cp -a /etc/ /testdir/b…

    Linux干货 2016-08-08
  • shell脚本之 select 循环菜单及 函数

    select 循环与菜单 select variable in list    do      循环体命令   done select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输入 用户输入菜单列表中的某个数字,执行相应的命令…

    Linux干货 2016-08-22
  • awk学习笔记

        awk是一种模式扫描和处理工具,相对于grep的查找,sed的编辑,它在对数据进行分析生成报表时显得尤为强大。awk通过逐行遍历一个或多个文件的方式,查找模式匹配到的行,而后以指定的分隔符(缺省为空格)进行切片,然后针对切片数据进行处理和分析。事实上,gawk有自己的语言,其本身就相当于一个解释器,允许用户创建…

    Linux干货 2015-08-04
  • LINUX HASH命令

    LINUX:Hash命令 介绍:linux系统下会有一个hash表,刚开始这个hash表为空,每执行过一条命令hash表会缓存下这条命令。Shel优先会查看hash表。 hash缓存表可大大提高命令的调用速率 下面介绍几个hash常用选项 刚进入系统使用Hash命令 哈希表为空 使用过命令后使用Hash命令 使用过命令后,Hash可显示缓存的命令 Hash …

    Linux干货 2017-04-03
  • DNS配置

     DNS配置 基本的配置准备 1.安装bind 2.开启named服务 一、正向解析库 1、修改/etc/named.conf配置文件 vim /etc/named.conf 修改如下行 listen-on port 53 { 10.1.44.2; } allow-query     { any; } recursion no;…

    Linux干货 2016-10-09

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-23 00:42

    赞,第8小题注意下,其它都不错,继续加油~