Linux中的文件描述符(file descriptor)


fd是一個非負整數,一個索引值,指向內核為每一個進程所維護的該進程打開文件的記錄表。

程序打開一個現有文件或者創建一個新文件,內核向該進程返回一個文件描述符。

每個Unix進程都有三個標准的POSIX文件描述符,對應三個標准流:

(ref:https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6

整數值 名稱 <unistd.h>符號常量[1] <stdio.h>文件流[2]
0 Standard input STDIN_FILENO stdin
1 Standard output STDOUT_FILENO stdout
2 Standard error STDERR_FILENO stderr

 

標准輸入:是輸入到程序的數據(通常是文件)。程序要求以讀(read)操作來傳輸數據。

C++ <iostream>變量為std::cin

並非所有的程序都要求輸入,比如ls

除非重定向,否則輸入是預期由鍵盤獲取的。

標准輸出:C++ <iostream>變量為std::cout

除非重定向,否則輸出到終端(屏幕)

並非所有程序都要求輸出,如mv

標准錯誤:C++ <iostream>變量為std::cerr 和 std::clog

默認輸出到終端(屏幕)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM