find命令用法
- 語法:
1 find (選項) (參數)
- 常用選項:
1 -exec<執行命令>: 假設find指令的回傳值為True,就執行該指令; 2 -ls: 假設find指令的回傳值為True,就將文件或目錄名稱列出到標准輸出; 3 -name<范本樣式>: 指定字符串作為尋找文件或目錄的范本樣式; 4 -path<范本樣式>: 指定字符串作為尋找目錄的范本樣式; 5 -size<文件大小>: 查找符合指定的文件大小的文件; 6 -type<文件類型>: 只尋找符合指定的文件類型的文件;
- 參數:起始目錄--查找文件的起始目錄
- 實例:
列出當前目錄及子目錄下的所有文件和文件夾
1 find .
在/home目錄下查找以.txt結尾的文件名(使用 -iname 選項忽略大小寫)
1 find /home -name "*.txt"
在當前目錄及子目錄下查找所有以.txt和.pdf結尾的文件名
1 find . -name "*.txt" -o -name "*.pdf"
匹配文件路徑或者文件
1 find /usr/ -path "*local*"
基於正則表達式匹配文件路徑 (-iregex 忽略大小寫)
1 find . -regex ".*\(\.txt\|\.pdf\)$"
否定參數:找出/home下不是以.txt結尾的文件
1 find /home ! -name "*.txt"
根據文件類型查找
1 find . -type 類型參數
類型參數列表:
f 普通文件
l 符號鏈接
d 目錄
c 字符設備
b 塊設備
s 套接字
p Fifo
根據文件大小查找
1 find . -size 文件大小單元
文件大小單元列表:
b 塊(512字節)
c 字節
w 字(2字節)
k 千字節
M 兆字節
G G字節
查找大於10k的文件
1 find . -size +10k
借助 -exec 選項與其他命令結合使用
找出/home目錄下所有的.txt文件並刪除 (-ok與-exec命令相同,但會給出提示是否執行相應操作)
1 find /home -name ".txt" -exec rm {} \;
用腳本執行多條指令
1 -exec ./rm_txt.sh {} \;
使用xargs工具
查找包含字符'abc'的文件名
1 find . -type f | xargs grep -l 'abc'