linux中cwd是什么
在Linux中,cwd指的是某個進程運行時所在的目錄;cwd是“current working directory”的縮寫,即當前工作目錄,cwd不是系統(tǒng)自帶的命令,屬于系統(tǒng)的屬性,可以在“/proc/{id}”目錄下看到cwd。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux中cwd是什么
Linux中的 pwd, $PWD 與 cwd
一句話解釋: 都指某個進程運行時所在的 目錄.
$PWD 是個系統(tǒng)變量
pwd 是linux 自帶的命令. 全稱: pathname of the current working directory.
cwd: 不是系統(tǒng)自帶的命令, 但是屬于 系統(tǒng)的屬性 . 全稱: current working directory . 不但在 /proc/{id} 這個目錄下可以看到cwd, 在很多其他的編程語言中也可以看到( 例如grunt )
cwd指的是current work directory,即當前工作目錄。
擴展知識
FD 名稱(cwd,memory…d[u|r|w])
當執(zhí)行一個進程的時候,會有一個cwd的文件描述符。
cwd指的是current work directory,即當前工作目錄。
為什么會有指定當前目錄的FD呢?
是因為在Linux系統(tǒng)中,不管是目錄還是文件都是以文件的方式存在的。所以當我們執(zhí)行一個進程的時候,需要指定在哪個目錄中執(zhí)行,系統(tǒng)會去打開指定的執(zhí)行目錄,那么這個過程也就是一個打開系統(tǒng)文件的過程,即會創(chuàng)建FD。所以可以理解為任何一個進程都會有cwd的FD
當執(zhí)行一個進程的時候,會有一個txt的文件描述符。
txt可以理解為是程序代碼,如應用程序的二進制庫或者是共享庫等。
為什么會有txt的FD呢?
既然是執(zhí)行進程,那么必須有指定執(zhí)行內容的代碼文件。執(zhí)行的時候需要讀取文件內容,那么打開代碼文件也必然會創(chuàng)建FD。所以可以理解為任何一個進程都會有txt的FD
還有一些特殊的FD:
- rtd:根目錄
- mem:內存映射文件
- mmap:內存映射設備
還有一些FD是數值開頭的,這些表示的是這個進程執(zhí)行時需要打開的一些文件描述符,這個數值也可以理解為是打開該文件時返回的一個整數。當初始化打開每一個進程的時候,都會默認有三個數值開頭的FD,即0,1,2。也可以當做是內置FD,因為他們默認代表了特殊的含義
- 0:stdout,標準輸出
- 1:stdin,標準輸入
- 2:stder,錯誤輸出
所以當應用程序內部打開文件的時候,數值都是從3開始的,有效范圍是0-OPEN_MAX
在數值的后面還會加一個FD讀寫權限的標識:
- u:讀寫
- r:只讀
- w:只寫
推薦學習:Linux視頻教程
以上就是linux中cwd是什么的詳細內容,更多請關注其它相關文章!
版權聲明:
本站所有文章和圖片均來自用戶分享和網絡收集,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業(yè)用途,如果損害了您的權利,請聯(lián)系網站客服處理。