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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

标准输入/出与重定向

發布時間:2025/4/5 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 标准输入/出与重定向 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標準輸入、輸出、錯誤

文件描述符

每個進程會默認打開3個文件描述符:

STDIN_FILENO:值為0,代表標準輸出流

STDOUT_FILENO:值為1,代表標準輸入流

STDERR_FILENO:值為2,代表標準錯誤流

?

設備文件

標準輸入文件:stdin,是指向鍵盤緩沖區的文件指針

標準輸出文件:stdout,是指向屏幕顯示區的文件指針

標準錯誤文件:stderr,是指向屏幕顯示區的文件指針

??通過這兩個指針封裝了鍵盤和屏幕I/O操作的底層實現細節,從標準輸入讀取就是讀取 /dev/stdin 的文件內容,輸出到標準輸出就是寫入 /dev/stdout 文件。但實際上 /dev/stdin 和 /dev/stdout 并不是真實的文件,而是鏈接文件,它們連接到其他文件(默認是鍵盤緩沖區文件和屏幕緩沖區文件)。

??可以看見stdout和stderr都是指向屏幕,那為什么還要分成stdout 和 stderr 呢?這是因為通常在 server 的工作環境下,幾乎所有的程序都是 run 在 background 的,所以為了方便 debug,一般在設計程序時,就把stdout 送到/存到一個檔案(即重定向),把錯誤的信息 stderr 存到不同的檔案。

?

?

重定向

??C庫提供的一些標準I/O函數操作的是文件描述符,即標準輸入流、輸出流、錯誤流,而不是鍵盤的設備文件或屏幕的設備文件。通常標準輸入流對應著鍵盤的標準文件,標準輸出流和錯誤流對應屏幕的標準文件,但是當使用重定向后改變標準輸入、輸出、錯誤流對應的文件后,這些標準I/O函數讀取的輸入或輸出的對象就不再是鍵盤或屏幕,而是重定向的文件。

Linux中的重定向符是 < 和 >,例如:

??test.sh > test.log 指令會把test.sh腳本的標準輸出重定向到文件test.log,也就是原本打印到終端的輸出內容被打印到test.log文件中。但是,如果 test.sh 腳本中有語法錯誤或者其他,那么錯誤信息作為標準錯位仍然會被打印到終端中。

??想要把錯誤信息和標準輸出一起打印到 test.log 文件的話,需要使用 test.sh > test.log 2>&1 ,其中 2>&1 是把這個進程中的標準錯誤重定向到標準輸出,然后就能和標準輸出一起被打印到test.log文件中。

??注意,2>&1和2>1不一樣,后者是把標準錯誤重定向到名為 1 的文件,而不是標準輸出。

?

command > file 2>file 與 command > file 2>&1 的區別

??直觀上二者的作用都是把標準錯誤和標準輸出都重定向到文件 file 中,但是實際作用有所區別。前者是把stder和stdout分別送到file中,file相當于被打開兩次,這樣stderr和stdout的內容會互相覆蓋,相當于使用FD1和FD2兩個同時搶占file的管道。而后者是將stderr和stdout以同一個管道送往file,file只被打開一次。并且后者效率更高。

?

重定向到 /dev/null

??/dev/null是一個無底洞,輸入到其中的內容會直接消失,并且它是個只讀文件。通常有不想要的垃圾信息可以扔進 /dev/null。

??>/dev/null 2>&1 的作用是把標準錯誤和標準錯誤都重定向到 /dev/null 中,沒有文件描述符時默認是 1,即標準錯誤重定向到標準輸出,而標準輸出重定向到了 /dev/null,所以腳本執行時不輸出任何信息到終端。

??cat /dev/null > file 的作用是清除文件 file 的內容。

總結

以上是生活随笔為你收集整理的标准输入/出与重定向的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 太久av | 亚洲好视频| 欧美大屁股熟妇bbbbbb | 久久在线一区二区 | 欧美成人一二三 | 国产精品久久在线 | 精品电影在线观看 | 欧美性区 | 精品国产乱| 午夜亚洲av永久无码精品 | 牛夜精品久久久久久久99黑人 | 一级在线 | 亚洲一区二区三区成人 | 国产成人愉拍精品久久 | 亚洲精品一区二区三区中文字幕 | 色亚洲欧美 | 波多野结衣之潜藏淫欲 | av免费观看大全 | 国产一二三在线视频 | 男人的天堂在线播放 | 国产精品自拍在线观看 | 一二三区中文字幕 | 亚洲一区二区三区四区在线播放 | 日韩一二三区在线观看 | 女人做爰全过程免费观看美女 | 大乳护士喂奶hd | 免费久久精品 | 青青免费视频 | 97人妻人人澡人人爽人人精品 | 中文日韩av | 97超碰碰| xxxx在线播放 | 国产成年人| 精品少妇视频 | 国产裸体视频 | 福利片在线观看 | 日韩在线观看中文字幕 | 一级性生活免费视频 | 日韩中文字幕在线播放 | 哪里看毛片 | 日本一区二区三区视频免费看 | 日本成人毛片 | 伊人久久大香线蕉av色婷婷色 | 日本一区二区三区在线观看 | 日本精品视频网站 | 影音先锋男人天堂 | 天堂91| 成人在线黄色 | 男人的天堂中文字幕 | 色多多视频在线观看 | 国产在线视频你懂的 | 成人激情社区 | 色秀视频网 | 免费看a网站 | 奇米二区 | 肉视频在线观看 | 国产图片区 | 欧美tv | 97久久超碰| 国产成人无码一区二区三区在线 | 黑人巨大猛烈捣出白浆 | 亚洲最大在线视频 | 胖女人做爰全过程 | 日韩激情电影在线 | 国产一区二区三区四区视频 | 欧美日韩一区二区三区在线视频 | 亚洲国产日韩a在线播放性色 | 九九九视频在线观看 | 波多野结衣一本一道 | 帮我拍拍漫画全集免费观看 | 国产高潮av | 在线观看911视频 | 精品人妻一区二区三区视频 | 宅男噜噜噜666在线观看 | 神马午夜一区 | 精品国产一区二区三区久久 | 亚洲最大综合网 | 五月婷婷视频在线观看 | 亚洲精品资源 | 高跟鞋和丝袜猛烈xxxxxx | 理论片中文字幕 | 午夜剧场黄色 | 国产精品无码专区av在线播放 | 亚洲久久一区 | 日韩精品www | 国产精品网站在线 | 五月在线视频 | 亚洲男女一区二区三区 | 高跟丝袜av | 韩国三级做爰高潮 | 国产精品久久久久久久久久久久 | 国产高潮久久 | 全黄一级裸片视频 | 91精品国产色综合久久不卡98 | 天天草天天爽 | 推特裸体gay猛交gay | 成人交配视频 | 欧美一区二区性久久久 | 久久成人一区 |