今天學習了find的使用和用法,東西有點瑣碎,整理一下。
正則表達式
文件查找基本有兩種方法 locate和find。locate的查找是非實時的,而且是模糊匹配,是根據全系統文件數據庫進行的。也能夠手動生成數據庫就是updatedb這個命令,可是特別特別慢,要掃描全系統的。locate搜查的速度快,其餘就沒什麼優點了,在這裏只是略加介紹,就很少學習了。find的優點在於,實時,精確,而且支持衆多查找目標,可是覺得是遍歷指定目錄中的全部文件來完成查找的,因此速度有點慢。
數據庫
下面咱們就來講下find的查找路徑,查找標準,查找到之後的處理運做。
find 查找路徑 查找標準 查找到之後的處理運做
查找路徑:默認爲當前目錄
查找標準:默認爲指定路徑下的全部文件
處理運做:默認爲顯示
匹配標準:
-name 'FILENAME':對文件名做精確匹配
文件名通配:
*:任意長度的任意字符
?:任意單個字符
[]:表示一個範圍
-iname 'FILENAME': 文件名匹配時不區分大小寫
-regex PATTERN:基於正則表達式進行文件名匹配
-user USERNAME: 根據屬主查找
-group GROUPNAME: 根據屬組查找
-uid UID: 根據UID查找
-gid GID: 根據GID查找
-nouser:查找沒有屬主的文件
-nogroup: 查找沒有屬組的文件
-type :根據文件類型來查找
f: 普通文件
d:目錄文件
b:塊設備文件
c:字符設備文件
l:符號連接文件
p:命令管道文件
s:套接文件
-size [+|-]指定查找大小的文件
#k
#M
#G
-size +100K 大於100K的文件 默認爲字節
組合條件:
-a:兩個條件同時知足才顯示
-o:或條件
-not :非
這裏是分前後順序的 默認 not先於a先於o
按時間查找
-mtime: -mtime +5至少有五天沒有訪問
-ctime: -ctime -5表示五天以內修改過
-atime:-atime 恰好五天以前修改過
[+|-]#
-mmin 用法同上,不過表示的是分鐘
-cmin
-amin
[+|-]#
-perm MODE:精確匹配 根據權限精確查找
/MODE: 任意一位匹配即知足條件 例如查找644,只要符合6,4,4任何一個都行
-MODE: 文件權限能徹底包含此MODE時才符合條件
必須徹底包括才行 例如 644 必須大於644才行 655 654 764
運做:
-print: 顯示
-ls:相似ls -l的形式顯示每個文件的詳細
-ok COMMAND {} \; 每一次操做都須要用戶確認
-exec COMMAND {} \;不須要確認,(COMMAND命令)
這就是find的基本用法,基本語法。
嘿嘿,每記一次印象就更深一次。再在聯繫中多多使用就會徹底記住的,可能如今這些對我有點難,可是我相信我能夠作好的ide