在linux中,cwd指的是某個行程執行階段所在的目錄;cwd是「current working directory」的縮寫,也就是目前工作目錄,cwd不是系統自帶的指令,屬於系統的屬性,可以在“/proc/{id}”目錄下看到cwd。
本教學操作環境:linux7.3系統、Dell G3電腦。
Linux中的pwd, $PWD 與cwd
一句話解釋: 都指某個行程執行時所在的目錄.
$PWD 是個系統變數
pwd 是linux 自帶的指令. 全名: pathname of the current working directory.
#cwd: 不是系統自帶的指令, 但是屬於系統的屬性. 全名: current working directory . 不但在/proc/{id} 這個目錄下可以看到cwd, 在很多其他的程式語言中也可以看到( 例如grunt )
cwd指的是current work directory,即當前工作目錄。
擴充知識
FD 名稱(cwd,memory…\d[u|r|w])
當執行一個行程的時候,會有一個cwd的檔案描述子。
cwd指的是current work directory,也就是目前工作目錄。
為什麼會有指定目前目錄的FD呢?
是因為在Linux系統中,不管是目錄或檔案都是以檔案的方式存在的。所以當我們執行一個進程的時候,需要指定在哪個目錄中執行,系統會去開啟指定的執行目錄,那麼這個過程也就是一個開啟系統檔案的過程,也就是會建立FD。所以可以理解為任何一個行程都會有cwd的FD
當執行一個行程的時候,會有一個txt的檔案描述子。
txt可以理解為是程式碼,例如應用程式的二進位庫或是共用程式庫等。
為什麼會有txt的FD?
既然是執行進程,那麼就必須有指定執行內容的程式碼檔案。執行的時候需要讀取檔案內容,那麼開啟程式碼檔案也必然會建立FD。所以可以理解為任何一個行程都會有txt的FD
還有一些特殊的FD:
- rtd:根目錄
- mem:記憶體映射檔案
- mmap:記憶體映射裝置
#還有一些FD是數值開頭的,這些表示的是這個行程執行時需要開啟的一些檔案描述符,這個數值也可以理解為是開啟該檔案時所傳回的一個整數。當初始化打開每一個進程的時候,都會預設有三個數值開頭的FD,即0,1,2。也可以當做是內建FD,因為他們預設代表了特殊的意義
- 0:stdout,標準輸出
- 1:stdin,標準輸入
- 2:stder,錯誤輸出
所以當應用程式內部開啟檔案的時候,數值都是從3開始的,有效範圍是0-OPEN_MAX
在數值的後面還會加上一個FD讀寫權限的識別:
- #u:讀寫
- r:只讀
- w:只寫
推薦學習:Linux影片教學
以上是linux中cwd是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!