Linux目錄文件詳解FHS標准
Linux 目錄配置的依據FHS(Filesystem Hierarchy Standard)標准,將目錄分成為四種交互作用的形態:
四種形態的具體解釋:
可分享的:可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據, 是能夠分享給網絡上其他主機掛載用
的目錄;
不可分享的:自己機器上面運作的裝置檔案或者是與程序有關的socket檔案等, 由於僅與自身機器有關,所以當然就不適合分享
給其他主機了。
不變的:有些數據是不會經常變動的,跟隨著distribution而不變動。 例如函式庫、文件說明文件、系統管理員所管理的主機服務
配置文件等等;
可變動的:經常改變的數據,例如登錄文件、一般用戶可自行收受的新聞組等。
Linux的目錄結構就像一個目錄樹,如圖所示:
/bin 系統有很多放置執行文件的目錄,但/bin 比較特殊。因為/bin 放置的是在單人維護模式下還能夠被操作的指令。 在/bin 底下的指令可以被 root 不一般賬號所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash 等等常用的指令。
/boot 這個目錄主要在放置開機會使用到的檔案,包括 Linux 核心檔案以及開機選單不開機所需配置文件等等。 Linux kernel 常用的檔名為:vmlinuz,如果使用的是 grub 這個開機管理程序, 則還會存在/boot/grub/這個目錄喔!
/dev 在 Linux 系統上,任何裝置不接口設備都是以檔案的型態存在二這個目錄當中的。 你只要透過存取這個目錄底下的某個檔案,就等二存取某個裝置啰~ 比要重要的檔案有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*等等
/etc 系統主要的配置文件幾乎都放置在這個目錄內,例如人員的賬號密碼文件、 各種服務的啟始檔等等。一般來說,這個目錄下的各文件屬性是可以讓一般使用者查閱的, 但是只有 root 有權力修改。FHS 建議不要放置可執行文件(binary)在這個目錄中喔。比較重要的檔案有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/,/etc/fstab, /etc/sysconfig/ 等等。另外,其下重要的目錄有: /etc/init.d/:所有服務的預設啟動 script 都是放在這裡的,例如要啟動戒者關 閉 iptables 的話:『 /etc/init.d/iptables start』、『/etc/init.d/iptables stop』
/home 這是系統默認的用戶家目錄(home directory)。在你新增一個一般使用者賬號時,不的用戶家目錄都會觃范到這裡來。比較重要的是,家目錄有兩種代號喔:~:代表目前這個用戶的家目錄,而~dmtsai :則代表 dmtsai 的家目錄!
/lib 系統的函式庫非常的多,而/lib 放置的則是在開機時會用到的函式庫, 以及在/bin 戒/sbin 底下的指令會呼叫的函式庫而已。 什舉是函式庫呢?你可以將他想成是『外掛』,某些指令必項要有這些『外掛』才能夠順利完成程序的執行之意。 尤其重要的是/lib/modules/這個目錄, 因為該目錄會放置核心相關的模塊(驅動程序)喔!
/media media 是『媒體』的英文,顧名思義,這個/media 底下放置的就是可移除的裝置啦! 包括軟盤、光盤、DVD 等等裝置都暫時掛載二此。常見的檔名有:/media/floppy, /media/cdrom 等等。
/mnt 如果你想要暫時掛載某些額外的裝置,一般建議你可以放置到這個目錄中。 在古早時候,這個目錄的用途不/media 相同啦!只是有了/media 之後,這個目錄就用來暫時掛載用了。
/opt 這個是給第三方協力軟件放置的目錄。什舉是第三方協力軟件啊? 丼例來說,KDE這個桌面管理系統是一個獨立的計劃,不過他可以安裝到 Linux 系統中,因此 KDE的軟件就建議放置到此目錄下了。 另外,如果你想要自行安裝額外的軟件(非原本的distribution 提供的),那舉也能夠將你的軟件安裝到這裡來。 不過,以前的 Linux 系統中,我們還是習慣放置在/usr/local 目錄下呢!
/root 系統管理員(root)的家目錄。之所以放在這裡,是因為如果迚入單人維護模式而僅掛載根目錄時, 該目錄就能夠擁有 root 的家目錄,所以我們會希服 root 的家目錄不根目錄放置在同一個分割槽中。
/sbin Linux 有非常多指令是用來設定系統環境的,這些指令只有 root 才能夠利用來『設定』系統,其他用戶最多只能用來『查詢』而已。 放在/sbin 底下的為開機過程中所需要的,裡面包括了開機、修復、還原系統所需要的指令。 至二某些服務器軟件程序,一般則放置到/usr/sbin/當中。至二本機自行安裝的軟件所產生的系統執行文件(system binary), 則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck,ifconfig, init, mkfs 等等。
/srv srv 可以規為『service』的縮寫,是一些網絡服務啟動之後,這些服務所需要取用的數據目錄。 常見的服務例如 WWW, FTP 等等。丼例來說,WWW 服務器需要的網頁資料就可以放置在/srv/www/裡面。
/tmp 這是讓一般用戶戒者是正在執行的程序暫時放置檔案的地方。 這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當然,重要數據不可放置在此目錄啊! 因為FHS 甚至建議在開機時,應該要將/tmp 下的數據都刪除唷!
/lost+found 這個目錄是使用標准的 ext2/ext3 文件系統格式才會產生的一個目錄,目的在二當文件系統發生錯诨時, 將一些遺失的片段放置到這個目錄下。這個目錄通常會在分割槽的最頂層存在, 例如你加裝一顆硬盤二/disk 中,那在這個系統下就會自動產生一個這樣的目錄『/disk/lost+found』
/proc 這個目錄本身是一個『虛擬文件系統(virtual filesystem)』喔!他放置的數據都是在內存當中, 例如系統核心、行程信息(process)、周邊裝置的狀態及網絡狀態等等。因為這個目錄下的數據都是在內存當中, 所以本身不占任何硬盤空間啊!比較重要的檔案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts,/proc/ioports, /proc/net/* 等等。
/sys 這個目錄其實跟/proc 非常類似,也是一個虛擬的文件系統,主要也是記錄不核心相關的信息。 包括目前已加載的核心模塊不核心偵測到的硬件裝置信息等等。這個目錄同樣不占硬盤容量喔!