LINUX常用命令之find用法

  • A+

功能:用于查找目录及目录下的文件。

语法:find [路径][选项] [操作]

选项:

  1. -name  根据文件名查找  
  2. -perm  根据文件权限查找  
  3. -prune  该选项可以排除某些查找目录  
  4. -user  根据文件属主查找  
  5. -group  根据文件属主查找  
  6. -mtime -n | +n 根据文件更改时间查找  
  7. -nogroup  查找无效属组的文件  
  8. -nouser  查找无有效属主的文件  
  9. -newer file1 ! file2  查找更改时间比file1新但比file2旧IDE文件  
  10. -type  按文件类型查找  
  11. -size -n +n 按文件大小查找  
  12. -mindepth n 从n级子目录开始搜索  
  13. -maxdepth n  最多搜索到n级子目录  

实例:

  • 查找 /etc 目录下以 conf 结尾的文件,文件名区分大小写
  1. find /etc -name '*.conf'  
  • 查找当前目录下所有文件名为 aa 的文件,文件名不区分大小写
  1. [root@node02 ~]# find . -iname aa  
  2. ./aa  
  3. ./AA  
  4. [root@node02 ~]  
  • 查找文件所属用户为moonrong的所有文件
  1. [root@node02 home]# find . -user moonrong  
  2. ./moonrong  
  3. ./moonrong/.mozilla  
  4. ./moonrong/.mozilla/extensions  
  5. ./moonrong/.mozilla/plugins  
  6. ./moonrong/.bash_logout  
  7. ./moonrong/.bash_profile  
  8. ./moonrong/.bashrc  
  9. [root@node02 home]  
  • 查找文件所属组为moonrong的所有文件
  1. find . -group moonrong  

 -type  根据类型查找:如下

  1. f   文件        find . -type f  
  2. d  目录        find . -type d  
  3. c  字符设备文件    find . -type c  
  4. b  块设备文件     find . -type b  
  5. l   链接文件      find . -type l  
  6. p  管道文件      find . -type p  

 -size  根据文件大小查询

  1. -n  小于 大小为 n 的文件  
  2. +n  大于 大小为 n 的文件  
  • 查找 /ect 目录下,小于 10000 字节的文件
  1. find /etc -size +10000c  
  • 查找 /etc 目录下,大于 1M 的文件
  1. find /etc -size -1M  

  -mtime  

  1. -n  n 天以内修改的文件。  
  2. +n  n 天以外修改的文件。  
  3.  n  正好 n天 修改的文件  
  • 查询 /etc 目录下,5天以内修改 且以 conf 结尾的文件
  1. find /etc -mtime -5 -name '*.conf'  

查询 /etc 目录下,10天之前修改,且属于moonrong 的文件

  1. find /etc -mtime +10 -user moonrong  

 -mmin  

  1. -n  n 分钟以内修改过的文件  
  2.  +n  n 分钟之前修改过的文件  
  • 查询 /etc 目录下 30分钟 之前修改过的文件
  1. find /etc -mmin +30  
  • 查询 /etc 目录下 30分钟 之前修改过的目录
  1. find /etc -mmin -30 -type d  

-mindepth n  从第 n 级目录开始搜索

  • 从 /etc 的第三级子目录开始搜索
  1. find /etc -mindepth 3  

-maxdepth n  表示至多搜索到第 n-1 级子目录。

  • 在 /etc 中搜索符合条件的文件,但最多搜索到 2级 子目录
  1. find /etc -maxdepth 3 -name '*.conf'  
  2. find /etc -type f -name '*.conf' -size +10k -maxdepthc 2  
  • 将目前目录及其子目录下所有最近 20 天内更新过的文件列出
  1. find . -ctime -20  
  • 查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
  1. find /var/log -type f -mtime +7 -ok rm {} \;  
  • 查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
  1. find . -type f -perm 644 -exec ls -l {} \;  
  • 服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除
  1. find / -size +500M -print0|xargs -0 du -m|sort -nr  
moonrong
  • 版权声明:本站原创文章,于2020年10月20日17:26:22,由 发表,共 1950 字。
  • 版权声明: 本文由于2020年10月20日17:26:22 发表在 好派笔记,共 1950 字。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: