小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

FHS介紹

 笑觀云卷云舒 2016-08-12

FHS(Filesystem Hierarchy Standard):


FHS依據(jù)文件系統(tǒng)使用的頻繁與否與是否允許使用者隨意更動, 而將目錄定義成為四種交互作用的形態(tài),用表格來說有點(diǎn)像底下這樣:

 可分享的(shareable)不可分享的(unshareable)
不變的(static)/usr (軟件放置處)/etc (配置文件)
 /opt (第三方協(xié)力軟件)/boot (開機(jī)與核心檔)
可變動的(variable)/var/mail (使用者郵件信箱)/var/run (程序相關(guān))
 /var/spool/news (新聞組)/var/lock (程序相關(guān))
  • 可分享的:可以分享給其他系統(tǒng)掛載使用的目錄,所以包括執(zhí)行文件與用戶的郵件等數(shù)據(jù), 是能夠分享給網(wǎng)絡(luò)上其他主機(jī)掛載用的目錄;
  • 不可分享的:自己機(jī)器上面運(yùn)作的裝置文件或者是與程序有關(guān)的socket文件等, 由于僅與自身機(jī)器有關(guān),所以當(dāng)然就不適合分享給其他主機(jī)了.
  • 不變的:有些數(shù)據(jù)是不會經(jīng)常變動的,跟隨著distribution而不變動. 例如函式庫、文件說明文件、系統(tǒng)管理員所管理的主機(jī)服務(wù)配置文件等等;
  • 可變動的:經(jīng)常改變的數(shù)據(jù),例如登錄文件、一般用戶可自行收受的新聞組等.

 

事實(shí)上,FHS針對目錄樹架構(gòu)僅定義出三層目錄底下應(yīng)該放置什么數(shù)據(jù)而已,分別是底下這三個(gè)目錄的定義:

  1. / (root, 根目錄):與開機(jī)系統(tǒng)有關(guān);
  2. /usr (unix software resource):與軟件安裝/執(zhí)行有關(guān);
  3. /var (variable):與系統(tǒng)運(yùn)作過程有關(guān).

根目錄 (/) 的意義與內(nèi)容

概要:

  1. 所有的目錄都是由根目錄衍生出來的(根目錄是整個(gè)系統(tǒng)最重要的一個(gè)目錄)
  2. 與開機(jī)/還原/系統(tǒng)修復(fù)等動作有關(guān). (由于系統(tǒng)開機(jī)時(shí)需要特定的開機(jī)軟件、核心文件、開機(jī)所需程序、 函式庫等等文件數(shù)據(jù),若系統(tǒng)出現(xiàn)錯(cuò)誤時(shí),根目錄也必須要包含有能夠修復(fù)文件系統(tǒng)的程序才行)
  3. FHS標(biāo)準(zhǔn)建議:根目錄(/)所在分割槽應(yīng)該越小越好, 且應(yīng)用程序所安裝的軟件最好不要與根目錄放在同一個(gè)分割槽內(nèi),保持根目錄越小越好.(因?yàn)樵酱蟮姆指畈蹔厱湃朐蕉嗟臄?shù)據(jù),如此一來根目錄所在分割槽就可能會有較多發(fā)生錯(cuò)誤的機(jī)會,如此不但效能較佳,根目錄所在的文件系統(tǒng)也較不容易發(fā)生問題.)

 

根目錄(/)底下目錄FHS定義的說明:

目錄應(yīng)放置文件內(nèi)容
/bin系統(tǒng)有很多放置執(zhí)行文件的目錄,但/bin比較特殊.因?yàn)?bin放置的是在單人維護(hù)模式下還能夠被操作的指令. 在/bin底下的指令可以被root與一般賬號所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令.
/boot這個(gè)目錄主要在放置開機(jī)會使用到的文件,包括Linux核心文件以及開機(jī)選單與開機(jī)所需配置文件等等. Linux kernel常用的檔名為:vmlinuz,如果使用的是grub這個(gè)開機(jī)管理程序, 則還會存在/boot/grub/這個(gè)目錄喔!
/dev在Linux系統(tǒng)上,任何裝置與接口設(shè)備都是以文件的型態(tài)存在于這個(gè)目錄當(dāng)中的. 你只要透過存取這個(gè)目錄底下的某個(gè)文件,就等于存取某個(gè)裝置啰~ 比要重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*, /dev/hd*, /dev/sd*等等
/etc系統(tǒng)主要的配置文件幾乎都放置在這個(gè)目錄內(nèi),例如人員的賬號密碼文件、 各種服務(wù)的啟始檔等等.一般來說,這個(gè)目錄下的各文件屬性是可以讓一般使用者查閱的, 但是只有root有權(quán)力修改.FHS建議不要放置可執(zhí)行文件(binary)在這個(gè)目錄中喔.比較重要的文件有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/ 等等.另外,其下重要的目錄有:
  • /etc/init.d/:所有服務(wù)的預(yù)設(shè)啟動 script 都是放在這里的,例如要啟動或者關(guān)閉 iptables 的話:『 /etc/init.d/iptables start』、『/etc/init.d/iptables stop』
  • /etc/xinetd.d/:這就是所謂的super daemon管理的各項(xiàng)服務(wù)的配置文件目錄.
  • /etc/X11/:與 X Window 有關(guān)的各種配置文件都在這里,尤其是 xorg.conf 這個(gè) X Server 的配置文件.
/home這是系統(tǒng)默認(rèn)的用戶家目錄(home directory).在你新增一個(gè)一般使用者賬號時(shí), 默認(rèn)的用戶家目錄都會規(guī)范到這里來.比較重要的是,家目錄有兩種代號喔:
~:代表目前這個(gè)用戶的家目錄,而 
~dmtsai :則代表 dmtsai 的家目錄!
/lib系統(tǒng)的函式庫非常的多,而/lib放置的則是在開機(jī)時(shí)會用到的函式庫, 以及在/bin或/sbin底下的指令會呼叫的函式庫而已. 什么是函式庫呢?妳可以將他想成是『外掛』,某些指令必須要有這些『外掛』才能夠順利完成程序的執(zhí)行之意. 尤其重要的是/lib/modules/這個(gè)目錄, 因?yàn)樵撃夸洉胖煤诵南嚓P(guān)的模塊(驅(qū)動程序)喔!
/mediamedia是『媒體』的英文,顧名思義,這個(gè)/media底下放置的就是可移除的裝置啦! 包括軟盤、光盤、DVD等等裝置都暫時(shí)掛載于此.常見的檔名有:/media/floppy, /media/cdrom等等.
/mnt如果妳想要暫時(shí)掛載某些額外的裝置,一般建議妳可以放置到這個(gè)目錄中. 在古早時(shí)候,這個(gè)目錄的用途與/media相同啦!只是有了/media之后,這個(gè)目錄就用來暫時(shí)掛載用了.
/opt這個(gè)是給第三方協(xié)力軟件放置的目錄.什么是第三方協(xié)力軟件啊? 舉例來說,KDE這個(gè)桌面管理系統(tǒng)是一個(gè)獨(dú)立的計(jì)劃,不過他可以安裝到Linux系統(tǒng)中,因此KDE的軟件就建議放置到此目錄下了. 另外,如果妳想要自行安裝額外的軟件(非原本的distribution提供的),那么也能夠?qū)⒛愕能浖惭b到這里來. 不過,以前的Linux系統(tǒng)中,我們還是習(xí)慣放置在/usr/local目錄下呢!
/root系統(tǒng)管理員(root)的家目錄.之所以放在這里,是因?yàn)槿绻M(jìn)入單人維護(hù)模式而僅掛載根目錄時(shí), 該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個(gè)分割槽中.
/sbinLinux有非常多指令是用來設(shè)定系統(tǒng)環(huán)境的,這些指令只有root才能夠利用來『設(shè)定』系統(tǒng),其他用戶最多只能用來『查詢』而已. 放在/sbin底下的為開機(jī)過程中所需要的,里面包括了開機(jī)、修復(fù)、還原系統(tǒng)所需要的指令. 至于某些服務(wù)器軟件程序,一般則放置到/usr/sbin/當(dāng)中.至于本機(jī)自行安裝的軟件所產(chǎn)生的系統(tǒng)執(zhí)行文件(system binary), 則放置到/usr/local/sbin/當(dāng)中了.常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等.
/srvsrv可以視為『service』的縮寫,是一些網(wǎng)絡(luò)服務(wù)啟動之后,這些服務(wù)所需要取用的數(shù)據(jù)目錄. 常見的服務(wù)例如WWW, FTP等等.舉例來說,WWW服務(wù)器需要的網(wǎng)頁數(shù)據(jù)就可以放置在/srv/www/里面.
/tmp這是讓一般使用者或者是正在執(zhí)行的程序暫時(shí)放置文件的地方. 這個(gè)目錄是任何人都能夠存取的,所以你需要定期的清理一下.當(dāng)然,重要數(shù)據(jù)不可放置在此目錄啊! 因?yàn)镕HS甚至建議在開機(jī)時(shí),應(yīng)該要將/tmp下的數(shù)據(jù)都刪除唷!

 

除上 FHS 中定義的目錄說明外, 底下是幾個(gè)在Linux當(dāng)中非常重要的目錄:

目錄應(yīng)放置文件內(nèi)容
/lost+found這個(gè)目錄是使用標(biāo)準(zhǔn)的ext2/ext3文件系統(tǒng)格式才會產(chǎn)生的一個(gè)目錄,目的在于當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí), 將一些遺失的片段放置到這個(gè)目錄下.這個(gè)目錄通常會在分割槽的最頂層存在, 例如你加裝一顆硬盤于/disk中,那在這個(gè)系統(tǒng)下就會自動產(chǎn)生一個(gè)這樣的目錄『/disk/lost+found』
/proc這個(gè)目錄本身是一個(gè)『虛擬文件系統(tǒng)(virtual filesystem)』喔!他放置的數(shù)據(jù)都是在內(nèi)存當(dāng)中, 例如系統(tǒng)核心、行程信息(process)、周邊裝置的狀態(tài)及網(wǎng)絡(luò)狀態(tài)等等.因?yàn)檫@個(gè)目錄下的數(shù)據(jù)都是在內(nèi)存當(dāng)中, 所以本身不占任何硬盤空間?。”容^重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等.
/sys這個(gè)目錄其實(shí)跟/proc非常類似,也是一個(gè)虛擬的文件系統(tǒng),主要也是記錄與核心相關(guān)的信息. 包括目前已加載的核心模塊與核心偵測到的硬件裝置信息等等.這個(gè)目錄同樣不占硬盤容量喔!

 

不可與根目錄分開的目錄(與開機(jī)過程有關(guān)):

根目錄與開機(jī)有關(guān),開機(jī)過程中僅有根目錄會被掛載, 其他分割槽則是在開機(jī)完成之后才會持續(xù)的進(jìn)行掛載的行為.就是因?yàn)槿绱?因此根目錄下與開機(jī)過程有關(guān)的目錄, 就不能夠與根目錄放到不同的分割槽去!

  • /etc:配置文件
  • /bin:重要執(zhí)行檔
  • /dev:所需要的裝置文件
  • /lib:執(zhí)行檔所需的函式庫與核心所需的模塊
  • /sbin:重要的系統(tǒng)執(zhí)行文件

 


 

/usr 的意義與內(nèi)容

概要:

  1. 依據(jù)FHS的基本定義,/usr里面放置的數(shù)據(jù)屬于可分享的與不可變動的(shareable, static), 如果你知道如何透過網(wǎng)絡(luò)進(jìn)行分割槽的掛載,那么/usr確實(shí)可以分享給局域網(wǎng)絡(luò)內(nèi)的其他主機(jī)來使用!
  2. usr(Unix Software Resource 即Unix操作系統(tǒng)軟件資源) FHS建議所有軟件開發(fā)者,應(yīng)該將他們的數(shù)據(jù)合理的分別放置到這個(gè)目錄下的次目錄,而不要自行建立該軟件自己獨(dú)立的目錄.
  3. 所有系統(tǒng)默認(rèn)的軟件(distribution發(fā)布者提供的軟件)都會放置到/usr底下,因此這個(gè)目錄有點(diǎn)類似Windows 系統(tǒng)的『C:\Windows\ + C:\Program files\』這兩個(gè)目錄的綜合體,系統(tǒng)剛安裝完畢時(shí),這個(gè)目錄會占用最多的硬盤容量.

 

一般來說,/usr的次目錄建議有底下這些:

目錄應(yīng)放置文件內(nèi)容
/usr/X11R6/為X Window System重要數(shù)據(jù)所放置的目錄,之所以取名為X11R6是因?yàn)樽詈蟮腦版本為第11版,且該版的第6次釋出之意.
/usr/bin/絕大部分的用戶可使用指令都放在這里!請注意到他與/bin的不同之處.(是否與開機(jī)過程有關(guān))
/usr/include/c/c++等程序語言的檔頭(header)與包含檔(include)放置處,當(dāng)我們以tarball方式 (*.tar.gz 的方式安裝軟件)安裝某些數(shù)據(jù)時(shí),會使用到里頭的許多包含檔喔!
/usr/lib/包含各應(yīng)用軟件的函式庫、目標(biāo)文件(object file),以及不被一般使用者慣用的執(zhí)行檔或腳本(script). 某些軟件會提供一些特殊的指令來進(jìn)行服務(wù)器的設(shè)定,這些指令也不會經(jīng)常被系統(tǒng)管理員操作, 那就會被擺放到這個(gè)目錄下啦.要注意的是,如果你使用的是X86_64的Linux系統(tǒng), 那可能會有/usr/lib64/目錄產(chǎn)生喔!
/usr/local/系統(tǒng)管理員在本機(jī)自行安裝自己下載的軟件(非distribution默認(rèn)提供者),建議安裝到此目錄, 這樣會比較便于管理.舉例來說,你的distribution提供的軟件較舊,你想安裝較新的軟件但又不想移除舊版, 此時(shí)你可以將新版軟件安裝于/usr/local/目錄下,可與原先的舊版軟件有分別啦! 你可以自行到/usr/local去看看,該目錄下也是具有bin, etc, include, lib...的次目錄喔!
/usr/sbin/非系統(tǒng)正常運(yùn)作所需要的系統(tǒng)指令.最常見的就是某些網(wǎng)絡(luò)服務(wù)器軟件的服務(wù)指令(daemon)啰!
/usr/share/放置共享文件的地方,在這個(gè)目錄下放置的數(shù)據(jù)幾乎是不分硬件架構(gòu)均可讀取的數(shù)據(jù), 因?yàn)閹缀醵际俏谋疚募铮≡诖四夸浵鲁R姷倪€有這些次目錄:
  • /usr/share/man:聯(lián)機(jī)幫助文件
  • /usr/share/doc:軟件雜項(xiàng)的文件說明
  • /usr/share/zoneinfo:與時(shí)區(qū)有關(guān)的時(shí)區(qū)文件
/usr/src/一般原始碼建議放置到這里,src有source的意思.至于核心原始碼則建議放置到/usr/src/linux/目錄下.

 


 

/var 的意義與內(nèi)容

概要:

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

常見的次目錄有:

目錄應(yīng)放置文件內(nèi)容
/var/cache/應(yīng)用程序本身運(yùn)作過程中會產(chǎn)生的一些暫存檔;
/var/lib/程序本身執(zhí)行的過程中,需要使用到的數(shù)據(jù)文件放置的目錄.在此目錄下各自的軟件應(yīng)該要有各自的目錄. 舉例來說,MySQL的數(shù)據(jù)庫放置到/var/lib/mysql/而rpm的數(shù)據(jù)庫則放到/var/lib/rpm去!
/var/lock/某些裝置或者是文件資源一次只能被一個(gè)應(yīng)用程序所使用,如果同時(shí)有兩個(gè)程序使用該裝置時(shí), 就可能產(chǎn)生一些錯(cuò)誤的狀況,因此就得要將該裝置上鎖(lock),以確保該裝置只會給單一軟件所使用. 舉例來說,刻錄機(jī)正在刻錄一塊光盤,你想一下,會不會有兩個(gè)人同時(shí)在使用一個(gè)刻錄機(jī)燒片? 如果兩個(gè)人同時(shí)刻錄,那片子寫入的是誰的數(shù)據(jù)?所以當(dāng)?shù)谝粋€(gè)人在刻錄時(shí)該刻錄機(jī)就會被上鎖, 第二個(gè)人就得要該裝置被解除鎖定(就是前一個(gè)人用完了)才能夠繼續(xù)使用啰.
/var/log/重要到不行!這是登錄文件放置的目錄!里面比較重要的文件如/var/log/messages, /var/log/wtmp(記錄登入者的信息)等.
/var/mail/放置個(gè)人電子郵件信箱的目錄,不過這個(gè)目錄也被放置到/var/spool/mail/目錄中! 通常這兩個(gè)目錄是互為鏈接文件啦!
/var/run/某些程序或者是服務(wù)啟動后,會將他們的PID放置在這個(gè)目錄下喔! 至于PID的意義我們會在后續(xù)章節(jié)提到的.
/var/spool/這個(gè)目錄通常放置一些隊(duì)列數(shù)據(jù),所謂的『隊(duì)列』就是排隊(duì)等待其他程序使用的數(shù)據(jù)啦! 這些數(shù)據(jù)被使用后通常都會被刪除.舉例來說,系統(tǒng)收到新信會放置到/var/spool/mail/中, 但使用者收下該信件后該封信原則上就會被刪除.信件如果暫時(shí)寄不出去會被放到/var/spool/mqueue/中, 等到被送出后就被刪除.如果是工作排程數(shù)據(jù)(crontab),就會被放置到/var/spool/cron/目錄中!

 

針對FHS,各家distributions的異同:

由于FHS僅是定義出最上層(/)及次層(/usr, /var)的目錄內(nèi)容應(yīng)該要放置的文件或目錄數(shù)據(jù), 因此,在其他次目錄層級內(nèi),就可以隨開發(fā)者自行來配置了.舉例來說,CentOS的網(wǎng)絡(luò)設(shè)定數(shù)據(jù)放在 /etc/sysconfig/network-scripts/ 目錄下,但是SuSE則是將網(wǎng)絡(luò)放置在 /etc/sysconfig/network/ 目錄下,目錄名稱可是不同的呢!不過只要記住大致的FHS標(biāo)準(zhǔn),差異性其實(shí)有限啦!

 


 

目錄樹(directory tree):


在Linux底下,所有的文件與目錄都是由根目錄開始的!然后再一個(gè)一個(gè)的分支下來,有點(diǎn)像是樹枝狀.因此,我們也稱這種目錄配置方式為:『目錄樹(directory tree)』它主要的特性有:

  • 目錄樹的啟始點(diǎn)為根目錄 (/, root);
  • 每一個(gè)目錄不止能使用本地端的 partition 的文件系統(tǒng),也可以使用網(wǎng)絡(luò)上的 filesystem 。舉例來說, 可以利用 Network File System (NFS) 服務(wù)器掛載某特定目錄等。
  • 每一個(gè)文件在此目錄樹中的文件名(包含完整路徑)都是獨(dú)一無二的。

如果我們將整個(gè)目錄樹以圖標(biāo)的方法來顯示,并且將較為重要的文件數(shù)據(jù)列出來的話,那么目錄樹架構(gòu)有點(diǎn)像這樣:

圖釋一:

圖釋二:

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多