linux系统中find(查找)命令的使用方法

 用find查找文件

locate问世之前,用户主要使用find命令查找文件。locate查找文件的速度更快,不过根据属性而非名称查找文件时,find提供的选项更多、更强大。

注意 搜索整个文件系统可能会花费很长时间。搜索整个文件系统之前,不妨先搜索文件系统的某个子集,或者排除某些特定目录或远程挂载的文件系统。

下面的示例会递归搜索整个根文件系统(/),查找名为e100的文件:

$ find / -name "e100*" -print find: /usr/lib/audit: Permission denied find: /usr/libexec/utempter: Permission denied /sys/module/e100 /sys/module/mii/holders/e100 普通用户运行find时可能会产生大量"无权访问"(Permission denied)提示信息,原因是find试图进入用户不能访问的目录。用下面的命令行可以滤除不能访问的目录:

$ find / -name e100 -print 2>&1 | grep -v "Permission denied" 或者将所有错误发送至/dev/null位元桶:

$ find / -name e100 -print 2> /dev/null find查找文件时区分大小,且搜索结果与要查找的文件名必须完全一致(e100与e100.ko并不匹配),不过搜索时可以使用正则表达式,以便找到尽可能多的结果。示例如下:

$ find / -name 'e100*' -print /lib/modules/2.6.20-1.2982.fc7/kernel/drivers/net/e1000 此外还可以根据时间戳查找文件,下面的命令行查找/usr/bin/目录下过去两分钟内访问过的文件:

$ find /usr/bin/ -amin -2 -print /usr/bin/ /usr/bin/find 下面的示例则查找/home/chris目录下过去60天里未访问过的文件:

$ find /home/chris/ -atime +60 使用-type d选项可以查找目录。下面的命令行会找出/etc下的所有目录,同时将stderr重定向至位元桶(/dev/null):

$ find /etc -type d -print 2> /dev/null 下面的命令行查找/sbin目录下权限为750的文件:

$ find /sbin/ -perm 750 -print find的exec选项非常强大,通过该选项,用户可以进一步处理find命令查找到的文件。下面的命令查找/var下用户francois(必须为有效用户)所属文件,并对每个文件执行ls -l命令:

$ find /var -user francois -exec ls -l {} \; find命令exec选项的替代方案是xargs:

$ find /var -user francois -print | xargs ls -l 上面这两个命令在具体操作上区别较大,性能差异也非常明显。find -exec会对每个找到的结果调用一次ls命令,而xargs命令则是将大量结果作为输入传给一个ls命令,显然效率更高。

搜索条件前面加上叹号(!)可以对搜索条件取反。下面这个例子首先查找不属于root用户组的所有普通文件,然后对这些文件执行ls -l命令:

$ find / ! -group root -type f -print 2> /dev/null | xargs ls -l 下面的例子查找/sbin目录里其他用户不可执行的普通文件,并将查找结果传给ls -l命令:

$ find /sbin/ -type f ! -perm /o+x -print | xargs l

s -l -rwxr-x--- 1 root root 295884 2007-03-02 17:44 /sbin/audispd -rwxr-x--- 1 root root 88024 2007-03-02 17:44 /sbin/auditctl 要确定哪些文件占用大量硬盘空间,按尺寸查找文件是个不错的选择。下面的命令行查找所有大于10 MB(+10M)的文件,从大到小列出这些文件的详细信息(ls -lS),并将结果保存至文件/tmp/bigfiles.txt:

$ find / -xdev -size +10M -print | xargs ls -lS > /tmp/bigfiles.txt 上面的示例在搜索时加上-xdev选项,排除所有挂载的文件系统,包括根文件系统在内。这样一来,find命令就不用搜索/proc目录和本地及远程挂载的文件系统。



相关文档
最新文档