在linux系统中,find命令是一种功能强大且灵活的工具,用于在文件系统中搜索文件和目录。该命令提供了多种查找条件,使得用户可以根据不同的属性来定位目标文件或目录。
find命令的基本格式为:find pathname -options [-print -exec -ok...]
其中,pathname指定了find命令开始搜索的路径。例如,/home/tools/tongyan。
以下是一些常用的选项及其功能:
-
-print:将匹配的文件输出到标准输出。 -
-exec:对匹配的文件执行指定的shell命令。命令格式为'command' {} \;,其中{}表示find命令找到的文件名,\;表示命令结束。 -
-ok:与-exec类似,但执行前会提示用户确认。
find命令的常用查找条件包括:
-
-name filename:按文件名查找。 -
-perm:按文件权限查找。 -
-user username:按文件所有者查找。 -
-group groupname:按文件所属组查找。 -
-mtime -n +n:按文件修改时间查找,-n表示n天以内,+n表示n天以前。 -
-atime -n +n:按文件访问时间查找。 -
-ctime -n +n:按文件创建时间查找。 -
-nogroup:查找无有效属组的文件。 -
-nouser:查找无有效属主的文件。 -
-newer f1 !f2:查找更改时间比f1新但比f2旧的文件。 -
-type b/d/c/p/l/f:按文件类型查找,分别表示块设备、目录、字符设备、管道、符号链接、普通文件。 -
-size n[c]:按文件大小查找,n表示块数或字节数。 -
-depth:在进入子目录前先搜索当前目录。 -
-fstype:查找位于特定文件系统类型的文件。 -
-mount:不跨越文件系统挂载点查找文件。 -
-follow:跟踪符号链接文件。 -
-cpio:将匹配的文件备份到磁带设备中。 -
-prune:忽略某个目录。
具体查找方式包括:
-
按文件类型查找:
find test1 -type d
Linux命令之find的用法_文件系统 -
按文件名查找:
find test1 -name test2
Linux命令之find的用法_linux_02 -
按文件属主查找:
find test1 -user wangmengting
Linux命令之find的用法_grep_03
Tun2企业网站管理系统(支持静态生成)2.0.18下载Tun2企业网站管理系统是一套针对企业开发的CMS。它是一款具有专业级的功能和傻瓜式管理的网站站管理软件。Tun2追求的是简单与实用。它不同于大型门户CMS,繁杂并令人无从下手。因为它正对的用户是企业网站,所以它将更贴近企业本身【2.0.18更新说明】1、修复linux主机无法群发邮件的bug2、增加自定义栏目静态文件保存名、内容静态文件保存名& K6 V& N4
-
按文件所属组查找:
find test1 -group wangmengting
Linux命令之find的用法_修改时间_04 -
按文件修改时间查找:
find test1 -mtime -1
Linux命令之find的用法_find_05
其他查找方式这里不再一一展示。
如果查找结果过多,可以使用以下方法进行显示:
-
-print:将匹配的文件输出到标准输出,例如find /home -type f -print。
此外,还可以对查找结果进行额外操作:
-
-exec:对匹配的文件执行额外操作,例如find /test1 -name "test2.txt" -exec rm {} \;。其中{}表示find找到的文件,\;表示命令结束,\是转义字符。
关于-mtime参数的使用:
-
-mtime n:查找文件修改时间距今为n天的文件。 -
-mtime -n:查找文件修改时间距今在n天以内的文件。 -
-mtime +n:查找文件修改时间距今在n天以前的文件。
例如:
-
-mtime 0:查找文件修改时间距今不到1天的文件。 -
-mtime 1:查找文件修改时间距今1天的文件。 -
-mtime +1:查找文件修改时间距今大于1天的文件,即2天以上的文件。 -
-mtime -1:查找文件修改时间距今小于1天的文件。
需要注意的是,-mtime +1查找的是修改时间距今超过2天的文件,因为n只能是整数,+1表示大于1天,即大于24小时,最接近的整数是2,所以实际上是查找48小时以外的文件。









