因為利用 Linux 來開發産品或 distributions 的社群 / 公司或個人實在太多了 , 如果每個人都用自己的想法來配置檔案放置的目錄 , 那将可能造成很多管理上的困擾。 你能想象 , 你進入一個企業之後 , 所 接觸到的 Linux 目錄配置方法竟然跟你以前學的完全不同嗎 ? 很難想象吧 ~ 是以 , 後來就有所謂的Filesystem Hierarchy Standard (FHS) 标準的出爐了 !
根據 FHS(http://www.pathname.com/fhs/) 的官方檔案指出 , 他們的主要目的是希望讓使用者可以了解到已安裝軟體通常放置在哪個目錄下 , 是以他們希望獨立的軟體開發商、作業系統制作者、以及想要維護系統的使用者 , 都能夠遵循 FHS 的标準。 也就是說 ,FHS 的重點在于規範每個特定的目錄下應該存放什麼樣子的資料而已。
亊實上 ,FHS 是根據過去的經驗一直再持續的改版的 ,FHS 依據檔案系統使用的頻繁與否允許使用者随意更動 , 而将目錄定義成為四種互動作用的形态 , 用表格來說有點像底下這樣 :
可分享的 (shareable) | 不可分享的 (unshareable) | |
---|---|---|
不變的 (static) | /usr ( 軟體放置處 ) | /etc ( 配置檔案 ) |
/opt ( 第三方協力軟體 ) | /boot ( 開機不核心檔 ) | |
可變動的 (variable) | /var/mail ( 使用者郵件信箱 ) | /var/run ( 程式相關 ) |
/var/spool/news ( 新聞討論區 ) | /var/lock ( 程式相關 ) |
目錄樹
在類 Unix 系統中并不存在 C/D/E/F 盤符,一切的檔案都是從 “ 根 (/)” 目錄開始的并按照檔案系統目錄标準 FHS 采用樹形結構來存放檔案并定義了每個區域的用途。
目錄名稱嚴格的區分大小寫,例如 root 、 rOOt 、 Root 、 rooT 等等均代表是不同的獨立目錄,并且名稱中不得包含反斜杠 (/) 。
主要常見的目錄定義:
目錄名稱 | 應放置檔案的内容 |
---|---|
/boot | 開機所需檔案 —— 核心,開機菜單及所需配置檔案等 |
/dev | 任何裝置與接口都以檔案形式存放在此目錄 |
/etc | 配置檔案 |
/home | 使用者主目錄 |
/bin | 單使用者維護模式下還能夠被操作的指令 |
/lib | 開機時用到的函數庫及/bin 與/sbin 下面指令要調用的函數 |
/sbin | 開機過程中需要的 |
/media | 一般挂載或删除的裝置 |
/opt | 放置第三方的軟體 |
/root | 系統管理者的主檔案夾 |
/srv | 一些網絡服務的資料目錄 |
/tmp | 任何人均可使用的 “ 共享 ” 臨時目錄 |
/proc | 虛拟檔案系統,例如系統核心,程序,外部裝置及網絡狀态等 |
/usr/local | 使用者自行安裝的軟體 |
/usr/sbin | 非系統開機時需要的軟體/指令/腳本 |
/usr/share | 幫助與說明檔案,也可放置共享檔案。 |
/var | 主要存放經常變化的檔案,如日志。 |
/lost+found | 當檔案系統發生錯誤時,将一些丢失的檔案片段存放在這裡1.3 路徑 |
- 絕對路徑 (absolute): 由根目錄 (/) 開始寫起的目錄或檔案名
- 相對路徑 (relative): 相對于目前路徑的寫法
- 絕對路徑:首先坐車來到你家,到了你家後,右手邊第一個房間就是廁所。
- 相對路徑:前面右拐第一個房間。
[root@rhel7 ~]# cd /etc/sysconfig/network-scripts/
[root@rhel7 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@rhel7 network-scripts]# cd ../modules
[root@rhel7 modules]# pwd
/etc/sysconfig/modules