日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Linux find命令與xargs組合使用的方法

find命令主要用于文件的查找 , 在之前的文章有過(guò)詳細(xì)的介紹(詳見(jiàn)系統(tǒng)之家Linux find命令常見(jiàn)用法匯總) , 今天小編要給大家介紹的是Linux find命令和xargs命令的配合使用 , 一起來(lái)了解下吧 。

Linux find命令與xargs組合使用的方法


在使用find命令的-exec選項(xiàng)處理匹配到的文件時(shí) ,  find命令將所有匹配到的文件一起傳遞給exec執(zhí)行 。但有些系統(tǒng)對(duì)能夠傳遞給exec的命令長(zhǎng)度有限制 , 這樣在find命令運(yùn)行幾分鐘之后 , 就會(huì)出現(xiàn)溢出錯(cuò)誤
錯(cuò)誤信息通常是“參數(shù)列太長(zhǎng)”或“參數(shù)列溢出” 。這就是xargs命令的用處所在 , 特別是與find命令一起使用 。
find命令把匹配到的文件傳遞給xargs命令 , 而xargs命令每次只獲取一部分文件而不是全部 , 不像-exec選項(xiàng)那樣 。這樣它可以先處理最先獲取的一部分文件 , 然后是下一批 , 并如此繼續(xù)下去 。
在有些系統(tǒng)中 , 使用-exec選項(xiàng)會(huì)為處理每一個(gè)匹配到的文件而發(fā)起一個(gè)相應(yīng)的進(jìn)程 , 并非將匹配到的文件全部作為參數(shù)一次執(zhí)行;這樣在有些情況下就會(huì)出現(xiàn)進(jìn)程過(guò)多 , 系統(tǒng)性能下降的問(wèn)題 , 因而效率不高; 而使用xargs命令則只有一個(gè)進(jìn)程 。另外 , 在使用xargs命令時(shí) , 究竟是一次獲取所有的參數(shù) , 還是分批取得參數(shù) , 以及每一次獲取參數(shù)的數(shù)目都會(huì)根據(jù)該命令的選項(xiàng)及系統(tǒng)內(nèi)核中相應(yīng)的可調(diào)參數(shù)來(lái)確定 。
使用實(shí)例:
實(shí)例1: 查找系統(tǒng)中的每一個(gè)普通文件 , 然后使用xargs命令來(lái)測(cè)試它們分別屬于哪類(lèi)文件
命令:
代碼如下:
find。-type f -print | xargs file
輸出:
代碼如下:
[root@localhost test]# ll
總計(jì) 312
-rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log
-rw-r--r-- 1 root root 0 11-12 22:25 log2013.log
-rw-r--r-- 1 root root 0 11-12 22:25 log2014.log
drwxr-xr-x 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 2 root root 4096 11-12 19:32 test3
drwxrwxrwx 2 root root 4096 11-12 19:32 test4
[root@localhost test]# find。-type f -print | xargs file
。/log2014.log: empty
。/log2013.log: empty
。/log2012.log: ASCII text
[root@localhost test]#
實(shí)例2:在整個(gè)系統(tǒng)中查找內(nèi)存信息轉(zhuǎn)儲(chǔ)文件(core dump)  , 然后把結(jié)果保存到/tmp/core.log 文件中
命令:
代碼如下:
find / -name “core” -print | xargs echo “” 》/tmp/core.log
輸出:
代碼如下:
[root@localhost test]# find / -name “core” -print | xargs echo “” 》/tmp/core.log
[root@localhost test]# cd /tmp
[root@localhost tmp]# ll
總計(jì) 16
-rw-r--r-- 1 root root 1524 11-12 22:29 core.log
drwx------ 2 root root 4096 11-12 22:24 ssh-TzcZDx1766
drwx------ 2 root root 4096 11-12 22:28 ssh-ykiRPk1815
drwx------ 2 root root 4096 11-03 07:11 vmware-root
【Linux find命令與xargs組合使用的方法】上一頁(yè)1234下一頁(yè) 剩下全文

    推薦閱讀