Linux 目錄配置
Linux目錄配置標準:FHS
因為利用Linux來開發產品或distributions的團隊/公司與個人實在太多了,如果每個人都用自己的想法來配置文件放置的目錄,那么將可能造成很多管理上的困擾。所以/后來就有所謂的Filesystem Hierarchy Standard (FHS)標準出爐了。
根據FHS(http://www.pathname.com/fhs/)的官方文件指出, 他們的主要目的是希望讓使用者可以了解到已安裝軟件通常放置于那個目錄下, 所以他們希服獨立的軟件開發商、操作系統制作者、以及想要維護系統的用戶,都能夠遵循FHS的標準。也就是說,FHS的重點在于規范每個特定的目錄下應該要放置什么樣子的數據而已。 這樣做好處非常多,因為Linux操作系統就能夠在既有的面貌下(目錄架構不變)發展出開發者想要的獨特風格。
亊實上,FHS針對目錄樹架構僅定義出三層目錄底下應該放置什么數據而已,分別是底下這三個目錄的定義:
? / (root, 根目彔):不開機系統有關;
? /usr (unix software resource):不軟件安裝/執行有關;
? /var (variable):不系統運作過程有關。
根目錄(/)的意義與內容
根目錄是整個系統最重要的一個目錄,因為不但所有的目錄都是由根目錄衍生出來的, 同時根目錄也與開機,還原,系統修復等動作有關。
FHS標準建議:根目錄(/)所在分區應該越小越好, 且應用程序所安裝的軟件最好不要與根目錄放在同一個分區內,保持根目錄越小越好。 如此不但性能較好,根目錄所在的文件系統也較不容易發生問題。
表格
目錄 | 應放置檔案內容 |
---|---|
/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/ 等等。 |
/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下的數據都刪除。 |
以上內容多參考于《鳥哥的Linux私房菜》
原創文章,作者:XIAJIDONG,如若轉載,請注明出處:http://www.www58058.com/71867
寫的很不錯,由其是內容上對linux目錄的說明,排版就如果能再好些就更好了