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