GO在线工具集
首页
搜索
致Boss

find命令速查
1  |   |   |  0

find 常用命令备忘

find 命令用于在目录层次结构中搜索文件和目录。

基本搜索
# 在当前目录及子目录中按名称查找文件 (区分大小写)
find . -name "test.txt"

# 按名称查找文件 (忽略大小写)
find . -iname "test.txt"

# 查找所有以 .log 结尾的文件
find . -name "*.log"

# 按正规表达式查找
find . -regex ".*\.js"
按类型查找
# 查找目录 (d: directory)
find . -type d -name "src"

# 查找普通文件 (f: file)
find . -type f -name "*.config"

# 查找符号链接 (l: link)
find . -type l
按大小查找
# 查找大于 100MB 的文件
find . -type f -size +100M

# 查找小于 10k 的文件
find . -type f -size -10k

# 查找正好 1G 的文件
find . -type f -size 1G

# 查找空文件或空目录
find . -empty
按修改时间查找
# 查找在过去 24 小时内修改过的文件 (n*24小时)
find . -mtime -1

# 查找在 7 天前修改过的文件
find . -mtime +7

# 查找在过去 10 分钟内修改过的文件 (minutes)
find . -mmin -10

# 查找在过去 1 小时内访问过的文件 (atime)
find . -atime -1

# 查找在过去 1 小时内状态改变的文件 (ctime, 如权限修改)
find . -ctime -1
按权限与所有者查找
# 查找权限为 777 的文件
find . -perm 777

# 查找所属用户为 root 的文件
find . -user root

# 查找所属组为 developers 的文件
find . -group developers
组合搜索 (逻辑运算)
# AND (默认): 查找名为 code 且类型为目录
find . -name "code" -type d

# OR: 查找以 .sh 或 .py 结尾的文件
find . \( -name "*.sh" -o -name "*.py" \)

# NOT: 查找不是以 .txt 结尾的文件
find . ! -name "*.txt"
找到后执行操作 (exec & delete)
# 查找并删除所有 .tmp 文件 (慎用)
find . -name "*.tmp" -delete

# 查找并列出详细信息 (对每个找到的文件执行 ls -l)
find . -name "*.txt" -exec ls -l {} \;

# 查找并移动到指定目录
find . -name "*.mp3" -exec mv {} /tmp/music/ \;

# 查找并更改权限
find . -type d -exec chmod 755 {} \;

# 查找包含特定内容的文件 (结合 grep)
find . -type f -name "*.txt" -exec grep -l "search_term" {} +
深度控制
# 仅在当前目录查找 (不进入子目录)
find . -maxdepth 1 -name "*.js"

# 至少跳过两级子目录
find . -mindepth 3 -name "*.log"