find命令
查找文件或者目录。
一般格式为:
find pathname -options [-print -exec -ok ...]
● 如果pathname为“.”,则表示查找当前目录
例如,执行命令:
find .
会把当前目录中所有的文件及其目录树列出来。
如图所示:
● 如果pathname为“/”,则表示查找根目录
例如,执行命令:
find /
会把根目录中所有的文件及其目录树列出来。
■ -user 选项
根据指定文件的拥有者来查找。
例如执行:
find program/ -user root
查找文件拥有者是root,而且在目录program下的文件及其目录树。
如图所示:
■ -group 选项
根据指定文件的拥有者来查找。
例如执行:
find *.* -group root
查找文件所属组是root下的所有带有扩展名的文件。
如图所示:
■ -nogroup 选项
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
■ -nouser 选项
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
■ -gid n 选项
查找指定目录中组ID为n的所有文件及其目录。
例如执行:
find shirdrn/ -gid 0
如图所示:
■ -mtime 选项
● -mtime -n 选项
表示查找:从现在算起,n天之内修改过(last modified)的文件或者目录。
例如执行:
find -mtime -1
查找1天(24小时)内修改过(last modified)的文件或者目录。
如图所示:
● -mtime +n 选项
表示查找:从现在算起,n天之前修改过(last modified)的文件或者目录。
例如执行:
find -mtime +5
查找5天(5*24小时)以前修改过(last modified)的文件或者目录。
● -mtime n 选项
表示经确定指定天数的查找:从现在算起,第n天修改过(last modified)的文件或者目录。
例如执行:
find -mtime 2
查找第2天(2*24小时)修改过的文件或者目录。
如果当前时间为2008-06-21 20:00,则执行上面的命令,查找的文件的范围为2008-06-19 20:00 — 2008-06-20 19:00内被修改过的文件。
■ -ctime 选项
和-mtime选项一样(只是:-mtime是last modified,-ctime是文件状态被修改过(last changed)。
可见-ctime选项的范围要比-mtime广泛一些。
● -ctime -n 选项
表示查找:从现在算起,n天之内文件状态被修改过(last changed)的文件或者目录。
例如执行:
find -ctime -1
查找1天(24小时)内文件状态被修改过(last changed)的文件或者目录。
● -ctime +n 选项
表示查找:从现在算起,n天之前文件状态被修改过(last changed)的文件或者目录。
例如执行:
find -ctime +5
查找5天(5*24小时)以前文件状态被修改过(last changed)的文件或者目录。
● -ctime n 选项
表示经确定指定天数的查找:从现在算起,第n天文件状态被修改过(last changed)的文件或者目录。
例如执行:
find -ctime 2
查找第2天(2*24小时)文件装态被修改过(last changed)的文件或者目录。
如果当前时间为2008-06-21 20:00,则执行上面的命令,查找的文件的范围为2008-06-19 20:00 — 2008-06-20 19:00内文件状态被修改过(last changed)的文件。
■ -amin 选项
● -amin -n 选项
表示查找:从现在算起,n分钟之内修被访问过(accessed)的文件或者目录。
例如执行:
find -amin -10
查找10分钟之内被访问过(accessed)的文件或者目录。
● -amin +n 选项
表示查找:从现在算起,n分钟之前被访问过(accessed)的文件或者目录。
例如执行:
find -amin +10
查找10分钟以前被访问过(accessed)的文件或者目录。
● -amin n 选项
表示经确定指定分钟时刻的查找:从现在算起,第n分钟被访问过(accessed)的文件或者目录。
例如执行:
find -amin 20
查找第20分钟被访问过(accessed)的文件或者目录。
■ -cmin 选项
● -cmin -n 选项
表示查找:从现在算起,n分钟之内文件状态被修改过( last changed)的文件或者目录。
例如执行:
find -cmin -10
查找10分钟之内文件状态被修改过(last changed)的文件或者目录。
● -cmin +n 选项
表示查找:从现在算起,n分钟之前文件状态被修改过(last changed)的文件或者目录。
例如执行:
find -cmin +10
查找10分钟以前文件状态被修改过(last changed)的文件或者目录。
● -cmin n 选项
表示经确定指定分钟时刻的查找:从现在算起,第n分钟文件状态被修改过(last changed)的文件或者目录。
例如执行:
find -cmin 20
查找第20分钟文件状态被修改过(last changed)的文件或者目录。
■ -mmin 选项
● -mmin -n 选项
表示查找:从现在算起,n分钟之内被修改过(last modified)的文件或者目录。
例如执行:
find -mmin -10
查找10分钟之内被修改过(last modified)的文件或者目录。
● -mmin +n 选项
表示查找:从现在算起,n分钟之前被修改过(last modified)的文件或者目录。
例如执行:
find -mmin +10
查找10分钟以前被修改过(last modified)的文件或者目录。
● -mmin n 选项
表示经确定指定分钟时刻的查找:从现在算起,第n分钟被修改过(last modified)的文件或者目录。
例如执行:
find -mmin 20
查找第20分钟被修改过(last modified)的文件或者目录。
■ -links n 选项
查找指定目录中,连接数为n的所有文件或者目录。
例如执行:
find program/ -links 5
查找目录program中连接数为5的目录或者文件。
如图所示:
■ -iname 选项
通过文件或目录名称进行匹配,不区分大小写。
例如执行:
find shirdrn/ -iname *n*.txt
find shirdrn/ -iname *N*.txt
查找结果是一样的。如图所示:
■ -name 选项
通过文件或目录名称进行匹配,区分大小写。可以使用通配符查找:?、*。
例如执行:
find shirdrn/ -name *n*.txt
find shirdrn/ -name *N*.txt
如图所示:
■ -prune 选项
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
■ -maxdepth n 选项
指定最大递归深度,当n=0时表示精确匹配。
如图所示:
■ -path 选项
通过路径匹配查找。可以使用通配符:?、*。
通常与-prune、-o、-print选项一起使用。
如图所示: