find和grep命令练习

                                find和grep命令练习

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

  • ~]# cat /etc/passwd | egrep "^(root|fedora|user)" | cut -d: -f7

  • /bin/bash

  • /bin/bash

  • /bin/bash

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

  • ~]# cat /etc/rc.d/init.d/functions | grep "\<[[:alpha:]]+()"

  • checkpid() {

  • daemon() {

  • killproc() {

  • pidfileofproc() {

  • pidofproc() {

  • status() {

  • success() {

  • failure() {

  • passed() {

  • warning() {

  • action() {

  • strstr() {

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

  • ~]# echo /etc/rc.d/init.d/functions | cut -d"/" -f5

  • functions

  • 扩展:取出其路径名

  • ~]# echo /etc/rc.d/init.d/functions |egrep -o ".*t.d/"

  • /etc/rc.d/init.d/

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

  • ~]# ifconfig | egrep -o "[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]"

  • 167

  • 77

  • 73

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

  • ~]# ifconfig | egrep -o '[1-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'

  • 192.168.0.7

  • 255.255.255.0

  • 127.0.0.1

  • 255.0.0.0

  • 192.168.122.1

  • 255.255.255.0

  • 192.168.122.255

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

  • ~]# egrep "^[[:alnum:]]+@[[:alnum:]]+.[[:alnum:]]+$"

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

  • ~]# find /var/ -user root -group mail -ls

  • 2752708 4 drwxrwxr-x 2 root mail 4096 10月 17 12:44 /var/spool/mail

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

  • ~]# find -nouser -o -nogroup -ls

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

  • ~]# find -nouser -o -nogroup -a -atime 3 -ls

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

  • ~]# find /etc/ -perm /222 -type f -ls

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

  • ~]# find /etc/ -size +1M -type f |xargs ls -lh

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

  • ~]# find /etc/init.d/ -perm /113 -type f -ls

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

  • ~]# find /usr/ -not -user root -a -not -user bin -a -not -user hadoop -ls

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

  • ~]# find /etc/ -not -perm -111 -type f -ls

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

  • ~]# find /etc/ -mtime -7 -not -user root -a -not -user hadoop

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

(4)
shiyekunshiyekun
上一篇 2016-10-23
下一篇 2016-10-23

相关推荐

  • N25-第8周博客作业

    第八周 1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash # ip=172.16.250. for i in {1..254}; do if ping -w 1 -c 1 $ip$i &> /dev/n…

    Linux干货 2017-03-10
  • 高可用集群基本概念与heartbeat文本配置接口

    一、高可用集群基本概念:     什么是高可用集群:          所谓高可用集群,就是在出现故障时,可以把业务自动转移到其他主机上并让服务正常运行的集群构架     高可用集群的构架层…

    Linux干货 2016-01-13
  • 马哥教育网络班22期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel/ /home/tuser1/ ~]# chmod 700 /home/tuser1/ -R 2、编辑/e…

    Linux干货 2016-09-06
  • Shell中的循环语句

    在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外。把相关内容整理一下吧。 这里包括for/while/until循环,以及变量自增的语法实例。 Shell(以Bash为例)中的循环语句一般有for、while、until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下。也为今后使用提供一个快捷的资料获取渠道。 一、…

    Linux干货 2016-08-22
  • Linux 基础(三)——用户管理&正则表达式

    1、  列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d " " -f1 | uniq 2、  取出最后登录到当前系统的用户的相关信息。 last -1 | cut -d " " -f1 | head -1 | id 3、  …

    Linux干货 2016-11-08
  • N25-第15周博客作业

    1、总结sed和awk的详细用法; sed [OPTION]…  ‘script’  [input-file] … script: 地址定界编辑命令 常用选项: -n:不输出模式空间中的内容至屏幕; -e script, –expression=script:多点编辑;…

    Linux干货 2017-05-21