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"