Linux 的檔案系統遵循 Filesystem Hierarchy Standard (FHS),每個目錄都有特定的用途。
Linux 主要的目錄結構:
1. 根目錄(/
)
- Linux 檔案系統的起點,所有檔案與目錄都從這裡開始。
- 主要系統目錄都掛載在
/
之下。
2. 家目錄 (~
)
- 各別使用者的檔案都存放在對應的使用者資料夾底下
3. 主要系統目錄
目錄 | 作用 |
/bin | 存放基本的系統執行檔,例如 ls 、cp 、mv 、cat 等,所有用戶都可存取。 |
/boot | 存放開機相關的檔案,如核心 ( vmlinuz )、引導載入器(GRUB)設定等。 |
/dev | 包含系統裝置的特殊檔案,如硬碟( /dev/sda )、終端(/dev/tty )、USB(/dev/usb )等。 |
/etc | 存放系統設定與組態檔,如 passwd (使用者資訊)、fstab (掛載設定)、hosts (主機對應表)。 |
/home | 各個使用者的家目錄,例如 /home/user1 ,存放使用者個人資料、設定。 |
/lib | 系統函式庫 ( .so 檔案),供 /bin 、/sbin 的執行檔使用。 |
/lib64 | 64 位元系統的函式庫。 |
/media | 用於掛載可移動裝置,如 USB 隨身碟、CD/DVD。 |
/mnt | 手動掛載的檔案系統,如 NFS、遠端磁碟。 |
/opt | 存放第三方軟體(選用的應用程式)。 |
/proc | 虛擬檔案系統,提供系統內核和行程資訊(如 /proc/cpuinfo 、/proc/meminfo )。 |
/root | root(系統管理員)的家目錄,普通使用者無法存取。 |
/run | 存放系統運行時的資訊,例如行程 ID(PID),系統重開機後會清空。 |
/sbin | 存放系統管理指令,如 fdisk 、mkfs 、shutdown ,通常只有 root 能執行。 |
/srv | 存放伺服器服務的相關資料,如 FTP、HTTP 伺服器的內容。 |
/sys | 和 /proc 類似,提供系統硬體資訊,主要與內核互動。 |
/tmp | 存放暫存檔,系統重啟後會清空。 |
/usr | 儲存系統應用程式與工具,通常包含 /usr/bin 、/usr/lib 、/usr/local 等。 |
/var | 儲存變動數據,如日誌 ( /var/log )、郵件 (/var/mail )、快取 (/var/cache )。 |
重要目錄介紹
/etc
:系統設定與組態檔
/etc
是 Linux 系統最重要的目錄之一,存放各種系統設定與組態檔案。這些設定影響系統運行、使用者權限、網路連線等。目錄內的重要檔案與子目錄
檔案/目錄 | 作用 |
/etc/passwd | 存放系統所有使用者的帳號資訊,如使用者名稱、UID、GID、家目錄、Shell。 |
/etc/shadow | 存放使用者密碼的加密資訊,只有 root 可讀取。 |
/etc/group | 定義系統群組與群組內的使用者。 |
/etc/fstab | 設定開機時自動掛載的磁碟分區與存取參數。 |
/etc/hostname | 記錄系統的主機名稱(hostname)。 |
/etc/hosts | 定義 IP 與主機名稱的對應關係,用於本機 DNS 解析。 |
/etc/resolv.conf | 設定 DNS 伺服器地址,影響網路名稱解析。 |
/etc/network/interfaces | 設定網路介面(Debian/Ubuntu 系列使用)。 |
/etc/sysconfig/network-scripts/ | 設定網路介面(RHEL/CentOS 系列使用)。 |
/etc/cron.d/ | 定義系統的排程工作(cron jobs)。 |
/etc/profile | 定義所有使用者的 Shell 環境變數。 |
/etc/bash.bashrc | 定義 Bash Shell 的全域設定檔。 |
/etc/ssh/sshd_config | SSH 伺服器的設定檔,如連接埠、身份驗證方式等。 |
/etc/systemd/ | Systemd 服務管理的設定檔,如 /etc/systemd/system/ 存放自定義的服務單元。 |
/etc/nginx/ | Nginx 伺服器的設定目錄,如 nginx.conf 。 |
/etc/apache2/ | Apache 伺服器的設定目錄,如 apache2.conf 。 |
/usr
:使用者程式與系統工具
/usr
(User System Resources)用於存放系統應用程式、共享函式庫、文件、程式碼等。它通常包含許多子目錄,類似於 /
根目錄的結構。目錄的主要子目錄
目錄 | 作用 |
/usr/bin | 存放一般使用者可以執行的應用程式,如 vim 、tar 、wget 、curl 。 |
/usr/sbin | 存放系統管理員(root)使用的程式,如 fdisk 、iptables 、grub-install 。 |
/usr/lib | 存放應用程式的函式庫,對應 /lib 。 |
/usr/lib64 | 64 位元系統的函式庫,對應 /lib64 。 |
/usr/include | C/C++ 等程式語言的標頭檔(header files),如 stdio.h 。 |
/usr/local | 供使用者手動安裝的程式,通常不受套件管理系統影響。 |
/usr/share | 存放共享資源,如字體、圖示、說明文件等。 |
/usr/share/man | Man pages(說明文件),如 man ls 會讀取 /usr/share/man/man1/ls.1.gz 。 |
/usr/share/doc | 軟體套件的文件與範例設定檔案。 |
/usr/src | 存放 Linux 核心原始碼與其他程式碼。 |
/usr/games | 遊戲程式(較少見)。 |
總結:
/etc
= 設定中心
/usr
= 使用者應用程式與工具
這些目錄的區分讓 Linux 系統更具組織性,也方便系統維護與管理。