日期:2014-05-16  浏览次数:20664 次

Linux命令之find

find 命令用于在目录中搜索文件,类Unix系统中一切皆文件
一般形式为:find dir -options keyword [-pirnt -exec -ok]

如:注意要有相应权限,否则会报错
??? find
??????? 在不带任何参数的时候会列出当前目录下的所有文件
??? sudo find /etc/ -name vimrc
??????? 查找在/etc/目录下是否存在名为vimrc的文件
??? 也可以使用通配符
??? find /etc/ -name "*rc"
??????? 查找在/etc/目录下以rc结尾的所有文件
??? 也可以在多个目录查找
??? find /etc /usr/share -name "vimrc"

-print 在有些系统中如果不在最后加上-print则只是查找,并不会输出结果到标准输出
-exec 查找到后文件件,可能会要针对文件执行某种操作
??? 如:sudo find /etc? -name "wget*" -exec ls -l {} \;
??????? 查看找到文件的详细信息,注意"}"和"\"之间要有一个空格分隔
-ok 同exec不过在执行操作是会提示,是否执行

常用选项有:
??? -name 根据文件名来查找
??? -user 根据文件拥有者查找
??? -group 根据文件所有组查找
??? -type 查找某一类型的文件,诸如:

??????? b - 块设备文件。
??????? d - 目录。
??????? c - 字符设备文件。
??????? p - 管道文件。
??????? l - 符号链接文件。
??????? f - 普通文件。
??? -mtime 根据文件最后修改时间查找
??? -mtime -n 表时n天以内修改的,+n表示n天以前修改的

更多内可以参考:http://www.linuxsir.org/main/?q=node/137