linux目录配置

来源:互联网 发布:遍历对象数组 编辑:程序博客网 时间:2024/05/19 12:25
Filesystem Hierarchy Standard (FHS)规范每个特定的目录下应该要放置什么样的资料。FHS依據檔案系統使用的頻繁與否與是否允許使用者隨意更動, 而將目錄定義成為四種交互作用的形態,用表格來說有點像底下這樣:


可分享的(shareable)

不可分享的(unshareable)

不变的(static)

/usr (軟體放置處)

/etc (設定檔)


/opt (第三方協力軟體)

/boot (開機與核心檔)

可变动的(variable)

/var/mail (使用者郵件信箱)

/var/run (程序相關)


/var/spool/news (新聞群組)

/var/lock (程序相關)

FHS針對目錄樹架構僅定義出三層目錄底下應該放置什麼資料而已,分別是底下這三個目錄的定義:

 

  • / (root, 根目錄):與開機系統有關;
  • /usr (unix software resource):與軟體安裝/執行有關;
  • /var (variable):與系統運作過程有關。
根目录:
root@lee-pc:/# ls
bin    etc             lib         opt   sbin     tmp      vmlinuz.old
boot   home            lost+found  proc  selinux  usr
cdrom  initrd.img      media       root  srv      var
dev    initrd.img.old  mnt         run   sys      vmlinuz
/bin:系統有很多放置執行檔的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。 在/bin底下的指令可以被root與一般帳號所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。

/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』
  • /etc/xinetd.d/:這就是所謂的super daemon管理的各項服務的設定檔目錄。
  • /etc/X11/:與 X Window 有關的各種設定檔都在這裡,尤其是 xorg.conf 這個 X Server 的設定檔。
/lib:    系統的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫, 以及在/bin或/sbin底下的指令會呼叫的函式庫而已。 什麼是函式庫呢?妳可以將他想成是『外掛』,某些指令必須要有這些『外掛』才能夠順利完成程式的執行之意。 尤其重要的是/lib/modules/這個目錄, 因為該目錄會放置核心相關的模組(驅動程式)。

/opt:    這個是給第三方協力軟體放置的目錄。什麼是第三方協力軟體啊? 舉例來說,KDE這個桌面管理系統是一個獨立的計畫,不過他可以安裝到Linux系統中,因此KDE的軟體就建議放置到此目錄下了。 另外,如果妳想要自行安裝額外的軟體(非原本的distribution提供的),那麼也能夠將你的軟體安裝到這裡來。 不過,以前的Linux系統中,我們還是習慣放置在/usr/local目錄下呢!

/sbin:    Linux有非常多指令是用來設定系統環境的,這些指令只有root才能夠利用來『設定』系統,其他使用者最多只能用來『查詢』而已。 放在/sbin底下的為開機過程中所需要的,裡面包括了開機、修復、還原系統所需要的指令。 至於某些伺服器軟體程式,一般則放置到/usr/sbin/當中。至於本機自行安裝的軟體所產生的系統執行檔(system binary), 則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

/tmp:    這是讓一般使用者或者是正在執行的程序暫時放置檔案的地方。 這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當然,重要資料不可放置在此目錄啊! 因為FHS甚至建議在開機時,應該要將/tmp下的資料都刪除唷!

/boot:    放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需設定檔等等。 Linux kernel常用的檔名為:vmlinuz,如果使用的是grub這個開機管理程式, 則還會存在/boot/grub/這個目錄。

/home:    這是系統預設的使用者家目錄(home directory)。在你新增一個一般使用者帳號時, 預設的使用者家目錄都會規範到這裡來。比較重要的是,家目錄有兩種代號喔:
~:代表目前這個使用者的家目錄,而
~dmtsai :則代表 dmtsai 的家目錄!

/lost+found :    這個目錄是使用標準的ext2/ext3檔案系統格式才會產生的一個目錄,目的在於當檔案系統發生錯誤時, 將一些遺失的片段放置到這個目錄下。這個目錄通常會在分割槽的最頂層存在, 例如你加裝一顆硬碟於/disk中,那在這個系統下就會自動產生一個這樣的目錄『/disk/lost+found』

/proc:    這個目錄本身是一個『虛擬檔案系統(virtual filesystem)』他放置的資料都是在記憶體當中, 例如系統核心、行程資訊(process)、周邊裝置的狀態及網路狀態等等。因為這個目錄下的資料都是在記憶體當中, 所以本身不佔任何硬碟空間啊!比較重要的檔案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。

/media:    /media底下放置的就是可移除的裝置啦! 包括軟碟、光碟、DVD等等裝置都暫時掛載於此。常見的檔名有:/media/floppy, /media/cdrom等等。

/root:    系統管理員(root)的家目錄。之所以放在這裡,是因為如果進入單人維護模式而僅掛載根目錄時, 該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個分割槽中。

/srv:    srv可以視為『service』的縮寫,是一些網路服務啟動之後,這些服務所需要取用的資料目錄。 常見的服務例如WWW, FTP等等。舉例來說,WWW伺服器需要的網頁資料就可以放置在/srv/www/裡面。

/dev:    在Linux系統上,任何裝置與周邊設備都是以檔案的型態存在於這個目錄當中的。 你只要透過存取這個目錄底下的某個檔案,就等於存取某個裝置囉∼ 比要重要的檔案有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*等等

/mnt:    如果妳想要暫時掛載某些額外的裝置,一般建議妳可以放置到這個目錄中。 在古早時候,這個目錄的用途與/media相同啦!只是有了/media之後,這個目錄就用來暫時掛載用了

/sys:    這個目錄其實跟/proc非常類似,也是一個虛擬的檔案系統,主要也是記錄與核心相關的資訊。 包括目前已載入的核心模組與核心偵測到的硬體裝置資訊等等。這個目錄同樣不佔硬碟容量!

因為根目錄與開機有關,開機過程中僅有根目錄會被掛載, 其他分割槽則是在開機完成之後才會持續的進行掛載的行為。就是因為如此,因此根目錄下與開機過程有關的目錄, 就不能夠與根目錄放到不同的分割槽去!那哪些目錄不可與根目錄分開呢?有底下這些:

 

  • /etc:設定檔
  • /bin:重要執行檔
  • /dev:所需要的裝置檔案
  • /lib:執行檔所需的函式庫與核心所需的模組
  • /sbin:重要的系統執行檔
/usr:    usr是Unix Software Resource的缩写,Unix作业系统软件资源所放置的目录。FHS建议所有软件开发者,应该将他们的资料合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。因为是所有系统预设的软件都会放置到/usr下,因此这个目录有点类似windows系统的C:\Windows\(当中的一部份)+C:\program files\这两个目录的综合体。一般来说,/usr的次目录建议有以下:
/usr/X11R6/:     为X windows System重要资料所放置的目录.
/usr/bin/:    绝大部分的使用者可使用指令都放在这里。它与/bin的不同之处(是否与开机过程有关)。
/usr/include/:C/C++等程序语言的header与include放置处,当我们以tarball方式(*.tar.gz的方式安装软件)安装某些资料时,会使用道里面的许多包。
/usr/lib/: 包含应用软件的函数库、目标档案(object file),以及不被一般使用者惯用的执行档或脚本。
/usr/local/: 系统管理员在本机自行安装自己下载的软件,建议安装道此目录,便于管理。
/usr/sbin/: 非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令。
/usr/share/: 放置共享文件。常见的次目录有/usr/share/man(线上说明文件)、/usr/share/doc(文档说明)、/usr/share/zoneinfo(与时区有关)
/usr/src/:源代码放置。

/var:    是在系统运作后才会渐渐占用硬盘容量的目录。常见的次目录有:
/var/cache/: 应用程序本身执行过程中会产生的一些暂存档。
/var/lib/: 程序本身执行过程中,需要使用到的资料档案放置的目录。
/var/lock/: 确保某些设备或档案资源一次只能被一个应用程序使用。
/var/log/: 登录档案放置的目录。(重要)
/var/mail/: 个人电邮资料放置目录。也被放置到/var/spooal/mail目录中。通常连个目录是互为链接档。
/var/run/: 某些程序或服务启动后,会将他们的PID放置在这个目录下。
/var/spool/: 放置一些队列资料(排队等候其他程序使用的资料)。这些资料被使用后通常都会被删除。

​​​
    

原创粉丝点击