亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


Linux I/O重定向詳細介紹


avatar
小浪云 2025-01-06 155
Linux I/O重定向詳細介紹

linux的i/o重定向可被視為調整命令輸入和輸出傳輸方式的行為。它允許你重新定義命令的輸入和輸出流。在此過程中,你可以使用一系列重定向符號,包括以及|。

標準流中的I/O重定向

bash shell中,I/O重定向涉及三個標準流:

標準輸入(stdin):stdin流編號為stdin(0)。bash?shell從stdin獲取輸入。默認情況下,鍵盤用作輸入。 標準輸出(stdout):stdout流編號為stdout(1)。bash?shell將輸出發送到stdout。輸出將顯示。 標準錯誤(stderr):stderr流編號為stderr(2)。bash?shell向stderr發送錯誤消息。顯示錯誤消息。 

重定向到文件

每個流都使用重定向命令。單括號’>’或雙括號’>>’可用于重定向標準輸出。如果目標文件不存在,將創建一個具有相同名稱的新文件。

覆蓋:帶有單括號“>”的命令將覆蓋現有的文件內容。

>:標準輸出 :標準錯誤 

注意:寫“1>”或“>”和“0”。

用法: cat?>?

追加: 帶有雙括號“>>”的附加命令不會覆蓋現有的文件內容。

>>-標準輸出 >-標準錯誤 用法: cat?>>?

重定向到程序

重定向到程序管道將流從一個程序重定向到另一個程序。當管道用于將一個程序的標準輸出發送到另一個程序時,第一個程序的數據將不會顯示在終端上,只顯示第二個程序的信息。盡管管道的功能看起來可能與“>”和“>>”相似,但有顯著差異。管道將數據從一個程序重定向到另一個程序,而括號僅用于文件的重定向。

用法: ls?*.txt?|?cat?>?txtFile 

Linux input 重定向

bash shell使用stdin獲取輸入。在輸入重定向中,將文件輸入命令,并在“

Syntax: cat? [root@localhost?~]#?cat??? aa [root@localhost?~]# 

EOF(文件結束)可以鍵入,也可以通過按(ctrl+d)鍵調用。任何單詞都可以代替“EOF”,就像我們使用的“last”一樣。

Syntax: cat??

字符串用于將字符串直接傳遞給命令。

Example: base64?

Linux輸出重定向

輸出重定向用于將一個命令的輸出放入文件或另一個命令。

> stdout

stdout使用大于號’>’重定向。當shell遇到’>’號時,它將清除文件:

Example: echo?Hello?everyone.?>?afile.txt 

輸出文件被擦除

在輸出重定向中,在掃描命令行的過程中,shell將遇到“>”符號,并將清除文件。

Example: zcho?Welcome?>?afile.txt 

nolobber

我們可以在nolobber選項的幫助下,在使用’>’符號時防止文件刪除。

Syntax: set?-o?noclobber????(防止覆蓋)?? set?+o?noclobber????(覆蓋) Example: echo?Learn?Linux.?>?newfile.txt 

否定noclobber

重寫nolobber意味著您可以在使用’>|’符號設置nolobber時覆蓋現有文件。

Syntax: command?>|??? ?? Example: echo?Welcome?to?JavaTpoint.?>|?newfile.txt 

>>append

append’>> 不允許覆蓋文件內容,因此顯示新的和舊的文件內容。

Syntax: command?>>? Example: echo?You?all?are?welcome?here.?>>?newfile.txt 

Linux錯誤重定向

2> stderr

命令’2>’重定向輸出的錯誤,它可以通過重定向錯誤消息來幫助我們減少顯示的混亂。

Example: zcho?hyii?2>?/dev/null?? 

2> &1

此命令有助于重定向同一文件中的stdout和stderr。

Example: newfile.txt?>?abc.txt?and?error.txt?2>&1 

注意:重定向的順序非常重要:

ls?>?dirlist?2>&1?? 

然后,stdout和stderr都將被定向到文件目錄列表:

ls?2>&1?>?dirlist 

然后,只有stdout會重定向到目錄列表。這是因為,在將stdout重定向到目錄列表之前,stderr已經復制了stdout。

Linux I/O重定向詳細介紹

相關閱讀