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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

什么是标准输入,标准输出(stdin,stdout)

發布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是标准输入,标准输出(stdin,stdout) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是標準輸入,標準輸出(stdin,stdout)?
要弄清什么是標準輸入輸出。首先需要弄懂什么是IO。
IO的I是Input的意思,O是output的意思。意味著輸入和輸出。

更確切的含義是
I:從外部設備輸入到內存
O:從內存輸出到外部設備

而標準輸入和標準輸出是干什么的?它們是用于IO的。

那么它們屬于IO的哪個部分?
內存?還是外部設備?
答案顯然是外部設備(邏輯上的外部設備,為什么?接著看)。

更具體的含義?
在linux操作系統中,外部設備用什么表示?是用文件。
linux中一切設備皆是文件!
因此標準輸入和輸出更具體的含義是文件。

它們是哪兩個文件?
它們是/dev/stdin這個文件和/dev/stdout這個文件。
也就是說所謂的標準輸入和標準輸出其實就是兩個linux下的文件。

linux的文件類型有:
1、普通文件2、字符設備文件3、塊設備文4、目錄文件
5、鏈接文件6、管道文件7、套接字文件

思考一下?它們是什么文件?它們在/dev目錄下,它們是設備文件嗎?
那么所謂的從標準輸入讀是什么意思?

邏輯上來看:
就是打開/dev/stdin這個文件,然后把這個文件里的內容讀進來。

輸出到標準輸出是什么意思?
邏輯上來看:
就是打開/dev/stdout這個文件,然后把內容輸出到這個文件里去。

為什么是從邏輯上來看?因為它們不是設備文件!!!
所以它們不代表一個設備。linux里一切皆是文件,設備是文件,但是文件不一定是設備!

那它們是什么文件?他們是鏈接文件。(可以用ls -l /dev來查看 l開頭的就是鏈接文件。)

什么是鏈接文件?文件內容是另一個文件的地址的文件稱為鏈接文件。

因此,打開、讀或者寫 /dev/stdin和/dev/stdout 實際上是打開、讀或者寫這兩個文件存放的地址對應的設備文件。

明白它們是鏈接文件不是設備文件有什么用?
明白這一點才能知道重定向失效的原理。

參考文章:什么是標準輸入,標準輸出(stdin,stdout)

總結

以上是生活随笔為你收集整理的什么是标准输入,标准输出(stdin,stdout)的全部內容,希望文章能夠幫你解決所遇到的問題。

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