find 路径 -命令参数 [输出形式]
参数前可加!代表取反
-exec
find命令对匹配的文件执行该参数所给出的其他linux命令。格式为find 文件名 -exec 命令 {} ;,注意{ }和\;之间的空格。
{}内的内容代表find查到的结果
eg:查找用户Andrew的所有文件并拷贝到/resultsfind / -user andrew -exec cp -rfp {} /results/ \;
-ok
和- exec的作用相同,只不过和会人交互而已,OK执行前会向你确认是不是要执行。
-name
按照文件名查找文件。
-perm
按照文件权限来查找文件。-perm -mode
有三种用法(mode为权限数字如755)
-perm /mode
选择部分满足的文件
eg:找出/etc/下没有写权限w的文件(即属主属组其他用户都没有写权限)find /etc/ -type f ! -perm -222 -exec ls -l {} \;
写权限二进制为010八进制为2,mode为222部分满足即可表示有写权限(020,720,644均可),加!表示没有写权限。
-perm mode
选择完全等于mode的文件
eg:查找/etc下权限为755的文件find /etc/ -type f -perm 755
必须于mode完全相等
-perm -mode
选择大于等于mode的文件
eg:查找/tmp?录下,所有?户都有执?权限,且其它?户有写权限的?件find /tmp/ -type f -perm -113
结果权限可以比mode高
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。
-user
按照文件属主来查找文件。
-group
按照文件所属的组来查找文件。
-mtime -n +n
按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-mtime选项相似。
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改时间比文件file1新但比文件file2旧的文件。
-type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
-size n[cwbkMG]
文件大小 为 n 个由后缀决定的数据块。其中后缀为:
b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
c: 表示字节数
k: 表示 kilo bytes (1024字节)
w: 字 (2字节)
M:兆字节(1048576字节)
G: 千兆字节 (1073741824字节)
-depth
在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-maxdepth
查找最大目录层数 如 1,即只查找一层目录
-fstype
查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件
/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-empty
搜索空文件或空目录