日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux数据流重定向

發布時間:2025/4/16 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux数据流重定向 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常情況下,我們由鍵盤輸入數據,計算機通過屏幕顯示輸出,然而有時我們并不想通過鍵盤輸入和屏幕輸出,為了解決這個問題,就引入數據流重定向的概念。

1 標準輸入:代碼為0,使用<或<<

2 標準輸出:代碼為1 ,使用>或>>

3 標準錯誤輸出:代碼為2,使用2>或2>>(注解:為與標準輸出>和>>區分,所以需要加入2)

這里以ls舉例,相信大家對ls命令非常熟悉,用來顯示目錄的內容,現在假定當前目錄為用戶主文件夾,在終端輸入以下指令(輸入:),會在屏幕顯示(輸出)

輸入:ls 輸出:bin opt 模板 圖片 下載 桌面 公共的 視頻 文檔 音樂

現在我們想讓輸出的內容輸出到test.txt中,而不是屏幕上,則需要標準輸出>或>>

ls > ./test.txt

可以顯示test.txt的數據

cat test.txt

我們會發現ls的輸出已經輸出到test.txt中。

這次我們使用>>來重復一次命令

ls >> ./test.txt

再次顯示test.txt的內容

cat test.txt

我們會發現兩次執行的結果都在test.txt中。

如果我們再使用>的指令執行一遍,我們會發現之前的執行結果全部被覆蓋,這就是>> 和 >的區別

> 表示覆蓋

>>表示追加

?

這次,我們使用2>把執行的結果輸出到test.txt中,輸入

ls 2>test.txt

再次顯示test.txt的內容,我們會發現,此次文件中什么內容都沒有,這是因為,2>表示把錯誤的信息輸出到文件中,我們的指令沒有錯誤,所以導致了test.txt中的內容為空。

假設我們的目錄中沒有test1.txt,我們知道以下代碼會產生錯誤。

ls test1.txt

如果我們此時通過2>來輸出,那么文件中應該會信息,輸入

ls test1.txt 2>test.txt

此時我們再顯示test.txt的內容,我們會發現test.txt會顯示

ls: 無法訪問test1.txt: 沒有那個文件或目錄

由此我們知道了標準輸出和標準錯誤輸出的區別:

標準輸出是輸出正確的信息

標準錯誤輸出是用來輸出錯誤的信息

如果我們想把正確和錯誤信息輸出到同一個文件中,需要采用以下命令

指令 > 文件 2&>1 或 指令 &> 文件

?

標準輸入就是把由鍵盤的輸入變為文件的輸入

<表示文件來源、

<<表示結束輸入

?

有時我們還想在一個命令行中執行多個命令,則需要用分號(;)把命令隔開,如

ls test.txt; ls bin;

則屏幕分別輸出ls test.txt和ls bin的輸出結果

?

有時我們需要前一個命令執行成功才可執行下一個命令,如

1創建一個文件夾

2 在文件夾中創建一個文件

如果文件夾創建不成功,那么我們不會繼續執行創建文件的指令,此時就需要&&

指令1 && 指令2

這個指令表示指令1執行成功,才會執行指令2

有時我們也會需要指令1執行不成功去執行指令2 的情況,此時需要||

指令1 || 指令2

表示指令1執行不成功,則執行指令2

  

 

轉載于:https://www.cnblogs.com/qixianyu/p/6574535.html

總結

以上是生活随笔為你收集整理的linux数据流重定向的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。