Linux有關xargs命令的用法說明
在Linux系統中使用xargs命令可以解決不少問題,特別是xargs命令配合find命令使用,能夠發揮出更加驚人的效果。本文就來爲大家介紹一下Linux系統xargs命令的用法。
在使用find命令的-exec選項處理匹配到的文件時, find命令將所有匹配到的文件一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之後,就會出現溢出錯誤。錯誤信息通常是“參數列太長”或“參數列溢出”。這就是xargs命令的用處所在,特別是與find命令一起使用。
find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然後是下一批,並如此繼續下去。
在有些系統中,使用-exec選項會爲處理每一個匹配到的文件而發起一個相應的進程,並非將匹配到的文件全部作爲參數一次執行;這樣在有些情況下就會出現進程過多,系統性能下降的問題,因而效率不高;
而使用xargs命令則只有一個進程。另外,在使用xargs命令時,究竟是一次獲取所有的參數,還是分批取得參數,以及每一次獲取參數的數目都會根據該命令的選項及系統內核中相應的可調參數來確定。
可以查看xargs的返回狀態來判斷是什麼問題:
#cut -d: -f1 《 /etc/passwd|sort|xargs echo
xargs exits with the following status:
0 if it succeeds
123 if any invocation of the command exited with status 1-125
124 if the command exited with status 255
125 if the command is killed by a signal
126 if the command cannot be run
127 if the command is not found
1 if some other error occurred.
Exit codes greater than 128 are used by the shell to indicate(指出)that a program died due to a fatal signal.
來看看xargs命令是如何同find命令一起使用的.,並給出一些例子。
(1.)用grep命令在當前目錄下的所有普通文件中搜索hostnames這個詞:
find 。 -name * -type f -print | xargs grep -i “hostname”
find 。 -type f -print | xargs grep -i “hostname”
find 。 -name “*”-type f -print | xargs grep -i “hostname”【三者相同】
注意:在上面的例子中, 用來取消find命令中的*在shell中的特殊含義。
(2.)查看所有以jdk開頭文件的文件類型
# find 。 -name “jdk*” -type f -print | xargs file
。/jdk1.6.0_: gzip compressed data, from Unix, last modified: Wed Jun 29 14:03:13 2011
。/: Bourne-Again shell script text executable
。/: Bourne shell script text executable
(3.)在整個系統中查找內存信息轉儲文件(core dump),然後把結果保存到/tmp/ 文件中
#find / -name “core” -print|xargs echo “” 》 /tmp/
(4.)在當前目錄下查找所有用戶具有讀、寫和執行權限的文件,並收回相應的寫權限:
#find 。 -perm 777 -print | xargs chmod o-w
(5.)查找查找2011-11-11 03:41:54時更改過的jdk文件
#find 。/ -name “jdk*”
。/jdk1.6.0_
。/
。/
#find 。/ -name “jdk*”|xargs ls -l --full-time2》/dev/null
-rwxr-xr-x 1 root root 63724381 2011-11-11 03:41:55.000000000 +0800 。/
-rw-r--r-- 1 root root 421 2011-10-28 17:15:31.000000000 +0800 。/
-rw-r--r-- 1 root root 102897638 2011-11-11 03:41:54.000000000 +0800 。/jdk1.6.0_
# find 。/ -name “jdk*”|xargs ls -l --full-time2》/dev/null|grep “2011-11-11 03:41:54”
-rw-r--r-- 1 root root 102897638 2011-11-11 03:41:54.000000000 +0800 。/jdk1.6.0_
(6)還有一個用法就是在殺遠程主機的進程的時候,顯示的信息會在本地顯示。
ssh “ps -ef |grep httpd|awk ‘{print $2}’|xargskill -9”
以上就是Linux系統xargs命令的用法了,可以看到xargs命令很豐富,但是大部分都離不開和find命令搭配使用。
相關文章
-
Linux文件查找命令find和xargs詳解
下面是YJBYS小編爲大家帶來的文件查找命令find,Linux,xargs的區別詳解,希望對你有所幫助! 前言:關於find命令由於find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網 -
Linux sar命令有什麼用
sar命令是系統維護的重要工具,可以幫助我們掌握系統資源的使用情況,今天小編就給大家介紹下Linux系統中的sar命令,一起來了解下吧。更多內容請關注應屆畢業生網! sar命令常用格式sar [options] [-A] [-o file] t [n] -
關於linux ar命令的使用說明和實例講解分析
醫院科室2022個人工作計劃開頭 篇1一、完善管理體系,發揮體系作用。1、爲進一步加強醫院感染管理工作,明確職責,落實任務,重新調整充實臨牀科室感染監控小組,完善三級網絡管理體系。2、將醫院感染管理部分加入了我科醫療護 -
Linux系統xlsatom命令如何使用
在Linux系統中有很多命令,理論上可以用Linux命令完成所有鼠標鍵盤的操作。xlsatoms命令可以用來定義搜索文件的範圍和成分,下面小編就給大家介紹一下Linux系統xlsatoms命令的.使用說明。一起去看看吧!功能說明:列出X Ser -
Linux中source命令的用法
製作養生粥有很多小竅門,比如說煮粥的時候其實更好多選擇是用開水,如果用冷水煮粥很有可能導致粥煳底。另外,煮粥的時候溫度控制也要把握好,應當先用旺火再煮,水燒開鍋後再用文火來煮,一般煮粥的時間多在30分鐘左右,株洲時間 -
Linux常用的性能檢測命令--sar
同學們知道Linux常用的性能檢測命令sar怎麼使用嗎?有什麼功能呢?下面跟yjbys小編一起來學習吧!sar命令包含在sysstat工具包中,提供系統的衆多統計數據。其在不同的系統上命令有些差異 sar 命令行的常用格式:[root@C4 -
Linux認證系統管理:linuxmail命令發送郵件失敗
使用linux自帶的'郵件功能測試郵件發送功能如下:$ mail -s test sldkfjlskdjf[CTRL+D]cc:有時會出再提示:You have a new mail in /var/spool/mail/root並且在郵箱中看不到郵件;解決辦法:1.查看出錯的日誌$ tail -n 5 -
linux系統中head命令使用說明
head 與 tail 就像它的名字一樣的'淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然爾就是看檔案的結尾。1.命令格式:head [參數]... [文件]...2.命令功能:head 用 -
Linux系統中strace命令的使用代碼
總結是指對某一階段的工作、學習或思想中的經驗或情況加以總結和概括的書面材料,它可以使我們更有效率,因此十分有必須要寫一份總結哦。那麼如何把總結寫出新花樣呢?以下是小編收集整理的銷售人員總結,歡迎大家借鑑與參考 -
Linux/AIX系統實用監控命令
Linux/UNIX系統提供了一些有用的監控命令如:iostat,vmstat,ps,sar,通過它們系統管理員可以方便地監測系統資源是否平衡並解決性能問題。本文闡述了這些命令的使用方法,並以AIX系統爲例附加應用實例。爲Linux/AIX系統管理員