Linux命令每日學之find
阿新 • • 發佈:2019-01-28
find命令是在指定目錄下查詢檔案或者子目錄。區別與grep的是 grep 是在檔案中查詢字元。如果不指定引數,find預設查詢當前目錄下檔案和子目錄。
命令格式
find [引數] [目錄] [檔名]
命令功能
在指定目錄查詢滿足條件的檔案或者子目錄。
命令引數
-name <檔名稱>: 查詢名稱為指定名稱的檔案。
-iname <檔名稱>: 查詢名稱為指定名稱的檔案(忽略大小寫)。
-Btime <時間(天為單位)>: 查詢匹配字串的行數
-Bmin <時間(分鐘為單位)>: 只輸出匹配的部分
-amin <時間(小時為單位)>: 最近一次存取(access)時間與查詢時間在給定時間範圍之內
-cmin <時間(小時為單位)>: 最近一次改變(change)時間與查詢時間在給定時間範圍之內
-delete : 刪除查詢到的檔案或者檔案目錄
-exec <命令> : 查詢到的檔案或者檔案目錄後執行指定的操作
-regex <模式串> : 查詢滿足指定模式串的檔案或者資料夾
命令例項
測試的檔名:
test
1. -name
tango @ TangodeMacBook-Pro in ~/Desktop on git:master x [19:42:23]
$ find . -name Postman.app
./Postman.app
2.-exec 查詢指定檔案並複製。
# tango @ TangodeMacBook-Pro in ~/Desktop/cc on git:master x [20:01:29]
$ ls
test
# tango @ TangodeMacBook-Pro in ~/Desktop/cc on git:master x [20:04:57] C:1
$ find test -exec cp {} ./test2 \;
# tango @ TangodeMacBook-Pro in ~/Desktop/cc on git:master x [20:07:04]
$ ls
test test2
# tango @ TangodeMacBook-Pro in ~/Desktop/cc on git:master x [20:07:10]
$
3.-size
根據檔案大小進行匹配 find . -type f -size 檔案大小單元
4.-atime
搜尋超過七天內被訪問過的所有檔案 find . -type f -atime +7
5.-name
在/home目錄下查詢以.txt結尾的檔名 find /home -name "*.txt"
6.-regex
基於正則表示式匹配檔案路徑 find . -regex ".*\(\.txt\|\.pdf\)$"