/usr 不是 User 的縮寫?揭開 Linux 目錄的真正身份

初次接觸 Linux 的人,可能都曾誤以為「啊,/usr 就是使用者 (User) 資料夾啊!」但當你嘗試將自己的檔案儲存到裡面時,卻常常會因為權限不足而被拒絕。

開門見山地說,在現代 Linux 中,/usr 並非「使用者的家」,而是「系統的共用資源庫」。

Linux 檔案系統與 usr 目錄的概念圖

1. /usr:名稱的誤解與真實含義

在早期 Unix 系統中,/usr 確實曾用來存放使用者家目錄。然而,隨著系統規模擴大,其功能也逐漸分化。如今,將 /usr 解釋為 Unix System Resources 的縮寫更為恰當。儘管它最初源於 user,但從功能層面來看,已不再具備「使用者」的含義。

  • 性質: 系統運作所需的唯讀 (Read-only) 資料與程式的集合地。

  • 核心作用: 作業系統安裝後,大多數新增的可執行檔、函式庫和共用資料都存放在此。


2. 深入了解 /usr 內部(重點摘要)

/usr 內部結構就像一個完整的迷你 Linux 系統。

目錄 主要內容 備註
/usr/bin 一般使用者可執行檔 python, curl, git
/usr/sbin 系統管理員可執行檔 如網路設定、守護行程管理
/usr/lib 程式執行所需的函式庫 類似 Windows 的 .dll 檔案,這裡則是 .so 檔案
/usr/share 與架構無關的共用資料 如手冊頁 (man)、圖示、字型等
/usr/local 使用者自行安裝的程式 透過原始碼編譯等方式安裝時,具有較高優先級

💡 參考:/bin/usr/bin 的差異?

過去,/bin 只存放開機所需的最低限度工具;然而,近期的發行版 (如 Ubuntu, Fedora) 為了簡化管理,傾向將 /bin 連結 (Symbolic Link) 到 /usr/bin,將兩者整合為一。
/sbin/usr/sbin 之間的關係也同理。


3. 四種易混淆目錄比較

我們將明確區分最常令人混淆的四個目錄。

  1. /home (個人空間): 存放使用者的個人文件和設定檔 (如 ~/.bashrc)。即使重新安裝作業系統,只要保留此目錄,你的資料就能安然無恙。

  2. /usr (系統資源): 由套件管理員 (如 apt, dnf) 管理的共用程式儲存庫。

  3. /opt (外部應用程式): 專為不遵循套件管理系統、以「完整套件」形式安裝的第三方應用程式(如 Google Chrome 或 Discord)所設計的空間。

  4. /var (變動資料): 存放系統運作期間內容持續變動的資料,例如日誌檔、資料庫檔案等。


4. 實用指南:我的檔案該放在哪裡?

根據不同情況,檔案存放位置也會有所不同。只要遵循這些規則,你就能被稱作「懂 Linux 的人」。

  • 供個人使用的簡單腳本:

    ~/bin (在家目錄下建立 bin 資料夾) 或 ~/.local/bin

  • 供全系統使用的自製程式:

    /usr/local/bin (一個安全且不會與套件管理員衝突的共用空間)

  • 從外部下載的大型商業軟體:

    /opt/應用程式名稱

  • 絕對不應動到的地方:

    /usr/bin (此目錄由系統套件管理員維護,若直接放入或刪除檔案,可能導致套件混亂。)


4 點摘要

  1. /usr 不是使用者 (User) 資料夾。

  2. 它是系統共用程式與資源的儲存庫。

  3. 個人檔案應放在 /home,自行安裝的共用應用程式則放在 /usr/local/opt。(筆者習慣將應用程式映像檔集中放在 /opt。)

  4. 個人腳本可建立 ~/.local/bin 目錄並在此管理,會感覺整理得相當有序。

現在,您對 /usr 目錄的疑問是否稍有解答了呢?身為一位 Linux 愛好者,我希望透過這篇文章,能讓更多人對 Linux 有更深入的了解,進而沉浸在 Linux 作業系統的魅力之中。