find命令

find 路径 -命令参数 [输出形式]

参数前可加!代表取反

-exec

find命令对匹配的文件执行该参数所给出的其他linux命令。格式为find 文件名 -exec 命令 {} ;,注意{ }和\;之间的空格。
{}内的内容代表find查到的结果
eg:查找用户Andrew的所有文件并拷贝到/results
find / -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

搜索空文件或空目录

find命令

上一篇:linux sed使用


下一篇:FEM物理引擎解析