最近學習了linux的一些命令,看到一連串的管道符合xargs就懵球子了。就仔仔細細的學了學兩者的區別linux
先整體說一下區別:學習
管道符 | 的意思就是說,將前一個命令的標準輸出做爲後面一個命令的標準輸入。spa
xargs 的意思就是說,把標準輸入格式化爲一行,做爲後面的命令的命令行參數。命令行
下面咱們舉個栗子 :blog
看懂了沒? file
cat file.txt 咱們看到文件裏面是什麼內容,而後咱們再次 cat file.txt | xargs 一下,發現結果都變成一行了,這就是所謂的格式化爲一行。im
接下來咱們看,cat file.txt | cat 這裏再次輸出了file.txt文件的內容,這就是前面的標準輸出做爲了後面的標準輸入。數據
最後咱們再看這個 cat file.txt | xargs cat ,上面咱們已經看到,命令執行到xargs時候,內容已經格式化爲一行了,而後咱們在將數據做爲後面的命令的命令行參數(不一樣於標準輸入)img
cat命令報錯說沒有這些目錄,固然這些目錄確定不存在,都是一些隨機鍵入的字符而已。文件
若是還沒看懂,那就將這幾個命令反覆敲幾回吧。書讀百遍,其義自見!