美文网首页
find命令练习

find命令练习

作者: 香吉矢 | 来源:发表于2017-09-13 12:52 被阅读0次
    1. 查找/var目录下属主为root,且属组为mail的所有文件或目录

    [root@localhost ~]# find /var -user root -a -group mail -ls
    33555854 0 drwxrwxr-x 2 root mail 221 9月 2 23:05 /var/spool/mail
    34984520 4 -rw------- 1 root mail 3477 8月 1 10:50 /var/spool/mail/root
    [root@localhost ~]# find /var -user root -a -group mail | xargs -t -n1 ls -l -d
    ls -l -d /var/spool/mail
    drwxrwxr-x. 2 root mail 221 9月 2 23:05 /var/spool/mail
    ls -l -d /var/spool/mail/root
    -rw-------. 1 root mail 3477 8月 1 10:50 /var/spool/mail/root

    1. 查找当前目录下不属于root,fedora或hadoop的所有文件或目录;用两种方法

    [root@localhost mytest]# ll
    总用量 0
    -rw-r--r--. 1 root root 0 9月 13 14:16 du1
    -rw-rw-r--. 1 fedora fedora 0 9月 13 14:16 du2
    -rw-rw-r--. 1 hadoop hadoop 0 9月 13 14:16 du3
    -rw-r--r--. 1 slackware distro 0 9月 13 14:16 du4
    drwxr-xr-x. 2 root root 6 9月 13 14:17 xiangjis1
    drwxrwxr-x. 2 hadoop hadoop 6 9月 13 14:17 xiangjis3
    [root@localhost mytest]# find -not \( -user root -o -user fedora -o -user hadoop \) -ls   \\注意'\('后边有空格的,'\)'前边是有空格的,括号记得转义
    33880990 0 -rw-r--r-- 1 slackware distro 0 9月 13 14:16 ./du4
    [root@localhost mytest]# find -not -user root -a -not -user fedora -not -user hadoop -ls
    33880990 0 -rw-r--r-- 1 slackware distro 0 9月 13 14:16 ./du4

    1. 查找/etc目录下最近一周内其内容修改过,且属主不是root用户也不是hadoop用户的文件或目录

    [root@localhost mytest]# find -mtime -7 -not -user root -a -not -user hadoop -ls
    33880987 0 -rw-rw-r-- 1 fedora fedora 0 9月 13 14:16 ./du2
    33880990 0 -rw-r--r-- 1 slackware distro 0 9月 13 14:16 ./du4
    [root@localhost mytest]# find -not ( -user root -o -user hadoop ) -mtime -7 -ls
    33880987 0 -rw-rw-r-- 1 fedora fedora 0 9月 13 14:16 ./du2
    33880990 0 -rw-r--r-- 1 slackware distro 0 9月 13 14:16 ./du4

    1. 查找当前系统上没有属主或属组,且最近一周内曾被访问过的文件或目录

    [root@localhost ~]# find / \( -nouser -o -nogroup \) -atime -7 -ls   \\注意"\("后边有空格的,'\)'前边是有空格的,否则会只找到没有属组的文件

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

    [root@localhost ~]# find /etc -size +2M -type f -exec ls -lh {} ;
    -rw-r--r--. 1 root root 3.6M 11月 12 2016 /etc/selinux/targeted/active/policy.kern
    -rw-r--r--. 1 root root 3.6M 11月 12 2016 /etc/selinux/targeted/policy/policy.30
    -r--r--r--. 1 root root 7.0M 7月 13 23:33 /etc/udev/hwdb.bin
    [root@localhost ~]# find /etc -size 2M -type f -exec ls -lh {} ;   \\1-2M之间大小的文件
    -rw-r--r--. 1 root root 1.4M 11月 12 2016 /etc/selinux/targeted/contexts/files/file_contexts.bin
    -rw-r--r--. 1 root root 1.4M 11月 6 2016 /etc/brltty/zh-tw.ctb
    [root@localhost ~]# find /etc -size +1M -type f -exec ls -lh {} ;   \\此为题目的答案,即为>1M的文件
    -rw-r--r--. 1 root root 3.6M 11月 12 2016 /etc/selinux/targeted/active/policy.kern
    -rw-r--r--. 1 root root 1.4M 11月 12 2016 /etc/selinux/targeted/contexts/files/file_contexts.bin
    -rw-r--r--. 1 root root 3.6M 11月 12 2016 /etc/selinux/targeted/policy/policy.30
    -r--r--r--. 1 root root 7.0M 7月 13 23:33 /etc/udev/hwdb.bin
    -rw-r--r--. 1 root root 1.4M 11月 6 2016 /etc/brltty/zh-tw.ctb
    [root@localhost ~]# find /etc -size 1M -type f -exec ls -lh {} ;   \\0-1M之间的文件
    -rw-r--r--. 1 root root 1.5K 6月 7 2013 aliases
    -rw-r--r--. 1 root root 12K 5月 30 06:49 aliases.db
    ....................
    [root@localhost ~]# find /etc -size -1M -type f -exec ls -lh {} ;   \\0M的文件,这样表示是没有意义的,可以直接用0M,效果是一样的
    -rw-------. 1 root root 0 5月 30 06:31 /etc/crypttab
    -rw-r--r--. 1 root root 0 6月 7 2013 /etc/exports
    -rw-------. 1 root root 0 5月 30 06:33 /etc/.pwd.lock
    -rw-r--r--. 1 root root 0 6月 7 2013 /etc/motd
    -rw-r--r--. 1 root root 0 11月 6 2016 /etc/subgid
    -rw-r--r--. 1 root root 0 11月 6 2016 /etc/subuid
    ...........

        以上列出了这几项,意在比较大小的表示方法及不同,请注意!应题目
    
    1. 查找/etc目录下所有用户都没有写权限的文件

    [root@localhost ~]# find /etc -not -perm /222 -type f -ls   \\关键点用到了取反
    34471049 4 ---------- 1 root root 2144 9月 8 05:01 /etc/shadow
    33678626 4 ---------- 1 root root 1900 9月 2 23:05 /etc/shadow-
    33693054 4 -r--r--r-- 1 root root 33 5月 30 06:33 /etc/machine-id
    68306066 4 -r--r--r-- 1 root root 146 11月 6 2016 /etc/pam.d/cups
    33798927 4 -r--r----- 1 root root 3907 11月 5 2016 /etc/sudoers

    1. 查找/etc目录至少有一类用户没有执行权限的文件

    [root@localhost ~]# find /etc -not -perm -111 -type f -ls
    34579806 4 -rw-r--r-- 1 root root 1982 6月 10 2014 /etc/vimrc
    101747771 4 -rw-r--r-- 1 root root 930 11月 6 2016 /etc/hp/hplip.conf
    34596878 4 -rw-r--r-- 1 root root 433 9月 9 2015 /etc/radvd.conf
    ........

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

    [root@localhost ~]# find /etc/init.d/ -perm -113 -type f -ls

    相关文章

      网友评论

          本文标题:find命令练习

          本文链接:https://www.haomeiwen.com/subject/ijjksxtx.html