1. 程式人生 > >Linux命令基礎find

Linux命令基礎find

查詢檔案的方法

locate

locate 模糊匹配,非實時查詢,是根據全系統檔案資料庫進行的,執行updatedb命令,手動生成檔案資料庫
例如 locate ifconfig
Linux命令基礎find

find

find 實時,精確查詢,查詢速度慢

find 查詢的路徑 查詢的標準 查詢後的處理的動作

查詢的路徑,預設是當前路徑
查詢的標準,預設是指定路勁下的所有檔案
查詢後的處理的動作,預設顯示
Linux命令基礎find

查詢的標準

-name "filename" 根據檔名稱,單 引號,雙引號,不加引號
-iname filename 檔名稱不區分大小寫
-user username 根據屬主
Linux命令基礎find
-group groupuser
-nouser 查詢沒有屬主的檔案
-nogroup 查詢沒有屬組的檔案
-uid 505
-gid 505
使用者刪除後,檔案原來屬主,屬組屬於該使用者的,此時顯示id號
Linux命令基礎find


-type
d
f
s
c
b
p
l


-size
K(KB)
G(GB)
M(MB)


-mtime
5
+5
-5


-atime
-ctime
-mmin
-amin
-cmin


-perm
mode 按許可權查詢,精確匹配
/mode 許可權位有任何一位匹配
-mode 檔案許可權能完全包此mode時顯示
(1)、644:rw-r--r--
(2)、755:rwxr-xr-x
(3)、750:rwxr-x---
(2)包含(1),(3)mode

如找到當前資料夾屬組有寫許可權的檔案
find ./ -mode -020(只要屬組有寫許可權的檔案都能包含 ----r----即-020)


查詢後的處理動作

-print 預設
-ls 類似ls -l
Linux命令基礎find

-ok
-exce
給當前資料夾裡的所有以.sh結尾的檔案新增可執行許可權
find ./ -name "*.sh" -exec chmod +x {} \;
可以把 -exec換為 -ok ,區別是-ok需要手動一個一個的確認

Linux命令基礎find
給當前資料夾裡的所有以.sh結尾的檔案新增字尾名-bak
Linux命令基礎find

使用-exec 或 -ok ,命令結尾的 \ ; 不能省略