linux shell 編程筆記 - 常用的find和xargs__區塊鏈
來源:互聯網
上載者:User
find命令工具用於在目錄下(甚至是整個檔案系統),遍曆地尋找檔案; find path_name -option [-print -exec -ok] #find的一般格式;
1、find命令的選項(-option)
1.1、根據名稱尋找檔案和目錄(-name): cb@Standalone14:~/Documents$ find . -name "cb*" -print #在目前的目錄下,尋找cb開頭的檔案及目錄;
1.2、根據檔案修改時間尋找檔案和目錄(-mtime): cb@Standalone14:~/Documents$ find . -mtime -2 -print #在目前的目錄下,尋找2天內修改的檔案及目錄; cb@Standalone14:~/Documents$ find . -mtime +5 -print #在目前的目錄下,尋找5天以前修改的檔案及目錄;
1.3、根據檔案類型尋找檔案或目錄(-type): find . -type d -print #在目前的目錄下,尋找所有的目錄;
1.4、在find中使用exec和ok來執行shell命令: cb@Standalone14:~/Documents$ find . -type f -exec ls -l {} \; #在目前的目錄下,尋找所有檔案,然後執行 ls -l命令; cb@Standalone14:~/Documents$ find . -name "myfile2" -ok rm {} \; #用安全模式ok,尋找檔案並刪除檔案; < rm ... ./shellT/myfile2 > ? yes root@Standalone14:/home/cb/Documents# find /etc -name "passwd*" -type f -exec grep "cb" {} \; #尋找檔案,並通過grep查看檔案中是否有包含cb的行。
2、xargs xargs把find的結果分批傳給shell命令,避免過程佔用機器的資源。 cb@Standalone14:~/Documents$ find . -type f -print | xargs file #尋找目前的目錄下,所有檔案,然後查看這些檔案的檔案類型。