Linux非常强大的一个命令find

find 命令是 Linux 和 Unix 系统中非常强大的一个命令,用于在目录树中搜索文件,并执行指定的操作。它可以基于各种条件来搜索文件,比如文件名、文件类型、大小、修改时间等。

基本语法

find [搜索路径] [选项] [操作]
  • 搜索路径:指定 find 命令开始搜索的目录路径。如果省略,则默认为当前目录。
  • 选项:用来指定搜索的条件。
  • 操作:对符合条件的文件执行的操作。如果省略,则默认输出匹配的文件名。

常用选项

  • -name:按文件名搜索。
  • -iname:按文件名搜索,不区分大小写。
  • -type:按文件类型搜索(f 表示文件,d 表示目录,l 表示链接文件等)。
  • -size:按文件大小搜索。例如,+100M 表示大于 100MB 的文件。
  • -mtime:按文件内容最后修改时间搜索。例如,-mtime -7 表示在最近 7 天内修改过的文件。
  • -user:按文件属主搜索。
  • -group:按文件所属组搜索。
  • -exec:对符合条件的文件执行指定的 shell 命令。

示例

  1. 查找当前目录及子目录下所有名为 example.txt 的文件

    find . -name example.txt
    
  2. 不区分大小写查找名为 example.txt 的文件

    find . -iname example.txt
    
  3. 查找当前目录及子目录下所有的目录

    find . -type d
    
  4. 查找当前目录及子目录下所有大于 10MB 的文件

    find . -type f -size +10M
    
  5. 查找最近 7 天内修改过的文件

    find . -type f -mtime -7
    
  6. 对查找到的每个文件执行 ls -l 命令

    find . -type f -exec ls -l {} \;
    

    这里 {} 是一个特殊的字符串,对于每一个匹配的文件,find 命令会将 {} 替换为相应的文件名。\; 是命令的结束符,告诉 find 命令 -exec 选项到此结束。

  7. 查找空目录

    find . -empty -type d
    
  8. 查找空文件

    find . -empty -type f
    
  9. 查找空文件并删除

    find . -empty -type f -print -delete
    
  10. 查找空目录并删除

    find . -empty -type d -print -delete
    
  11. 查找权限

    find . -perm 755
    
  12. 查找所有者权限有读权限的目录或文件

    find . -perm -u=r
    
  13. 查找用户组权限有读权限的目录或文件

    find . -perm -g=r
    
  14. 查找其它用户权限有读权限的目录或文件

    find . -perm -o=r
    
  15. 通过所有者 和 所属组去查找文件

    find . -user xxx                 
    find . -group xxx
    

find 命令非常强大,通过组合不同的选项和条件,你可以几乎实现任何类型的文件搜索任务。

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值