标签:linux find
find - search for files in a directory hierarchyfind [OPTIONS] [查找起始路径] [查找条件] [处理动作]
-nogroup:查找没有属组的文件;
根据文件的类型查找:-type TYPE:
组合:
根据文件的大小查找:
根据时间戳查找:
根据权限查找:-perm [/|-]mode;0表示不参与
找出/tmp目录下属主为非root的所有文件
[root@localhost ~]# find /tmp/ -not -uid 0 -ls
[root@localhost ~]# find /tmp/ -not -user root -ls
查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@localhost test]# find /var/ -user root -group mail
find /var/ -uid 0 -group mail
文件大小查找
[root@localhost test]# ll -h
总用量 52K
-rw-------. 1 root root 24K 4月 22 13:31 messages
-rw-------. 1 root root 25K 4月 22 13:31 messages.bak
[root@localhost tmp]# find ./ -size -25k -ls
[root@localhost tmp]# find ./ -size 25k -ls (24k,25k] 24k< x <=25k
./messages.bak
[root@localhost test]# find ./ -size -25k -type f [0,24k] 0<= x <=24k
./messages
[root@localhost test]# find ./ -size +24k -type f [25k, ] 25<= x
./messages.bak
按照文件时间来查找
[root@localhost test]# date
2018年 04月 22日 星期日 13:49:30 EDT
[root@localhost test]# find /etc/ -type f -atime 3 -ls
[root@localhost ~]# stat /etc/kdump.conf
File: ‘/etc/kdump.conf’
Size: 7265 Blocks: 16 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 17265603 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:kdump_etc_t:s0
Access: 2018-04-18 23:03:40.914728405 -0400
Modify: 2018-04-16 13:12:52.585009262 -0400
Change: 2018-04-16 13:12:52.585009262 -0400
Birth: -
查找/usr目录下不属于root, bin或zander的所有文件或目录;
[root@localhost test]# find /usr -not \( -user root -o -user bin -o -user zander \)
[root@localhost test]# find /usr -not -user root -a -not -user bin -a -not -user zander
查找/etc目录下最近一周内其内容修改过,且属主不是root用户也不是zander用户的文件或目录;
[root@localhost test]# find /etc/ -mtime -7 -a -not -user root -a -not -user zander
[root@localhost test]# find /etc/ -mtime -7 -a -not \( -user root -o -user zander \)
查找当前系统上没有属或属组,且最近一周内曾被访问过的文件或目录;
[root@localhost test]# find / \( -nouser -o -nogroup \) -a -atime -7
查找/etc目录下大于1M且类型为普通文件的所有文件;
[root@localhost test]# find /etc/ -size +1M -type f -exec ls -lh {} \;
查找/etc目录下所有用户都没有写权限的文件;
先找任何一个有写权限 && 取反
[root@localhost test]# find /etc/ -not -perm /222 -type f -exec ls -lh {} \;
查找/etc目录至少有一类用户没有执行权限的文件;
所有用户都有权限 && 取反
[root@localhost test]# find /etc/ -not -perm -111 -type f -exec ls -lh {} \;
查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的所有文件;
[root@localhost test]# find /etc/init.d/ -perm -111 -a -perm -112 -type f -ls
[root@localhost test]# find /etc/init.d/ -perm -113 -type f -ls
找出/tmp目录下文件名中不包含fstab字符串的文件
[root@localhost ~]# find /tmp/ -type f -not -name ‘*fstab*‘
找出/tmp目录下属主为非root,而且文件名不包含fstab字符串的文件
[root@localhost ~]# find /tmp/ -not -name ‘*fstab*‘ -not -user root
标签:linux find
原文地址:http://blog.51cto.com/marvin89/2106127