-exec的用法
注意:使用-exec命令時账嚎,命令會將所有匹配到的文件一起傳遞給-exec執(zhí)行。但有些系統(tǒng)對能夠傳遞給exec的命令長度有限制夏哭,這樣在find命令運行幾分鐘之后务唐,就會出現(xiàn)溢出錯誤。錯誤信息通常是“參數(shù)列太長”或“參數(shù)列溢出”
用法
1:-exec選項后面跟隨著所要執(zhí)行的命令或腳本挖诸,然后是一對兒{ },一個空格和一個\法精,最后是一個分號多律。
eg:下面的例子中痴突,find命令匹配到了當(dāng)前目錄下的所有普通文件,并在‐exec選項中使用ls ‐l命令將它們列出
find . ‐type f ‐exec ls ‐l { } \菱涤;
‐rw‐r‐‐r‐‐ 1 root root 34928 2003‐02‐25 ./conf/httpd.conf
‐rw‐r‐‐r‐‐ 1 root root 12959 2003‐02‐25 ./conf/magic
‐rw‐r‐‐r‐‐ 1 root root 180 2003‐02‐25 ./conf.d/README
記装病:在使用exec命令的時候,用戶可能會執(zhí)行刪除命令粘秆,在使用刪除命令刪除文件時如迟,應(yīng)當(dāng)先查看相應(yīng)的文件,以免誤刪文件攻走,造成損失殷勘!當(dāng)使用諸如mv或rm命令時,可以使用‐exec選項的安全模式昔搂。它將在對每個匹配到的文件進行操作之前提示你玲销。
eg:在下面的例子中, find命令在當(dāng)前目錄中查找所有文件名以.LOG結(jié)尾摘符、更改時間在5日以上的文件贤斜,并刪除它們,只不過在刪除之前先給出提示逛裤。 $ find . ‐name "*.conf" ‐mtime +5 ‐ok rm { } ;
按y鍵刪除文件瘩绒,按n鍵不刪除。
xgars的用法
xgars與-exec的區(qū)別
xargs命令每次只獲取一部分匹配到的文件而不是全部匹配到的文件带族,不像-exec選項那樣锁荔。這樣它可以先處理最先獲取的一部分文件,然后是下一批蝙砌,并如此繼續(xù)下去
xgars的用法
eg1:下面的例子查找系統(tǒng)中的每一個普通文件阳堕,然后使用xargs命令來測試它們分別屬于哪類文件
find . ‐type f ‐print | xargs file
./.kde/Autostart/Autorun.desktop: UTF‐8 Unicode English text
./.kde/Autostart/.directory: ISO‐8859 text\
......
eg2:在在當(dāng)前目錄中查找內(nèi)存信息轉(zhuǎn)儲文件(core dump) ,然后把結(jié)果保存到/tmp/core.log 文件中
find . name "file*" print | xargs echo "" > /temp/core.log
cat /temp/core.log
./file6