檔案目录作用

来源:互联网 发布:数据分析与数据库 编辑:程序博客网 时间:2024/05/01 04:34

目錄 應放置檔案內容 / 根目錄 root (/),一般建議在根目錄底下只接目錄,不要直接有檔案在 / 底下。 根目錄是開機的時候系統第一個掛載的 partition ,所以,所有開機過程會用到的檔案, 應該都要放置在這個 partition 當中。舉例來說, /etc, /bin, /dev, /lib, /sbin 這五個次目錄都應該要與根目錄連在一起,不可獨立成為某個 partition 呢! /bin,
/usr/bin,
/usr/local/bin 除了 /bin 之外, /usr/local/bin, /usr/bin 也是放置『使用者可執行的 binary file 的目錄』喔!舉例來說, 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 device number , 與 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/ 等等。另外,其下重要的目錄有:
  • /etc/init.d/:所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉 iptables 的話:
    /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)。在你新增一個一般使用者帳號時, 預設的使用者家目錄都會規範到這裡來。比較重要的是,家目錄有兩種代號喔:
~:代表目前這個使用者的家目錄,而
~dmtsai :則代表 dmtsai 的家目錄! /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 了,那麼在該目錄底下找一找,就可以查到 grub 的說明文件了!很是便利!
  • /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 當中!

 

你或許可以將你的系統做成這樣的 partition 分佈:

    /
    /boot
    /usr
    /home
    /var

這是比較常見的磁碟分佈情況,其中:

  • / 根目錄可以分配約 1 GB 以內;
  • /boot 大概在 50 MB 就可以了,因為開機檔案並不大;
  • /var 就至少需要 1GB 以上,因為你的 mail 、 proxy 預設的儲存區都在這個目錄中,除非你要將一些設定改變!
  • /home 與 /usr 通常是最大的,因為你所安裝的資料都是在 /usr/ 當中,而用戶資料則放置在 /home 當中,因此通常大家都會建議你將所剩下的磁碟空間平均分配給這兩個目錄說! 不過也不一定啦! /usr 大概給個 10G 就很多了~其他的可以都給 /home ,也可以保留一些剩餘空間來作為以後的安裝與設定用啊!

需要特別注意的目錄

在上一節當中我們大約瞭解了各個目錄下所放置的檔案的用途。或許您會看得很吃力,不過,不要擔心, 等到後面的章節看完後,再回來這裡瞧一瞧,就會很清楚的知道每個目錄的意義囉!而這些目錄當中, 有幾個比較有趣的目錄還是需要特別來提醒一下的:

  • 建議不可與 root partition 分開的目錄
    我們在 安裝 FC4 那個章節裡面,有提到磁碟分割 (partition) 的概念對吧!在 Linux 的安裝裡面,最重要的就是根目錄 / 所在的那個 partition 了。 我們也可以將其他的例如 /home 放在不同的 partition 裡面。那麼是否有『一定』要放在 root partition 內的目錄呢?有啊!那就是: /etc/, /sbin/, /bin/, /dev/ 以及 /lib/ 這幾個目錄了。

    為什麼呢?因為我們的 Linux 系統在開機的時候,一開始進行核心載入時, 只會掛載一個 partition ,那就是 / 。但是開機的時候會用到很多的指令與函式庫,舉例來說,要掛載, 就得需要 mount 這支程式,而且我們也需要 init 這支程式,還需要用到很多的設定檔,例如 /etc/inittab 等等。而我們核心的模組則是放置在 /lib 裡面。當然, /dev 是所有裝置放置的目錄, 也需要在開機的時候使用到的。因此,這些目錄都需要跟 / 綁在一起喔! 先有概念即可,下面兩章會跟您介紹所謂的 partition 概念的!

  • 建議最好獨立成為單一 partition 的目錄
    上面提到的是最好不要跟 / 這個 partition 分離的目錄。至於有些目錄則是因為安全性與特殊功能性, 而希望能夠獨立成為一個自己的 partition 呢!例如: /home, /usr, /var, /tmp 等等。

    我們必須要先知道的,系統上的使用者個人家目錄在 /home 裡面, 這個目錄也是可能被使用的最頻繁的目錄之一。此外,為了資源分配較為平均, 我們可能會希望針對每個人限制他可以使用的最大硬碟總量 (quota),在這個前提之下, 您就必須要將 /home 獨立出來,而且最好這個 partition 能夠大一點,尤其是您的 Linux 是作為檔案伺服器 (file server) 時,就更形重要了。

    至於 /usr 則是一些程式安裝的目錄,也可以獨立出來的;還有 /var/, 這個目錄由於記錄了相當多的常用資料,讀取真的是很頻繁,所以是『很容易掛點的 partition 一!』 如果能夠將他獨立出來,那麼當 /var/ 真的、萬一、不小心掛點時,就不會影響到其他的 partition , 最起碼能有一定程度的安全性啦!

  • 特別重要的幾個目錄
    除了針對 partition 的觀念來談目錄的重要性之外,有幾個比較重要的目錄您也需要瞭解一下:
    • /etc:這個目錄是系統設定檔放置的地方, 包括您系統上的帳號與密碼 (/etc/passwd, /etc/shadow),還有開機時所要用到的各項設定值 (/etc/sysconfig/*) ,還有各主要的網路服務的設定檔,都在這個目錄中。 意思就是說,如果這個目錄底下的檔案被刪除或者是死掉了,嘿嘿~ 您的系統大概也就需要『很花功夫』的重建了~ ^_^。因此, 一般鳥哥都會定期將這個目錄的所有檔案給他備份下來, 反正這個目錄的大小應該不會超過 50MB 才對,多多備份,有備無患啊!

    • /usr/local:雖然說目前已經將這個目錄的重要性移動到 /opt 了, 但是鳥哥還是比較習慣將我自己開發或自行額外安裝的軟體放置在這個 /usr/local 目錄下。 如果您的 Linux 系統是多人共管的話,那麼,養成一個良好的操作習慣是有必要的。 那麼安裝軟體的習慣也要好好建立起來啊~不要隨意安裝呢! 統一放置在 /usr/local 或者是 /opt 底下吧! ^_^

    • /var:在上面提過一次,這裡再次強調。 這個目錄是在管理系統運作過程中的重要中間暫存資料的,例如 /var/lib 與 /var/run 。 此外,最終的資料例如郵件 /var/spool/mail 也是放置在這個目錄中~ 另外,幾乎所有服務的登錄檔 (可以記錄誰、什麼時候、由哪裡登入主機、做了什麼事等等資訊!) 都放在 /var/log 這個目錄下,因此,這個目錄也很重要。記得常常去檢查 /var/log/messages 這個檔案是否有異常啊~
  • 原创粉丝点击