Linux

Unix/Linux 作業系統上的標準和/或通用目錄

  • July 20, 2011

來自 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 用於此目的,但這並不是它的真正目的。

引用自:https://unix.stackexchange.com/questions/17023