Linux系统下的find命令在目录结构中搜索文件,并执行指定的操作。Linux系统下find命令提供了很多的查找条件,功能很强大。即使系统中含有网络文件系统,find命令在该文件系统中同样有效。本篇博客主要讲解一些常用的find命令。
find命令的指令格式如下:
find pathname [-options] [...] ***
- pathname: 要查找的目录
- [-options]:查找方式
- [...]:查找方式对应的查找条件
- ***:搭配使用的命令
find命令的常用选项及实例:
-name:
按照文件名查找文件。例如:在Linux目录下查找myfile文件;
-perm:
按照文件权限来查找文件。例如:在Linux目录下查找权限为755的文件;
-user:
按照文件所属的组来查找文件。例如:在Linux目录下查找属于admin的文件。
-group:
按照文件所属组来查找文件。例如:在code目录下查找属于admin所属组的文件。
-mtime -n +n:
按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改距现在n天以前。例如:查找4天内和4天以前更改的文件。
-nouser:
查找无有效所有者的文件。例如,在etc目录下查找不属于任何人的文件;
-nogroup:
查找无有效所属组的文件。寻在etc目录下查找不属于任何组的文件;
-type
查找某一类型的文件,例如:
b - 块设备文件。
d - 目录文件。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n[c]:
查找文件长度为n快的文件,带有c时表示文件长度以字节计算。例如 +1000c 表示大于1000字节的文件,-1000c小于1000字节的文件,1000c大小为1000字节的文件。
特别的:
find pathname [-option] [...] -exec [...] {} \;
- -exec代表搭配指令的起始,\:代表搭配指令的结束。
- {}表示将查到的内容写入{}中。
- [...]表示搭配的指令。
例如:在Linux目录下查找所有者为admin的所有文件,并以ls -l 的形式输出到屏幕。