xargs命令學習,於阮一峰部落格

2022-03-29 07:18:58 字數 990 閱讀 3117

unix 命令都帶有引數,有些命令可以接受"標準輸入"(stdin)作為引數。

$ cat /etc/passwd | grep root

上面的**使用了管道命令(|)。管道命令的作用,是將左側命令(cat /etc/passwd)的標準輸出轉換為標準輸入,提供給右側命令(grep root)作為引數。

因為grep命令可以接受標準輸入作為引數,所以上面的**等同於下面的**。

$ grep root /etc/passwd

但是,大多數命令都不接受標準輸入作為引數,只能直接在命令列輸入引數,這導致無法用管道命令傳遞引數。舉例來說,echo命令就不接受管道傳參。

$ echo 「hello world」 | echo

上面的**不會有輸出。因為管道右側的echo不接受管道傳來的標準輸入作為引數。

xargs命令的作用,是將標準輸入轉為命令列引數。

$ echo 「hello world」 | xargs echo

hello world

上面的**將管道左側的標準輸入,轉為命令列引數hello world,傳給第二個echo命令。

xargs命令的格式如下。

$ xargs [-options] [command]

真正執行的命令,緊跟在xargs後面,接受xargs傳來的引數。

xargs的作用在於,大多數命令(比如rm、mkdir、ls)與管道一起使用時,都需要xargs將標準輸入轉為命令列引數。

$ echo 「one two three」 | xargs mkdir

上面的**等同於mkdir one two three。如果不加xargs就會報錯,提示mkdir缺少操作引數。

只**了一部分簡單介紹

**阮一峰部落格

flex布局學習總結 阮一峰

基本概念 容器預設存在兩根軸 水平的主軸 main axis 和垂直的交叉軸 cross axis 主軸的開始位置 與邊框的交叉點 叫做main start,結束位置叫做main end 交叉軸的開始位置叫做cross start,結束位置叫做cross end。專案預設沿主軸排列。單個專案佔據的主...

flex布局知識點(阮一峰部落格)

任何乙個容器都可以指定為flex布局 行內元素也可以使用flex布局 設為flex布局以後,子元素的float,clear,vertical align屬性都將失效 flex容器的屬性 1 flex direction 2flex wrap 3flex flow 4justify content 5...

阮一峰 學習C語言的教材

我的c語言是自學的,這些年看過不少教材。下面,我對其中一些教材做個點評。1.how to think like a computer scientist c version 這是我讀過最易懂的c語言教材。2.c primer plus 上面這兩本,都是著名的c語言初級教材,都是厚厚的大部頭。我通讀過...