溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中重定向和管道的示例分析

發(fā)布時(shí)間:2022-02-18 09:52:51 來(lái)源:億速云 閱讀:137 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了Linux中重定向和管道的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

對(duì)shell有一定了解的人都知道,管道和重定向是 Linux 中非常實(shí)用的 IPC 機(jī)制。在shell中,我們通常使用符合“|”來(lái)表示管道,符號(hào)“>”和“

Linux中重定向和管道的示例分析


重定向

系統(tǒng)設(shè)定的輸入輸出

  • 默認(rèn)輸出設(shè)備:標(biāo)準(zhǔn)輸出,STDOUT,1
  • 默認(rèn)輸入設(shè)備:標(biāo)準(zhǔn)輸入,STDIN,0
  • 標(biāo)準(zhǔn)錯(cuò)誤輸出:STDERR,2
標(biāo)準(zhǔn)輸入:鍵盤(pán)
標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出:顯示器

linux中的I/O重定向

  • 標(biāo)準(zhǔn)輸入 (stdin): 代碼為0,使用
  • 標(biāo)準(zhǔn)輸出 (stdout): 代碼為1,使用>或>>;
  • 標(biāo)準(zhǔn)錯(cuò)誤輸出(stderr): 代碼為2,使用2>或2>>;
  • “>” “>>”
>: 覆蓋輸出
>>:追加輸出
       # set -C  禁止對(duì)已經(jīng)存在文件使用覆蓋重定向;強(qiáng)制覆蓋輸出,則使用 >|# set +C  關(guān)閉上述功能
  • “2>” “2>>”
2>: 重定向錯(cuò)誤輸出
2>>: 追加方式
將正確的與錯(cuò)誤的分別存入不同的文件中# ls / /varr > /tmp/var3.out 2> /tmp/err.out# ls /varr > /tmp/var4.out 2> /tmp/var4.out       
/dev/null垃圾桶黑洞裝置
&>: 重定向標(biāo)準(zhǔn)輸出或錯(cuò)誤輸出至同一個(gè)文件(或者2>&1)
輸出重定向(將原來(lái)需要由鍵盤(pán)輸入的數(shù)據(jù),改由文件內(nèi)容來(lái)取代)# tr 'a-z' 'A-Z'
Here Document(代表結(jié)束的輸入字符)# cat # cat >> /tmp/myfile.txt 
/dev/null, 軟件設(shè)備,bit bucket,數(shù)據(jù)黑洞,將內(nèi)容輸出定向到該設(shè)備下無(wú)任何返回內(nèi)容

管道

管道是將前一個(gè)命令的輸出作為后一個(gè)命令的輸入 命令1 | 命令2 | 命令3 | ……

# echo "hello world." | tr 'a-z' 'A-Z'# echo "redhat" | passwd --stdin hive# cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'   # echo "Hello,World." | tee /tmp/hello.out       # tee: 顯示內(nèi)容并將內(nèi)容保存在文件中       # wc -l /etc/passwd | cut -d' ' -f1練習(xí):
   1、統(tǒng)計(jì)/usr/bin/目錄下的文件個(gè)數(shù);
   2、取出當(dāng)前系統(tǒng)上所有用戶的shell,要求,每種shell只顯示一次,并且按順序進(jìn)行顯示;
   3、思考:如何顯示/var/log目錄下每個(gè)文件的內(nèi)容類型?
   4、取出/etc/inittab文件的第6行;
   5、取出/etc/passwd文件中倒數(shù)第9個(gè)用戶的用戶名和shell,顯示到屏幕上并將其保存至/tmp/users文件中;
   6、顯示/etc目錄下所有以pa開(kāi)頭的文件,并統(tǒng)計(jì)其個(gè)數(shù);
   7、不使用文本編輯器,將alias cls=clear一行內(nèi)容添加至當(dāng)前用戶的.bashrc文件中;

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux中重定向和管道的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI