Linux
Unix/Linux 作業系統上的標準和/或通用目錄
來自 Windows 世界,我發現大多數文件夾目錄名稱非常直覺:
\Program Files
包含程序使用的文件(驚喜!)
\Program Files (x86)
包含 64 位作業系統上的 32 位程序使用的文件
\Users
(以前Documents and Settings
)包含使用者的文件,即文件和設置
\Users\USER\Application Data
包含特定於應用程序的數據\Users\USER\Documents
包含屬於使用者的文件
\Windows
包含屬於 Windows 自身操作的文件
\Windows\Fonts
儲存字型檔(驚喜!)\Windows\Temp
是一個全域臨時目錄等等。即使我不知道這些文件夾做了什麼,我也可以從它們的名字中準確地猜到。
現在我正在仔細研究 Linux,並且對如何在文件系統中找到自己的方式感到非常困惑。
例如:
/bin
包含二進製文件。但是/sbin
,/usr/bin
,/usr/sbin
, 和可能還有更多我不知道的。哪個是哪個??它們之間有什麼區別?如果我想製作一個二進製文件並將其放在系統範圍內的某個地方,我應該把它放在哪裡?/media
包含外部媒體文件系統。但也是如此/mnt
。目前它們都不包含我係統上的任何內容;一切似乎都在/dev
。有什麼不同?我的硬碟上的其他分區在哪裡,例如Windows 中的C:
和?D:
/home
包含使用者文件和設置。這麼多是直覺的,但是,應該進入/usr
什麼?/root
即使它是具有文件和設置的使用者,為什麼仍然是分開的?/lib
包含共享庫,如 DLL。但也是如此/usr/lib
。有什麼不同?- 是 什麼
/etc
?它真的代表“等等”還是其他什麼?什麼樣的文件應該放在那裡——全域的還是本地的?它是一個包羅萬象的東西,沒有人知道放在哪裡,還是有一個特定的案例?- 什麼是
/opt
,/proc
和/var
? 它們代表什麼以及它們的用途是什麼?我還沒有在 Windows* 中看到過類似的東西,我只是想不通它們的用途。如果有人能想到其他可能很好了解的標準地點,請隨時將其添加到問題中;希望這對於像我這樣開始熟悉 *nix 系統的人來說是一個很好的參考。
*好吧,那是謊言。我在 WinObj 中看到過類似的東西,但顯然不是經常出現。不過,我仍然不知道這些在 Linux 上做了什麼。
Linux 發行版使用 FHS: http: //www.pathname.com/fhs/pub/fhs-2.3.html
您也可以嘗試
man hier
.我會嘗試總結一下我腦海中的問題,但我強烈建議您通讀 FHS:
- /bin 用於非超級使用者系統二進製文件
- /sbin 用於超級使用者(根)系統二進製文件
- /usr/bin 和 /usr/sbin 分別用於非關鍵共享非超級使用者或超級使用者二進製文件
- /mnt 用於臨時掛載分區
- /media 用於一次安裝許多可移動媒體
- /dev 包含您的系統設備文件;說來話長 :)
- /usr 文件夾及其子文件夾可以與其他系統共享,以便他們可以訪問安裝在一個位置的相同程序/文件。由於 /usr 通常位於單獨的文件系統上,因此它不包含使系統聯機所需的二進製文件。
- /root 是獨立的,因為可能需要在不掛載其他目錄的情況下使系統聯機,這些目錄可能位於單獨的分區/硬碟驅動器/伺服器上
- 是的,/etc 代表“等等”。本地系統的配置文件儲存在那裡。
- /opt 是您可以安裝下載/編譯的程序的地方。這樣,您可以將它們與系統的其餘部分分開,將所有文件放在一個地方。
- /proc 包含有關核心和正在執行的程序的資訊
- /var 包含可變大小的文件,如日誌、郵件、網頁等。
要訪問一個系統,一般不需要/var、/opt、/usr、/home;系統上一些可能最大的目錄。
我最喜歡的,有些人不使用的,是 /srv。它用於通過 http/ftp/samba 等服務託管的數據。我經常看到 /var 用於此目的,但這並不是它的真正目的。