Linux命令:find

Lasted 2019-12-12 16:49:40

find 命令常用于按条件查找系统中文件或目录。可以按各种条件进行过滤,比如系统权限用户文件类型时间等。

通过这篇文章,我们会介绍find命令常用的参数和案例。

常用选项参数

  • -name 指定文件或目录名称。
  • -type 指定文件类型,[ f 普通文件、l 符号连接、d 目录、c 字符设备、b 块设备、s 套接字]。
  • -maxdepth<目录层级> 指定寻找目录深度,数字。
  • -atime 指定访问时间,按天。
  • -mtime 指定修改时间,按天。
  • -ctime 指定变化时间,按天。
  • -size 根据文件大小过滤,[ b 块、c 字节、w 字、k 千字节、M 兆字节等 ]。

常用命令介绍

1. 在当前目录下根据名称查找

在当前目录下查找所有 docsxyz.txt 的文件

#查找文件
find . -name docsxyz.txt

2. 根据名称查找文件忽略大小写

/home目录下按名称docsxyz.txt查找所有文件,忽略名称的大小写

find /home -iname docsxyz.txt

./docsxyz.txt
./Docsxyz.txt

3. 根据名称查找目录

查找 / 目录下所有名称为 Docsxyz 的目录

find / -type d -name Docsxyz

/Docsxyz

4. 查找当前目录下所有PHP文件

查找当前面目录下所有 php 文件

# find . -type f -name "*.php"

./docsxyz.php
./login.php
./index.php

5. 根据文件权限查找

查找所有权限为 777 的文件

find . -type f -perm 0777 -print

6. 查找只读文件

查找当前目录下所有只读文件

find . -perm /u=r

7. 查找可执行文件

查找当前目录下所有可执行文件

find . -perm /a=x

8. 查找并删除文件

查找当前目录下 docsxyz.txt,并删除文件

find . -type f -name "docsxyz.txt" -exec rm -f {} \;

9. 查找所有空文件

查找 /tmp 目录下所有为空的文件

find /tmp -type f -empty

10. 查找隐藏文件

根据名称查找所有隐藏文件

find /tmp -type f -name ".*"

11. 查找最近10天修改的文件

查找当前目录下所有最近10修改的文件

find . -mtime 10

 12. 查找最近10天访问的文件

查找当前目录下所有最近10访问的文件

find . -atime 10

 13. 查找最近10-40天修改的文件

查找当前目录下所有最近10-40修改的文件

find . -mtime +10 –mtime -40

 14. 查找最近1小时修改的文件

查找当前目录下所有最近1小时修改的文件

find . -mmin -60

 15. 查找10M的文件

查找当前目录下所有10M的文件

find . -size 10M