find命令小记

1. 按文件名查找

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

find . -name "example.txt"
  • . 表示从当前目录开始查找。
  • -name 指定文件名匹配条件。

查找当前目录及其子目录下所有以.log结尾的文件

find . -name "*.log"
  • * 是通配符,表示匹配任意字符。

2. 按文件类型查找

查找当前目录及其子目录下所有的目录

find . -type d
  • -type d 表示查找目录。

查找当前目录及其子目录下所有的普通文件

find . -type f
  • -type f 表示查找普通文件。

3. 按文件大小查找

查找当前目录及其子目录下所有大于1MB的文件

find . -type f -size +1M
  • -size +1M 表示文件大小大于1MB。

查找当前目录及其子目录下所有小于1KB的文件

find . -type f -size -1k
  • -size -1k 表示文件大小小于1KB。

4. 按修改时间查找

查找当前目录及其子目录下最近7天内修改过的文件

find . -type f -mtime -7
  • -mtime -7 表示文件在过去7天内被修改过。

查找当前目录及其子目录下超过30天未修改的文件

find . -type f -mtime +30
  • -mtime +30 表示文件在过去30天内未被修改过。

5. 按权限查找

查找当前目录及其子目录下所有权限为755的文件

find . -type f -perm 755
  • -perm 755 表示文件权限为rwxr-xr-x

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

find . -type f -executable
  • -executable 表示文件具有可执行权限。

6. 组合条件查找

查找当前目录及其子目录下所有大于1MB且在过去7天内修改过的文件

find . -type f -size +1M -mtime -7
  • 多个条件可以组合使用。

7. 执行操作

查找当前目录及其子目录下所有.log文件并删除

find . -name "*.log" -exec rm -f {} \;
  • -exec 后面跟要执行的命令,{} 表示当前匹配的文件名。
  • \; 表示命令结束。

查找当前目录及其子目录下所有.txt文件并打印其内容

find . -name "*.txt" -exec cat {} \;
  • 使用 cat 命令打印文件内容。

8. 排除特定目录

查找当前目录及其子目录下所有文件,但排除node_modules目录

find . -path "./node_modules" -prune -o -print
  • -path 指定要排除的路径。
  • -prune 表示跳过该路径。
  • -o 表示逻辑“或”。

9. 按用户或组查找

查找当前目录及其子目录下所有属于用户john的文件

find . -user john
  • -user 指定文件的所有者。

查找当前目录及其子目录下所有属于组users的文件

find . -group users
  • -group 指定文件所属的组。

10. 按深度查找

查找当前目录下(不包括子目录)所有文件

find . -maxdepth 1
  • -maxdepth 指定最大搜索深度。

推荐文章

Typora写作图片处理的两种方法

本地查看若只需要本地查看或者发给别人查看,则不需要上传...

b站嵌入代码示例-丹神擒哥

b站链接嵌入模板<iframe src=&qu...

评论区(暂无评论)

我要评论

昵称
邮箱
网址
0/200
没有评论
可按 ESC 键退出搜索

0 篇文章已搜寻到~