首頁  >  文章  >  運維  >  linux中cwd是什麼

linux中cwd是什麼

WBOY
WBOY原創
2022-07-12 15:05:3310533瀏覽

在linux中,cwd指的是某個行程執行階段所在的目錄;cwd是「current working directory」的縮寫,也就是目前工作目錄,cwd不是系統自帶的指令,屬於系統的屬性,可以在“/proc/{id}”目錄下看到cwd。

linux中cwd是什麼

本教學操作環境:linux7.3系統、Dell G3電腦。

linux中cwd是什麼

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

linux中cwd是什麼

當執行一個行程的時候,會有一個txt的檔案描述子。

txt可以理解為是程式碼,例如應用程式的二進位庫或是共用程式庫等。

為什麼會有txt的FD?

既然是執行進程,那麼就必須有指定執行內容的程式碼檔案。執行的時候需要讀取檔案內容,那麼開啟程式碼檔案也必然會建立FD。所以可以理解為任何一個行程都會有txt的FD

linux中cwd是什麼

還有一些特殊的FD:

  1. rtd:根目錄
  2. mem:記憶體映射檔案
  3. mmap:記憶體映射裝置

linux中cwd是什麼

#還有一些FD是數值開頭的,這些表示的是這個行程執行時需要開啟的一些檔案描述符,這個數值也可以理解為是開啟該檔案時所傳回的一個整數。當初始化打開每一個進程的時候,都會預設有三個數值開頭的FD,即0,1,2。也可以當做是內建FD,因為他們預設代表了特殊的意義

  1. 0:stdout,標準輸出
  2. 1:stdin,標準輸入
  3. 2:stder,錯誤輸出

所以當應用程式內部開啟檔案的時候,數值都是從3開始的,有效範圍是0-OPEN_MAX
在數值的後面還會加上一個FD讀寫權限的識別:

  1. #u:讀寫
  2. r:只讀
  3. w:只寫

linux中cwd是什麼

推薦學習:Linux影片教學

以上是linux中cwd是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn