1. 程式人生 > >搜索系統中所有以.repo結尾的文件並刪除(find命令詳解及xargs命令詳解)

搜索系統中所有以.repo結尾的文件並刪除(find命令詳解及xargs命令詳解)

搜索系統 輸入 最大的 tin fin pro 多個 term 傳遞參數

find / -name *.repo | xargs rm –rf //搜索以.repo結尾的文件並刪除

技術分享圖片

find命令詳解
精細查找文件或目錄d
find  [ 查找範圍 ]  [ 查找條件表達式 ]

常用查找條件:
按名稱查找:"-name",支持通配符"*"、"?"
按文件大小查找:"-size",可使用"+"、"-"作為容量條件
按文件屬主查找:"-user"
按文件類型查找:"type"

註:“*”匹配多個字符,“?”匹配單個字符
        -size中k容量單位為小寫字母,其余全為大寫;如“1k”、“1M”、“1G”等
註:創建者即文件或目錄的所有者,一般為創建人,如root用戶新增的文件所有者即為root,也可通過"chown"命令更改所有者

xargs命令詳解

之所以要用到xargs,是因為由於很多命令不支持使用管道|來傳遞參數
xargs [選項] [command]
-0:如果輸入的stdin含有特殊字符,例如反引號`、反斜杠\、空格等字符時,xargs可以將它還原成一般字符。為xargs的默認選項。
-e <flag>,-E <flag>,--eof=<eof-str>:eof是end of file string的意思。flag可以是一個字符串或者是由空格分隔的多個字符串,當xargs分析到這個flag時,就會停止工作。
-p:當每次執行一個argument的時候詢問一次用戶。
-n <num>:表示命令在執行的時候一次使用的argument的個數,由num指定,默認是用所有的參數。
-t:表示先打印命令,然後再執行。
-a <file>:從文件中讀入作為sdtin。
-i,-I:其中-I某些Linux版本不支持。將xargs的輸出每一項參數,單獨賦值給後面的命令,參數需要用{}代替。見示例3。
-r:或者--no-run-if-empty,當xargs的輸入為空的時候則停止xargs,不用再去執行後面的命令了,-r是xargs的默認選項。
-s <num>:命令行的最大字符數,指的是xargs後面那個命令的最大命令行字符數,包括命令、空格和換行符。每個參數單獨傳入xargs後面的命令。
-L <line_num>:設置標準輸入中最大的行數作為命令每一次執行的參數。見示例5。
-d <delim>, --delimiter=<delim>: xargs處理標準輸入默認是按換行符和空格作為分隔符,輸出arguments的分隔符是空格,這裏修改xargs處理標準輸入時的分隔符。
-x:eXit的意思,主要是配合-s使用,當命令行字符數大於-s指定的數值時,退出xargs。
-P:修改最大的進程數,默認是1,為0時候為as many as it can。該選項比較少用,目前還不清楚該用法。

參考文獻
[1]Xargs用法詳解

搜索系統中所有以.repo結尾的文件並刪除(find命令詳解及xargs命令詳解)