概要
find [-H] [-L] [-P] [path...] [expression]
名称
查找 - 在目录层次结构中搜索文件
常用选项
-iname pattern Like -name, but the match is case insensitive. -name pattern Base of file name (the path with the leading directories removed) matches shell pattern pattern. -mmin n File's data was last modified n minutes ago. -size n[cwbkMG] File uses n units of space. The following suffixes can be used: -exec command ; Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the command until an argument consisting of `;' is encountered. -type c File is of type c: b block (buffered) special c character (unbuffered) special d directory p named pipe (FIFO) f regular file l symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype. s socket D door (Solaris)
示例
find命令的执行可能会变得非常复杂。我们可以写一本关于find命令可以使用的选项和参数数量的书。首先,我们可以尝试搜索文件。我忘了resolv.conf文件隐藏在哪里了。我们可以尝试在/目录中找到它。在本例中,我将把标准错误重定向到/dev/null,请随意运行find命令而不使用它。语法如下所示,find(实际命令)where(/)和what(-name resolv.conf):
$ find / -name resolv.conf
假设/tmp目录中有两个文件:file和File。Unix系统区分大小写,因此file和File是两个不同的文件。touch命令可以帮助我们创建这些文件:
$ touch /tmp/file /tmp/File
默认情况下,查找命令仅搜索完全匹配:
$ find /tmp -name file
要查找命令不区分大小写,我们可以使用-iname选项。
$ find /tmp -iname file
要查找在过去20分钟内创建的文件我们可以使用-mmin选项:
$ find /tmp/ -mmin -20
在根据访问时间搜索文件时,下表可能会有所帮助:
Options | 描述 |
---|---|
-atime -3 | 最后一个上次访问的文件不到3天前 |
-atime +5 | 所有上次访问超过5天前访问的文件 |
-atime 4 | 最后4天前访问的所有文件 |
让我们查找具有特定大小的文件。在本例中,我们在/var/log中搜索大小为8K的文件:
$ find /var/log/ -size 8k
我们还可以指示find命令对找到的每个文件执行某些命令。允许将/tmp目录中的文件和文件的权限更改为chmod 777。
$ find /tmp -iname file -exec chmod 777 {} \;
“find”还可以搜索某些类型的文件。例如,如果要查找符号链接,可以使用-type选项运行find命令:
$ find / -maxdepth 1 -type l
日期:2020-07-07 20:54:47 来源:oir作者:oir