Linux--find命令和 xargs命令組合


find 查找文件的命令,並可以做出相應的處理

命令格式:

find filename 【選項】【-print -exec -ok ...】

選項參數:

1、-name :按照文件名稱查找,可以提前cd定位,也可以在find命令最前面加上待查找路徑

注意需要寫上文件類型

2、-type:按類型查找文件

d: 目錄文件    b:塊設備文件  c:字符設備文件  f:普通文件

3、-mtime -n +m:  按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前

 

 

 

命令實操:

1.find 【路徑】(可省)  -name   "*.ini"(或者可以指定任意准確的文件名稱)

2、find 【路徑】(可省)  -type f/d -name  "*.ini"

 

練習:

1、尋找具體的文件 

2、當前目錄下尋找任何文件后綴是.ini的文件

3、在當前目錄下查找所有的目錄

4、在當前目錄下查找所有的文件

 

 

find 與 xargs 的組合:

xargs的命令作用是生成一些參數,跟find組合的時候,就是獲取find的每一個參數; 當 xargs 后面沒有接任何的命令時,默認是以 echo 來進行輸出。

find命令去加載你在查找的東西,xargs會對你查找到的每一個東西,做相同的操作。

用xargs的一個好處是,不用擔心命令超長。

 

什么是xargs:x 是加減乘除的乘號,args 則是 arguments (參數) 的意思,所以說,就是在產生某個指令的參數的意思;

會使用 xargs 的原因是, 很多指令其實並不支持管線命令,因此我們可以透過 xargs 來提供該指令引用 standard input 之用。

 

實例:1、搜索具體文件:在當前目錄下,所有普通文件中搜索“hh”這個詞

find ./  -type f | xargs grep "hh"

 

 

2、與刪除連用:①在當前目錄下,刪除1天以內的所有東西

find ./ -mtime -1 | xargs rm -rf

②在當前目錄下,刪除文件大小為0的文件

find ./ -size 0 | xargs rm -rf

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM