按照文件的属性查找
按照文件名查找
$ find directory -name "file-name"
- directory 查找的目录
- "file-name" 文件的名字,不加双引号也可以,但是很可能会报错
按照文件大小查找
$ find directory -size [+/-size]
- directory 查找的目录
- +size 大于size的文件
- -size 小于size的文件
# 查找directory2目录下小于100k的所有文件
$ find /directory1/directory2 -size -100k
# 查找directory2目录下大于10k的所有文件
$ find /directory1/directory2 -size +10k
# 查找directory3目录下大于10k小于100k的所有文件
$ find /directory1/directory -size +10k -size -100k
注意: k是小写,M,G等是大写
按照文件类型查找
$ find directory -type d/f/b/c/s/p/l
directory 目录
d 目录
f 普通文件
b block块设备
c char字符
s socket套接字
p FIFO管道
l 软硬链接
# 查找FIFO管道
$ find /directory1/directory2 -type p
按照文件内容检索
grep -r "file-name" path
-r 递归查找
file-name 文件的名字,最好加双引号,不加也可以,但是可能会报错
path 查找路径
* 出现在file-name中,表示缺省查找,可以缺省前面的字母和后面字母之间的内容
? 出现在file-name中,表示缺省查找,只能缺省一个字符
# 在/directory1/directory2路径下查找内容为“abcdefghijklmn”的文件
$ grep -r "abcdefghijklmn" /directory1/directory2
# 在/directory1/directory2路径下缺省查找内容为“abcdefghijklmn”的文件
$ grep -r "abcd*lmn" /directory1/directory2
$ grep -r "abc?def??ijkl?n" /directory1/directory2