find 命令速查表
把 Linux find 命令最常用的查找条件和操作整理成速查表,找文件时对照查。
返回 系统与运维按名称查找 By Name 5
find . -name "file.txt"按文件名查找(支持通配符)
find . -iname "file.txt"忽略大小写查找
find . -name "*.log"查找所有 .log 文件
find . -name "file*"查找 file 开头的文件
find /var/log -name "*.gz"在指定目录查找
按类型查找 By Type 5
find . -type f只查找普通文件
find . -type d只查找目录
find . -type l只查找符号链接
find . -type f -name "*.sh"查找 .sh 文件
find . ! -type d排除目录(查找非目录)
按大小查找 By Size 5
find . -size +100M查找大于 100MB 的文件
find . -size -1k查找小于 1KB 的文件
find . -empty查找空文件或空目录
find . -size 0查找大小为 0 的文件
find . -size +10M -size -100M查找 10MB 到 100MB 之间的文件
按时间查找 By Time 5
find . -mtime -7查找 7 天内修改过的文件
find . -mtime +30查找 30 天前修改的文件
find . -mmin -60查找 60 分钟内修改的文件
find . -atime -1查找 1 天内访问过的文件
find . -newer file.txt查找比 file.txt 更新的文件
按权限查找 By Permission 4
find . -perm 755查找权限恰好为 755 的文件
find . -perm -u+x查找用户有执行权限的文件
find . -perm /o+w查找其他人有写权限的文件
find . -perm -g=w查找组有写权限的文件
执行操作 Actions 6
find . -name "*.tmp" -delete删除匹配的文件
find . -name "*.sh" -exec chmod +x {} \;对每个文件执行命令
find . -name "*.log" -exec rm {} +批量执行命令(更高效)
find . -name "*.txt" -print打印匹配的文件路径
find . -name "*.bak" -ok rm {} \;执行前逐个确认
find . -type f -exec ls -lh {} + | sort -k5 -rh按大小排序
💡 提示
- find 默认递归查找当前目录及子目录,用 -maxdepth 1 限制只查当前目录。
- -exec 用 {} 代表找到的文件,\; 表示每个文件执行一次,+ 表示批量执行。
- 删除文件前先用 -print 确认匹配结果,避免误删。