有时可能需要在系统中查找具有某一特征的文件 (例如文件权限、文件属主、文件长度、文件类型等等)。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任务,或许只是为了找出一个不知保存在什么地方的文件。 find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。
在此介绍以下内容:
find命令选项。
使用find命令不同选项的例子。
配合find使用xargs命令的例子。
由于find具有如此强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间
来了解一下。即使系统中含有网络文件系统 (NFS ),find命令在该文件系统中同样有效,只要
你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一
个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
find命令的一般形式为:
find pathname -options [-print -exec -ok]
让我们来看看该命令的参数:
pathname find命令所查找的目录路径。例如用。来表示当前目录,用/来表示系统根目录。
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的 shell命令。相应命令的形式为 ‘comm
and’ {} \;,注意{ }和\;之间的空格。
-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的 shell命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
1 find命令选项
find命令有很多选项或表达式,每一个选项前面跟随一个横杠 -。让我们先来看一下该命
令的主要选项,然后再给出一些例子。
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了 -depth
选项,那么-prune选项将被find命令忽略。