Linux基礎目錄名稱及功用

FHS目錄規則

Filesystem Hierarchy Standard文件系統目錄標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。

  FHS定義了兩層規范,第一層是, / 下面的各個目錄應該要放什么文件數據,例如/etc應該要放置設置文件,/bin/sbin則應該要放置可執行文件等等。因為Linux的開發人員實在太多了,如果每個人都使用自己的目錄配置方法,那么將可能會帶來很多管理問題。你能想象,你進入一個企業之后,所接觸到的Linux目錄配置方法竟然跟你以前學的完全不同嗎?很難想象。所以,后來就有所謂的文件系統層次標準(Filesystem Hierarchy Standard,FHS)出臺。

  第二層則是針對/usr/var這兩個目錄的子目錄來定義。例如/var/log放置系統登錄文件、/usr/share放置共享數據等等

事實上,FHS針對目錄樹架構僅定義出三層目錄底下應該放置什么數據而已,分別是底下這三個目錄的定義

    / (root, 根目錄)與開機系統有關;

    /usr (unix software resource)與軟件安裝/執行有關;

    /var (variable)與系統運作過程有關.

根目錄/

  根目錄是整個系統最重要的一個目錄,所有的目錄都是由根目錄衍生出來的。與開機/還原/系統修復等動作有關. (由于系統開機時需要特定的開機軟件、核心文件、開機所需程序、 函式庫等等文件數據,若系統出現錯誤時,根目錄也必須要包含有能夠修復文件系統的程序才行)

根目錄下的次目錄有: 

/boot: 引導文件存放目錄;主要在放置開機會使用到的文件,包括Linux核心文件以及開機選單與開機所需配置文件等等內核文件(vmlinuz)、引導加載器(bootloader,grub)都存放于此目錄;

 

/bin: 供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序。系統有很多放置執行文件的目錄,/bin比較特殊.因為/bin放置的是在單人維護模式下還能夠被操作的指令. /bin底下的指令可以被root與一般賬號所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令.

 

/sbin 管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序。Linux有非常多指令是用來設定系統環境的,這些指令只有root才能夠利用來『設定』系統,其他用戶最多只能用來『查詢』而已. 放在/sbin底下的為開機過程中所需要的,里面包括了開機、修復、還原系統所需要的指令. 至于某些服務器軟件程序,一般則放置到/usr/sbin/當中.至于本機自行安裝的軟件所產生的系統執行文件(system binary), 則放置到/usr/local/sbin/當中了.常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等.

 

 /lib:  基本共享庫文件,以及內核模塊文件(lib/modules。系統的函式庫非常的多,/lib放置的則是在開機時會用到的函式庫, 以及在/bin/sbin底下的指令會呼叫的函式庫而已. 什么是函式庫呢?妳可以將他想成是外掛,某些指令必須要有這些『外掛』才能夠順利完成程序的執行之意. 尤其重要的是/lib/modules/這個目錄, 因為該目錄會放置核心相關的模塊(驅動程序)

 

 /lib64: 專用于X86_64系統上的輔助共享庫文件存放位置,64位系統特有的存放64位共享庫的路徑。

 

 /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 配置文件.

 

 /home這是系統默認的用戶家目錄(home directory).用戶的主目錄,包括保存的文件,個人配置,在你新增一個一般使用者賬號時, 默認的用戶家目錄都會規范到這里來.  ~:代表目前這個用戶的家目錄

 

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

 

 /media: 便攜式移動設備掛載點,media是‘’媒體”的英文,顧名思義,這個/media底下放置的就是可移除的裝置, 包括軟盤、光盤、DVD等等裝置都暫時掛載于此.常見的檔名有:/media/floppy, /media/cdrom等等.

 

  /mnt: 臨時文件系統掛載點,如果想要暫時掛載某些額外的裝置,一般可以放置到這個目錄.

  

  /dev: 設備文件及特殊文件存儲位置,集中存放各類設備驅動程序,該分區不要單獨掛載,在Linux系統上,任何裝置與接口設備都是以文件的型態存在于這個目錄當中的只要透過存取這個目錄底下某個文件,就等于存取某個裝置,比較重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*

        b:block device; 隨機訪問

        c:character device; 線性訪問

 

  /opt: 第三方應用程序的安裝位置,這個是給第三方協力軟件放置的目錄, 如果想要自行安裝額外的軟件(非原本的distribution提供的),那么也能夠將你的軟件安裝到這里來. 不過,以前的Linux系統中,我們還是習慣放置 在/usr/local目錄下。

 

  /srv: 系統上運行的服務用到的數據,srvservice的縮寫,是一些網絡服務啟動之后,這些服務所需要取用的數據目錄. 常見的服務例如WWW, FTP等等.舉例來說,WWW服務器需要的網頁數據就可以放置在/srv/www/里面.

 

  /tmp: 公共的臨時文件存儲位置,這是讓一般使用者或者是正在執行的程序暫時放置文件的地方. 這個目錄是任何人都能夠存取的,所以需要定期的清理一下.當然,重要數據不可放置在此目錄!因為FHS甚至建議在開機時,應該要將/tmp下的數據都刪除呢!

 

/usr:   

  universal shared,read-only data,usr(Unix Software Resource Unix操作系統軟件資源) FHS建議所有軟件開發者,應該將他們的數據合理的分別放置到這個目錄下的次目錄,而不要自行建立該軟件自己獨立的目錄.一般來說,/usr的次目錄建議有/usr/bin/ , /usr/include/ ,  /usr/lib/ , /usr/local/ , /usr/sbin/ , /usr/share/ , /usr/src/等。

 

    bin: 保證系統擁有完整功能而提供的應用程序,絕大部分的用戶可使用指令都放在這里!請注意到他與/bin的不同之處.(是否與開機過程有關)。

 

   sbin: 非系統正常運作所需要的系統指令.最常見的就是某些網絡服務器軟件的服務指令(daemon)。

 

    lib: 包含各應用軟件的函式庫、目標文件(object file),以及不被一般使用者慣用的執行檔或腳本(script). 某些軟件會提供一些特殊的指令來進行服務器的設定,這些指令也不會經常被系統管理員操作, 那就會被擺放到這個目錄下啦.要注意的是,如果你使用的是X86_64Linux系統, 那可能會有/usr/lib64/目錄產生

 

   include: C程序的頭文件(header files,c/c++等程序語言的檔頭(header)與包含檔(include)放置處,當我們以tarball方式 (*.tar.gz 的方式安裝軟件)安裝某些數據時,會使用到里頭的許多包含檔。

 

    share: 結構化獨立的數據,例如doc,man,放置共享文件的地方,在這個目錄下放置的數據幾乎是不分硬件架構均可讀取的數據, 因為幾乎都是文本文件嘛!在此目錄下常見的還有這些次目錄:

            /usr/share/man:聯機幫助文件

            /usr/share/doc:軟件雜項的文件說明

            /usr/share/zoneinfo:與時區有關的時區文件

 

    local: 第三方應用程序的安裝位置,系統管理員在本機自行安裝自己下載的軟件(distribution默認提供者),建議安裝到此目錄, 這樣會比較便于管理.例如,distribution提供的軟件較舊,想安裝較新的軟件但又不想移除舊版, 此時可以將新版軟件安裝于/usr/local/目錄下,可與原先的舊版軟件有分別啦! 可以自行到/usr/local去看看,該目錄下也是具有bin, etc, include, lib…的次目錄

     Src一般原始碼建議放置到這里,srcsource的意思.至于核心原始碼則建議放置到/usr/src/linux/目錄下.

 

/var:  

    variable date files目錄主要針對常態性變動的文件,包括緩存(cache)、登錄檔(log file)以及某些軟件運作所產生的文件, 包括程序文件(lock file, run file),或者例如MySQL數據庫的文件等等. 所以/var在系統運作后才會漸漸占用硬盤容量的目錄

  /var的次目錄有:

   cache: 應用程序緩存數據目錄,應用程序本身運作過程中會產生的一些暫存檔;

 

   lib: 應用程序狀態信息數據,程序本身執行的過程中,需要使用到的數據文件放置的目錄.在此目錄下各自的軟件應該要有各自的目錄.例如MySQL的數據庫放置到/var/lib/mysql/rpm的數據庫則放到/var/lib/rpm去!

   local: 專用于為/usr/local下的應用程序存儲可變數據;

 

   lock鎖文件,某些裝置或者是文件資源一次只能被一個應用程序所使用,如果同時有兩個程序使用該裝置時, 就可能產生一些錯誤的狀況,因此就得要將該裝置上鎖(lock),以確保該裝置只會給單一軟件所使用. 例如,刻錄機正在刻錄一塊光盤,如果兩個人同時刻錄,當第一個人在刻錄時該刻錄機就會被上鎖, 第二個人就得要該裝置被解除鎖定(就是前一個人用完了)才能夠繼續使用。

 

   log:日志目錄及文件,這是登錄文件放置的目錄!里面比較重要的文件如/var/log/messages, /var/log/wtmp(記錄登入者的信息)

 

   opt:專用于為/opt下的應用程序存儲可變數據

 

   run:運行中的進程相關的數據,通常用于存儲進程中的PID文件。某些程序或者是服務啟動后,會將他們的PID放置在這個目錄下。

 

   spool:應用程序數據池,這個目錄通常放置一些隊列數據,就是排隊等待其他程序使用的數據, 這些數據被使用后通常都會被刪除.例如,系統收到新信會放置到/var/spool/mail/, 但使用者收下該信件后該封信原則上就會被刪除.信件如果暫時寄不出去會被放到/var/spool/mqueue/, 等到被送出后就被刪除.如果是工作排程數據(crontab),就會被放置到/var/spool/cron/目錄中!

 

   tmp:保存系統兩次重啟之間的臨時數據;

 

/proc: 用于輸出內核與進程信息相關的虛擬文件系統

 

/sys: 用于輸出當前系統上硬件設備相關信息的虛擬文件系統;

 

/selinux: security enhanced Linux,selinux相關的安全策略等信息存儲位置;

原創文章,作者:N24_云淡風輕,如若轉載,請注明出處:http://www.www58058.com/55439

(0)
N24_云淡風輕N24_云淡風輕
上一篇 2016-10-30 11:22
下一篇 2016-10-30 11:37

相關推薦

  • ?實時數據同步方案{ rsync; inotify; }

    實時數據同步方案{ rsync; inotify; } rsync 傳輸數據 安裝 rsyncd 服務 CentOS 6 CentOS 7 配置 rsyncd 服務 配置 rsync 手動同步示例     啟動 rsyncd 服務 CentOS 6 CentOS 7 rsync 客戶端命令 rsync 數據傳輸功能 基…

    Linux干貨 2016-10-29
  • 網絡相關命令

    網絡相關命令 常用命令 ifcfg家族:   ifconfig:配置IP,NETMASK   route :路由   netstat : 狀態及統計數據查看 iproute2家族     ip  系列 &nbs…

    Linux干貨 2016-09-07
  • N26 第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。  [1]mkdir : make directories            mkdir [OPTION]… DIRECTORY… &n…

    Linux干貨 2017-02-05
  • MySQL系列之一鍵安裝腳本—-單實例/多實例

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1440414       最近在搞MySQL,由于經常測試一些東西。因此,就寫了一個一鍵安裝腳本。 腳本用途: 用于在…

    Linux干貨 2016-08-15
  • Linux各發行版、哲學思想、基礎目錄

    Linux發行版本? Linux操作系統的發行版本可以大體分為兩類,一類是商業公司維護的發行版本,一類是社區組織維護的發行版本,前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。               R…

    Linux干貨 2016-10-26
  • 文件管理及常用命令(一)

    cat命令: -n 增加行號 空行也增加行號          [root@localhost ~]# cat f1     abcd     abc…

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 17:22

    內容格式把握得很好,不錯,希望你能熟知基礎命令知識,加油!

欧美性久久久久