用於快速查詢目錄和檔案。
格式:
find <search_dir> [option] [option] ...
find <start_dir> -maxdepth <n> -mtime <+-day> -type <type> -name <"name">
常用操作:
# 找到並刪除
# 1)加參數 -delete
# 2)使用-exec
find ./ -type d -exec rm -rf {} \;
find ./ -type d -exec |xargs rm -rf
# 3)提前執行find方法
rm -rf `find xxxx`
rm -rf $(find xxx)
# 找到並複製
find ./ -type d |xargs -i cp {} /tem/backup # -i xargs轉化後插入到{}
find ./ -type d |xargs cp -t /tem/backup
# 找到並移動
find ./ -type d |xargs -i mv {} /tem/backup # -i xargs轉化後插入到{}
find ./ -type d |xargs mv-t /tem/backup # -t 指定移動目錄
find ./ -type d -exec mv -rf {} \;
參數:
-maxdepth
最大遞回深度-mindepth
最小遞回深度-type
指定查詢型別,f file, d director-name
指定名稱-size
-perm
許可權查詢 例:-perm 644-delete
找到並刪除-exec
執行簡單命令
find ./ -type f -name "*.txt" -exec rm -rf {} \;
find ./ -type f -name "*.txt" -exec cp {} /tmp \;
-mtime
+7
7天以前-7
最近七天7
正好前面七天-mtime 參數參考圖:
grep是常用的搜尋命令,可以說除了cd,ls等命令外最常用的就是它了,強大的搜尋功能,同時搜尋出來的內容還可以高亮顯示。
使用格式:
grep <關鍵字> <檔案>
在檔案中搜尋「關鍵字」| grep <關鍵字>
在管道流讀取的資訊中搜尋「關鍵字」應用場景:
使用範例:
#所給樣例a.txt內容
100
1000
123456
abcdef
ABCDEF
# 直接查詢檔案資訊
grep 100 a.txt
# 輸出
100
1000
# 管道流檢視資訊
cat a.txt | grep 100
100
1000
# 使用正則匹配
grep -E "^100$" a.txt # 當確定用正則是均加上-E參數,否則有些正則萬用字元無法匹配
# 排除匹配關鍵字的行
grep -v "100" a.txt
123456
abcdef
ABCDEF
# 統計關鍵字匹配次數
grep -c "100" a.txt
參數:
強大的修改命令。常處理文字檔案(小)、組態檔、日誌檔案。
格式:sed [參數[ [處理操作] [檔案]
sed執行原理:
sed使用:
sed 's#被替換文字#替換文字#g'
此時sed在行中替換出現的關鍵字列印到螢幕,但是不修改檔案,修改時需要加上-i參數
sed '/關鍵字/p'
檢索關鍵字並輸出(p列印輸出)詳細使用下圖:
sed [操作] [檔案]
, 可以刪除指定的行或者刪除含有關鍵字的行
小技巧和範例:
取出eth0網絡卡ip地址
ip a s eth0|sed -n '3p'|sed -r 's#^.*inet (.*)/24.*#\1#g'
ip a s eth0|sed -rn '3s#^.*inet (.*)/24.*#\1#gp'
修改時進行備份
sed -i.bak 's#aaa#AAA#g' ./aa.txt
注意:n和i參數不要同時使用
將當前目錄下以test開頭的.txt檔案改爲.jpg檔案
ls test*.txt|sed -r 's#(.*)txt$#mv & \1jpg#g'|bash
rename [需要就修改資訊] [修改成什麼資訊] [檔名稱匹配]
常用參數:
sed -e '/abc/ibefore' -e '/abc/aafter'
操作控制參數:
具有統計分析檔案、對檔案中的列操作的功能。常用與文字操作、日誌資訊統計等。
使用格式:awk [參數[ [處理操作] [檔案]
常用處理數據方式:
操作模式:
在操作處理中使用