第七課-第三講 07_03_Linux文件查找詳解正則表達式
一. let 用法
I= 1
SUM=$[ $SUM+$I ] = let SUM+=$I = let SUM++
-= I-=1 至關於 I--
+= I+=1 至關於 I++
/=
%=數據庫
二. 文件查找ide
grep,egrep,fgrep:文本查找,查找文本的,查找字符串的ui
find 查找路徑(省略表示當前目錄) 查找標準 查找到之後的處理動做
查找路徑: 省略表示當前目錄,默認是當前目錄
查找標準: 默認是指定路徑下的全部文件
查找到之後的處理動做: 默認爲顯示到屏幕code
查找標準(匹配標準):
-name 'FILENAME'根據文件來查找,對文件名作精確匹配
-name '文件名通配符'( ? []) 此時是嚴格區分大小寫的
-iname '文件名通配符'( ? []) 此時是不區分大小寫的
-regex PATTERN 基於模式來顯示文件名查找字符串
-user USERNAME 根據文件的屬主進行查找 -group GROUPNAME 根據文件的屬主、組進行查找 -uid 根據uid查找(用戶被刪除後原來以該用戶爲屬主的文件的屬主都變成該用戶的id號,因此要此時要根據uid查找) -gid 根據gid查找 -nouser 查找沒有屬主的文件,用戶刪除後,以該用戶爲屬主的文件就變成了nouser文件 -nogroup 查找沒有屬組的文件 -type f 普通文件 d 目錄文件 c 字符文件 b 塊文件 l 連接文件 p 管道文件 s 套接字文件
find /tmp -type dit
-size(不給單位默認單位是字節) [+|-]nk +10k 大於10k -10k小於 10k 10k 等於10k [+|-]nM [+|-]nG
find /etc -size 1M--size單位匹配查找法則:0.0M--1M 大小之間的都認爲是 1M
find /etc -size 10M--size單位匹配查找法則:9.0M--10M 大小之間的都認爲是 10Mclass
-time -mtime 修改時間單位爲天 [+-]n -ctime 改變時間單位爲天 [+-]n -atime 訪問時間單位爲天 [+-]n -5 5天內訪問太小於5天, +5 至少5天沒訪問了大於5 ,5 恰好5天訪問過等於5天 -mmin 修改時間單位爲分鐘 [+-]n -cmin 改變時間單位爲分鐘 [+-]n -amin 訪問時間單位爲分鐘 [+-]n -perm MODE 根據文件權限來查找,權限等於mode的值 -perm -MODE 每一位權限都必須精確匹配,文件權限能徹底包含此MODE是匹配成功並顯示。也就是3部分(ugo)文件rwx權限都要大於等於MODE時才匹配成功 -perm /MODE 9位權限中有一位匹配 -perm +MODE 同 -perm /MODE
三. 組合條件查找date
條件1 條件2 ---沒有指明2個條件關係是默認是 a ,也就是 與 條件
-a 與
-o 或
-not 非file
find /tmp -nouser -a -type d
find /tmp -not -type d 查找非目錄文件
find /tmp -not -type d -a -not -type s
四. find 的動做
-print 默認是顯示 -ls 相似 ls -l 的形式顯示每個文件的詳細信息 -ok COMMAND {} \; 反斜線合分號必須有。{} 表示引用find到的結果。 每次操做都須要用戶確認 -exec COMMAND {} \; 反斜線合分號必須有。{} 表示引用find到的結果。不須要確認
-xargs
find ./ -perm -020 -exec mv {} {}.new \;
xargs的用法(不須要 {} 應用,不須要 \;結尾)find /etc -size +1M -exec echo {} >> /tmp/etc.largefiles \;find /etc -size +1M | xargs echo >> /tmp/etc.largefiles