find 命令小结

来源:互联网 发布:新域名在线估值 编辑:程序博客网 时间:2024/06/07 01:41

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选项一起使用。

如图所示:

0 0