Linux下,根據FHS定義出來的每一個目錄的做用

(下表摘自《鳥哥的Linux的私房菜》)linux

在Linux下,根據FHS定義出來的每一個目錄應該放置的檔案內容爲:c++

目錄 應放置檔案內容
/ 根目錄 root (/),通常建議在根目錄底下只接目錄,不要直接有檔案在 / 底下。根目錄是開機的時候系統第一個掛載的 partition ,因此,全部開機過程會用到的檔案, 應該都要放置在這個 partition 當中。舉例來講, /etc, /bin, /dev,/lib, /sbin 這五個次目錄都應該要與根目錄連在一塊兒,不可獨立成爲某個partition 呢!

/bin,數據庫

/usr/bin,windows

/usr/local/bin服務器

除了 /bin 以外, /usr/local/bin, /usr/bin 也是放置『使用者可執行的 binaryfile 的目錄』喔!舉例來講, ls, mv, rm, mkdir, rmdir, gzip, tar, cat, cp,mount 等等重要指令都放在這個目錄當中。

/boot網絡

這個目錄主要的目的是放置 Linux 系統開機會用到的檔案。 開機會用到什麼呢?沒錯~就是 Linux 的核心檔案。這個目錄底下文件名爲 vmlinuz 的就是 Linux的 Kernel 啦!粉重要的東西! 而若是你的開機管理程序 (loader) 選擇 grub 的話,那麼這個目錄內還有 /boot/grub 這個次目錄呦!
/dev 在 Linux 系統上,任何裝置與接口設備都是以檔案的型態存在於這個目錄當中的。您只要透過存取這個目錄底下的某個檔案,就等於存取某個裝置囉~ 主要又分爲接口設備 (character device),例如鍵盤、鼠標等;以及儲存設備 (block device),例如硬盤、光盤等等。在此目錄下的檔案會多出兩個屬性,分別是 major devicenumber , 與 minor device number 。咱們的系統核心就是透過這兩個 number 來判斷裝置的呢! 比要重要的檔案有 /dev/null, /dev/tty[1-6], /dev/ttyS*,/dev/lp*, /dev/hd*, /dev/sd* 等等
/etc

系統主要的設定文件幾乎都放置在這個目錄內,例如人員的帳號密碼文件、 各類服務的啓始檔等等。通常來講,這個目錄下的各檔案屬性是可讓通常使用者查閱的, 可是隻有 root 有權力修改。而且在此目錄下的檔案几乎都是 ASCII 的純文本文件哩。 不過, FHS 建議不要放置可執行文件在這個目錄中喔。比較重要的檔案有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf,  /etc/X11, /etc/fstab,  /etc/sysconfig/ 等等。另外,其下重要的目錄有:ui

• /etc/init.d/:全部服務的預設啓動 script 都是放在這裏的,例如要啓動或者關閉 iptables 的話:spa

  /etc/init.d/iptables start操作系統

  /etc/init.d/iptables stop設計

• /etc/xinetd.d/:這就是所謂的 super daemon 管理的各項服務的設定文件目錄。

• /etc/X11:與 X Window 有關的各類設定檔都在這裏,尤爲是 xorg.conf或 XF86Config 這兩個 X Server 的設定檔。

/home

這是系統預設的使用者家目錄 (home directory)。在你新增一個通常使用者帳號時, 預設的使用者家目錄都會規範到這裏來。比較重要的是,家目錄有兩種代號喔:

~:表明目前這個使用者的家目錄

~usr_1 :則表明 usr_1 的家目錄!

/lib,

/usr/lib,

/usr/local/lib

系統會使用到的函式庫放置的目錄。 程序在運做的過程當中,可能會呼叫一些額外的功能參數,那須要函式庫的協助! 這些函式庫就放在此處。比較重要的是/lib/modules 這個目錄內會擺放 kernel 的相關模塊喔!
/lost+found 系統不正常產生錯誤時,會將一些遺失的片斷放置於此目錄下, 一般這個目錄會自動出如今某個 partition 最頂層的目錄下。例如你加裝一棵硬盤於 /disk 中,那在這個目錄下就會自動產生一個這樣的目錄 /disk/lost+found

/mnt

/media

 這是軟盤與光盤預設掛載點的地方;一般軟盤掛在 /mnt/floppy 下,而光盤掛在/mnt/cdrom 下,不過也不必定啦!只要你高興,隨便找一個地方來掛載也能夠呀!另外,目前也規劃出另外一個 /media 的目錄呢!與 /mnt 有點相似~
 /opt  這是給主機額外安裝軟件所擺放的目錄。舉例來講, FC4 使用的是 Fedora 社羣開發的軟件, 若是您今天想要自行安裝新的 KDE 桌面軟件的話,能夠將該軟件安裝在這個目錄下的意思。 不過,之前的 Linux 系統中,咱們仍是習慣放置在/usr/local 目錄下呢!
 /proc  這個目錄自己是一個『虛擬檔案系統』喔!他放置的數據都是在內存當中, 例如系統核心、造成信息、接口設備的狀態及網絡狀態等等。由於這個目錄下的數據都是在內存當中, 因此自己不佔任何硬盤空間啊!比較重要的檔案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。
 /root  系統管理員 (root) 的家目錄。之因此放在這裏, 是由於咱們提過,系統第一個開機就被掛載的 partition 爲 / , 而咱們但願 /root 可以與 / 放在同一塊partition 上面之故。
 

/sbin,

/usr/sbin,

/usr/local/sbin

 放置一些系統管理員纔會動用到的執行指令,例如: fdisk, mke2fs, fsck,mkswap, mount 等等。與 /bin 不太同樣的地方,這幾個目錄是給 root 等系統管理用的。可是本目錄下的執行文件仍是可讓通常使用者用來『察看』而不能設定喔!
 /srv  一些服務啓動以後,這些服務所須要取用的數據目錄。舉例來講,WWW 服務器須要的網頁資料就能夠放置在 /srv/www 裏面。
 /tmp  這是讓通常使用者或者是正在執行的程序暫時放置檔案的地方。 這個目錄是任何人都可以存取的,因此您須要按期的清理一下。固然,重要數據不可放置在此目錄啊!
 /usr

由 FHS 規範的第二層內容,在 /usr 此目錄下,包含系統的主要程序、 圖形接口所須要的檔案、額外的函式庫、本機端所自行安裝的軟件,以及共享的目錄與文件等等, 均可以在這個目錄當中發現。事實上,他有點像是 Windows 操做系統當中的『Program files』與 『WinNT』這兩個目錄的結合!在此目錄下的重要次目錄有:

  • /usr/bin, /usr/sbin:通常身份使用者與系統管理員可執行的檔案放置目錄;
  • /usr/include:c/c++等程序語言的檔頭 (header) 與包含檔(include)放置處, 當咱們以 tarball 方式 (*.tar.gz 的方式安裝軟件) 安裝某些數據時,會使用到裏頭的許多包含檔;
  • /usr/lib:各應用軟件的函式庫檔案放置目錄;
  • /usr/local:本機端自行安裝的軟件預設放置的目錄。目前也適用於 /opt目錄。在你安裝完了 Linux 以後,基本上全部的配備你都有了,可是軟件老是能夠升級的, 例如你要升級你的 proxy 服務,則一般軟件預設的安裝地方就是在 /usr/local (local 是『當地』的意思),同時,安裝完畢以後所獲得的執行文件,爲了與系統原先的執行文件有分別, 所以升級後的執行檔一般擺在 /usr/local/bin 這個地方。給個建議啦, 一般鳥哥都會將後來才安裝上去的軟件放置在這裏,由於便於管理呦;
  • /usr/share:共享文件放置的目錄,例如底下兩個目錄:
  • /usr/share/doc:放置一些系統說明文件的地方,例如你安裝了 grub 了,那麼在該目錄底下找一找,就能夠查到 lilo 的說明文件了!非常便利!
  • /usr/share/man:manpage 的文件檔案目錄;那是什麼?呵呵! 就是你使用 man 的時候,會去查詢的路徑呀!例如你使用 man ls 這個指令時,就會查出 /usr/share/man/man1/ls.1.gz 這個說明檔的內容囉!
  • /usr/src:Linux 系統相關的程序代碼放置目錄,例如 /usr/src/linux爲核心原始碼!
  • /usr/X11R6:系統內的 X Window System 所需的執行檔幾乎都放在這!
/var

這個目錄也很重要,也是 FHS 規範的第二層目錄內容。他主要放置的是針對系統執行過程當中, 常態性變更的檔案放置的目錄。舉例來講,例如快取檔案 (cache) 或者是隨時變動的登陸檔 (log file) 都是放在這個目錄中的。此外,某些軟件執行過程當中會寫入的數據庫檔案, 例如 MySQL 數據庫,也都寫入在這個目錄中!很重要吧!他底下的重要目錄有:

  • /var/cache:程序檔案在運做過程中的一些暫存盤;
  • /var/lib:程序自己執行的過程當中,須要使用到的數據文件放置的目錄,舉例來講, locate 這個數據庫與 MySQL 及 rpm 等數據庫系統,都寫在這個目錄內。
  • /var/log:登陸文件放置的目錄。很重要啊!例如 /var/log/messages 就是總管全部登陸檔的一個檔案!
  • /var/lock:某些裝置具備一次性寫入的特性,例如 tab (磁帶機), 此時,爲了擔憂被其它人干擾而破壞正在運做的動做,所以,會將該裝置lock (鎖住)起來, 以肯定該裝置只能被單一個程序所使用啊!
  • /var/run:某些程序或者是服務啓動後,會將他們的 PID 放置在這個目錄下喔!
  • /var/spool:是一些隊列數據存放的地方。舉例來講,主機收到電子郵件後, 就會放置到 /var/spool/mail 當中,若信件暫時發不出去,就會放置到 /var/spool/mqueue 目錄下, 使用者工做排程 (cron) 則是放置在/var/spool/cron 當中!

能夠粗略歸納以下:

目錄 做用
/bin

二進制可執行命令

/dev

設備特殊文件

/etc

系統管理和配置文件

/etc/rc.d

啓動的配置文件和腳本

/home

用戶主目錄的基點,好比用戶user的主目錄就是/home/user,能夠用~user表示

/lib

 標準程序設計庫,又叫動態連接共享庫,做用相似windows裏的.dll文件

/sbin

 系統管理命令,這裏存放的是系統管理員使用的管理程序

/tmp

公用的臨時文件存儲點

/root

 系統管理員的主目錄(呵呵,特權階級)

/mnt

 系統提供這個目錄是讓用戶臨時掛載其餘的文件系統。

/lost+found

 這個目錄平時是空的,系統非正常關機而留下「無家可歸」的文件(windows下叫什麼.chk)就在這裏

/proc

虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。 

/var

 某些大文件的溢出區,比方說各類服務的日誌文件

/usr

 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包含:

  • /usr/x11r6    存放x window的目錄
  • /usr/bin    衆多的應用程序
  • /usr/sbin    超級用戶的一些管理程序
  • /usr/doc    linux文檔
  • /usr/include    linux下開發和編譯應用程序所須要的頭文件
  • /usr/lib    經常使用的動態連接庫和軟件包的配置文件
  • /usr/man    幫助文檔
  • /usr/src    源代碼,linux內核的源代碼就放在/usr/src/linux裏
  • /usr/local/bin    本地增長的命令
  • /usr/local/lib    本地增長的庫根文件系統
相關文章
相關標籤/搜索