浅谈find指令

1. find命令语法

find path -option [ -print ] [ -exec -ok command ]

其中,path是路径,即指令在path指定的路径下查找;-option是选项,常用的有-name等。

如:以下指令在/etc下查找名字为default的文件。

以下命令查找当前目录下的名字叫做file1的文件。

 

2. find命令的各种选项

2.1 -amin -n与 -atime -n

-amin -n 用于查找在过去n分钟内被读取过的文件。比如-amin -3,-amin -11等。

 如:以下命令查找在当前目录下20分钟内读取过的文件。

 

 

和-amin -n 类似,-atime -n用于查找在过去n内被读取过的文件。比如-amin -3,-amin -11等。

如:以下命令用于查找在当前目录下3天内被读取过的文件。

 2.3 -cmin -n 与 -ctime -n

与以上两个指令类似,a为“access”,读取,c为“change”,修改。这两个命令用于查找在过去n分钟(n

天)内被修改过的文件。

 

 

 以上四个指令中的 -20,-1,-3 等还可以换成“+20,+1,+3”,表示“超过20分钟(天),超过1分钟(天),

超过3分钟(天)”。

2.4 按文件大小查找 -size

以下指令查找/etc下大小小于2字节的文件。

 

 

2.5 -a(and) 与 -o(or)

可以用选项-a (and) 及选项-o (or) 来限定要查找的文件的大小范围:

以下指令查找大与16字节小于24字节的文件:

 

 

 以下指令查找小于1字节或大于65536字节的文件:

 

不只是文件大小有关可以用,其他的也可以。比如我们查找名字叫testfile或5分钟内访问过的文件(当然实际很少会

这样用):

 

 3.-name查找时使用通配符“*”及“?”

可以用星号“*”匹配文件名的多个字符,用问号“?”匹配文件名的一个字符。如果我们不想输入文件的全名,就可以使用通配符进行匹配。

如查找文件testfile时,可以这样:*t*。第一个*号可以匹配“test”,第二个*号可以匹配"ile"。还可以这样:????f???。前四个问号分别匹配

 "t" "e" "s" "t",后三个问号分别匹配"i" "l" "e"。如下图所示: 

 

 4.  使用-iname不区分大小写查找

在当前目录下,我们有三个文件名相同,大小写不同的文件:

 

 若不区分大小写查找,我们可以使用以下指令:

find ./ -iname testfile

 

 再对比一下-name的查找:

 

posted @ 2022-01-31 15:46  Ann-  阅读(437)  评论(0编辑  收藏  举报