shell编程四剑客之find
find工具主要用于操作系统文件、目录的查找、语法格式:
find path option [ -print ] [ -exec -ok command ] {} \;
其中-exec和xargs含义相似,只不过用法不同。 xargs前需加管道符“|”
其中option常用参数详解如下:
-name filename 查找名为filename的文件。
-type b/d/c/p/l/f 查找块设备、目录、字符设备、管道、符号链接、普通文件。
-size n[c] 查找长度为n块【或n字节】的文件。
-perm 按文件权限来查找。
-user username 按文件属主来查找。
-group 按文件属组来查找。
-nouser 查找无效属主的文件。
-nogroup 查找无效属组的文件。
-mtime -n +n 按照文件更改时间来查找文件 ,-n是指n天以内。+n是指n天以前。
-atime -n +n 按照文件访问时间来查找文件 。
-ctime -n +n 按照文件创建时间来查找文件。
-mmin -n +n 按照文件更改时间来查找文件 ,-n是指n分钟以内。+n是指n分钟以前。
-amin -n +n 按照文件访问时间来查找文件 。
-cmin -n +n 按照文件创建时间来查找文件。
-newer f1 ! f2 查找更改时间比f1新但比f2旧的文件。
-depth 查找在进入子目录前先行查找完本目录。
-fstype 查找更改时间比f1新但比f2旧的文件。
-mount 查找文件时不跨越文件系统mount点。
-prune 忽略某个目录。
-maxdepth 查找目录级别深度。
-cpio 查找位于某一类型文件系统中的文件。
-follow 跟踪符号链接文件。
(1)find -name
find /home -name "*.log" 查找home目录下以log结尾的文件。
find /home -name "[A-Z].*" 查找home目录以大写字母开头的文件。
find /home -name "nginx.*" 查找home目录下以nginx开头的文件。
(2) find -type
find /home -type d 查找home目录下的文件夹
find /home ! -type d 查找home目录下的非文件夹
find /home -type l 查找home目录下的链接文件
find /home -type d | xargs chmod 755 -R 查找home目录下的文件夹并修改权限为755。
find /home -type f | xargs chown root:root -R 查找home目录下的文件并修改属组属主为root。
(3)find -size
find /home -size -1M 查找home目录下小于1M的文件
find /home -size +1M 查找home目录下大于1M的文件
find /home -size 1M 查找home目录下等于1M的文件
(4)find -perm
find /home -perm 755 查找home目录下权限为755的文件。
find /home -perm -007 与-perm 777相同 查找home目录下权限为777的文件。
find /home -perm +655 查找home目录下权限为655以上的文件。
(5) find -mtime
find /home -mtime -100 -name "*.txt" 查找home目录下100天以内的文件。
find /home -mtime +100 -name "*.txt" 查找home目录下100天以前的文件。
find /home -amin -30 -name "*.txt" 查找home目录下30min以内被访问文件。
find /home -ctime -100 -name "*.txt" 查找home目录下100天以内创建的文件。
find /home -cmin -100 -name "*.txt" 查找home目录下100min以内创建的文件。
(6) find
find /home -type f -name "*.log" -size +100k -exec cp {} /tmp/ \;
查找home目录下以log结尾,大于100k的文件并复制到tmp目录下。
find /home -type f -name "*.log" -perm 655 -size +200k | xargs rm -rf
查找home目录下以log结尾,大于100k,权限为655的文件并删除。
find /home -type f -name "*.log" -mtime +30 -size +100M -exec mv {} /tmp/ \;
查找home目录下30天以前,以log结尾,大于100M的文件并移动到tmp目录下
-----------------------------------------------------------------
作者:干嘛那么贪睡
----------------------------------------------------------------
如果觉得这篇文章对您有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
本文版权归作者和博客园共有,欢迎转载哦;如博文中有任何错误,欢迎博客们留言或联系本人,本人尽快修改。
谢谢大家支持! ! !
------------------------------------------------------------------


浙公网安备 33010602011771号