linux每天一小步---find命令详解

时间:2024-10-06 22:35:26

1 命令功能

find命令用于搜索指定目录下的文件,并配合参数做出相应的处理。

2 命令语法

     find  搜索路径pathname 选项option 【-exec -ok -print  执行的命令command】 {} \;

pathname  find命令所查找的目录路径。

-print        find命令对匹配的文件输出到标准输出。

-exec        find命令对查找到的文件执行参数所给出的shell命令。相应命令的格式为 ‘command’ {} \;注意{}和\之间存在空格,\后有;存在。

-ok           和-exec的作用相同,只不过改选项以更为安全的模式来执行参数给出的shell命令,在执行每个命令之前都会给出提示。

3 命令参数

-name  filename    查找名为filename的文件

-perm    按权限来查找

-user  username    按文件属主来查找

-group groupname    按文件属组查找

-mtime -n +n    按文件修改时间来查找,-n指n天以内,+n指n天以前

-atime  -n +n     按文件访问时间来查找

-ctime  -n +n    按文件change即文件属性(权限,大小,属性)时间来查找

-nogroup    查找无有效属组的文件,即文件的属组在/etc/groups中不存在

-nouser    查找无有效属主的文件,及文件的属组在/etc/passwd中不存在

-newer file    查找指定目录下比file文件新的文件

-type b/d/c/p/l/f    查找是块设备、目录、字符设备、管道、符号链接、普通文件的文件

-size n   查找长度为n字节的文件

-mount    查找文件时不跨越文件系统mount点

-follow    查找遇到符号链接文件,就跟踪链接所指的文件

--maxdepth levels 查找文件或目录的深度。默认为在查找目录下查找所有文件或目录

-and/-a  表示逻辑与

-or/-o    表示逻辑或

! 表示逻辑非

4 使用范例

【1】 find ~ -name "*.txt"   在$HOME目录下查找.txt文件

【2】 find / -perm 755  在/目录下查找权限是755的文件或者目录

【3】 find / -perm 755 -exec ls -l {} \;  在/目录下查找755权限的文件或目录,并使用ls -l列出结果的属性信息

【4】 find / -type f   在/目录下查找文件类型的文件

【5】 find / -size 10c  在/目录下查找文件大小为10字节的文件

【6】 find / -name wa* -type l 在/目录下查找以wa开头且类型为符号链接的文件

【7】 find / -type  f  -mtime  +5  -exec  rm  {} \; 在/目录下找到修改时间为5天前的文件并删除

【8】 find ./ -anewer abc    查找文件访问时间比abc访问时间更新的文件

作者:linux每天一小步

出处:http://www.cnblogs.com/westoslinux

如果你真心觉得文章写得不错,而且对你有所帮助,不妨帮忙“推荐"一下,您的“推荐”将是我最大的写作动力!

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!