這篇文章將為大家詳細講解有關(guān)xargs命令如何在Linux系統(tǒng)中使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
安陽網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,安陽網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為安陽上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的安陽做網(wǎng)站的公司定做!在使用 Linux 時,你是否遇到過需要將一些命令串在一起,但是其中一個命令不接受管道輸入的情況呢?在這種情況下,我們就可以使用 xargs
命令。xargs
可以將一個命令的輸出作為參數(shù)發(fā)送給另一個命令。
在 Linux 中,所有標(biāo)準(zhǔn)的應(yīng)用程序都有與之關(guān)聯(lián)的三個數(shù)據(jù)流。分別是標(biāo)準(zhǔn)輸入流(stdin),標(biāo)準(zhǔn)輸出流(stdout)和標(biāo)準(zhǔn)錯誤流(stderr)。這些流通過文本來運行,我們使用文本將輸入(stdin)發(fā)送到命令,然后響應(yīng)(stdout)將會以文本形式顯示在終端窗口上。錯誤消息也以文本的形式顯示在終端窗口上(stderr)。
Linux 和類 Unix 操作系統(tǒng)的一大功能是可以將一個命令的標(biāo)準(zhǔn)輸出流傳遞到另一個命令的標(biāo)準(zhǔn)輸入流。第一個命令不會管它的輸出是否寫到了終端窗口,第二個命令也不會管它的輸入是否來自鍵盤。
雖然所有 Linux 命令都有三個標(biāo)準(zhǔn)流,但是并不是所有命令都接受另一個命令的標(biāo)準(zhǔn)輸出作為它的標(biāo)準(zhǔn)輸入流的輸入。因此我們無法通過管道將輸入傳給這些命令。
xargs
是一個使用標(biāo)準(zhǔn)數(shù)據(jù)流構(gòu)建執(zhí)行管道的命令。通過使用xargs
命令我們可以使 echo
,rm
和 mkdir
等命令接受標(biāo)準(zhǔn)輸入作為它們的參數(shù)。
xargs命令
xargs
接受管道輸入,也可以接受來自文件的輸入。xargs
使用該輸入作為我們指定的命令的參數(shù)。如果我們沒有給xargs
指定特定的命令,則默認使用 echo
。xargs
始終生成單行輸出,即使輸入的數(shù)據(jù)是多行的。
假如我們使用 ls
的 -1
(每行列出一個文件)選項,則會得到一列文件名稱:
$ ls -1 ./*.sh