Linux之find命令

Linux之find命令

find 命令用于在指定的目录下搜索目录和文件。可根据文件名、文件类型、文件大小、修改时间等条件进行筛选。

基本语法

1
find 目录路径 [选项参数] [搜索条件]
  • 目录路径:指定要查找的目录路径。
  • 选项参数:用于指定匹配条件,例如文件名、类型。
  • 搜索条件:用于指定要搜索的文件和目录,满足这个条件的就会被搜索出来。

选项参数

-name

按文件名进行匹配

1
2
# 搜索后缀为txt的文件
find / -name "*.txt"

-type

按文件类型进行匹配

d: 目录、f: 文件、l: 符号链接(软链接)

1
2
# 搜索文件类型为目录的文件
find / -type d

-size

按文件大小进行匹配

+ : 大于、- :小于

单位: c(字节)、w(字数)、b(块数)、k(KB)、M(MB)、 G(GB)

1
2
# 搜索大于100KB的文件
find / -size +100c

-user

按文件所属用户进行匹配。

1
2
# 搜索属于root用户的文件
find / -user root

-mtime

按文件最后内容的修改时间进行匹配

+ : 几天之内、- : 几天之前

单位: 天

1
2
# 搜索修改日期为7天前的文件
find / -mtime -7

-perm

按文件权限进行匹配

/u: 当前用户、/g: 组权限、/o: 其他用户权限、/a: 所有用户权限

+ : 具有、- : 不具有

r: 读权限、w: 写权限、x: 执行权限

1
2
# 查找具有读写权限的文件
find / -perm /u+rw

-exec

对搜索的结果执行命令

1
2
# 将后缀为txt的文件删除
find / -name "*.txt" -exec rm {} \;

{}为占位符,将搜索的结果放到这里

-exec 参数需要使用 \; 作为命令的结尾

如果对您有帮助,可以打赏呦!