?
?
?
Ubuntu系統(tǒng)目錄結(jié)構(gòu)
?
以下為Ubuntu目錄的主要目錄結(jié)構(gòu),您稍微了解它們都包含了哪些文件就可以了,不需要記憶。
?
/ 根目錄 │ ├boot/ 啟動(dòng)文件。所有與系統(tǒng)啟動(dòng)有關(guān)的文件都保存在這里 │ └grub/ Grub引導(dǎo)器相關(guān)的文件 │ ├dev/ 設(shè)備文件 ├proc/ 內(nèi)核與進(jìn)程鏡像 │ ├m(xù)nt/ 臨時(shí)掛載 ├m(xù)edia/ 掛載媒體設(shè)備 │ ├root/ root用戶的$HOME目錄 ├home/ │ ├user/ 普通用戶的$HOME目錄 │ └.../ │ ├bin/ 系統(tǒng)程序 ├sbin/ 管理員系統(tǒng)程序 ├lib/ 系統(tǒng)程序庫(kù)文件 ├etc/ 系統(tǒng)程序和大部分應(yīng)用程序的全局配置文件 │ ├init.d/ SystemV風(fēng)格的啟動(dòng)腳本 │ ├rcX.d/ 啟動(dòng)腳本的鏈接,定義運(yùn)行級(jí)別 │ ├network/ 網(wǎng)絡(luò)配置文件 │ ├X11/ 圖形界面配置文件 │ ├usr/ │ ├bin/ 應(yīng)用程序 │ ├sbin/ 管理員應(yīng)用程序 │ ├lib/ 應(yīng)用程序庫(kù)文件 │ ├share/ 應(yīng)用程序資源文件 │ ├src/ 應(yīng)用程序源代碼 │ ├local/ │ │ ├soft/ 用戶程序 │ │ └.../ 通常使用單獨(dú)文件夾 │ ├X11R6/ 圖形界面系統(tǒng) │ ├var/ 動(dòng)態(tài)數(shù)據(jù) │ ├temp/ 臨時(shí)文件 ├lost+found/ 磁盤修復(fù)文件 |
?
來(lái)源: http://fosswire.com/post/2008/04/ubuntu-cheat-sheet/
?
?
對(duì)于每一個(gè)Linux學(xué)習(xí)者來(lái)說(shuō) , 了解Linux文件系統(tǒng)的目錄結(jié)構(gòu),是學(xué)好Linux的至關(guān)重要的一步 .,深入了解linux文件目錄結(jié)構(gòu)的標(biāo)準(zhǔn)和每個(gè)目錄的詳細(xì)功能,對(duì)于我們用好linux系統(tǒng)只管重要,下面我們就開(kāi)始了解一下linux目錄結(jié)構(gòu)的相關(guān)知識(shí)。
?
當(dāng) 在使用Linux的時(shí)候,如果您通過(guò)ls?–l?/?就會(huì)發(fā)現(xiàn),在/下包涵很多的目錄,比如etc、usr、var、bin?...?...?等目錄,而 在這些目錄中,我們進(jìn)去看看,發(fā)現(xiàn)也有很多的目錄或文件。文件系統(tǒng)在Linux下看上去就象樹(shù)形結(jié)構(gòu),所以我們可以把文件系統(tǒng)的結(jié)構(gòu)形象的稱為?樹(shù)形結(jié) 構(gòu)。
?
文 件系統(tǒng)的是用來(lái)組織和排列文件存取的,所以她是可見(jiàn)的,在Linux中,我們可以通過(guò)ls等工具來(lái)查看其結(jié)構(gòu),在Linux系統(tǒng)中,我們見(jiàn)到的都是樹(shù)形結(jié) 構(gòu);比如操作系統(tǒng)安裝在一個(gè)文件系統(tǒng)中,他表現(xiàn)為由/?起始的樹(shù)形結(jié)構(gòu)。linux文件系統(tǒng)的最頂端是/,我們稱/為L(zhǎng)inux的root,也就 是?Linux操作系統(tǒng)的文件系統(tǒng)。Linux的文件系統(tǒng)的入口就是/,所有的目錄、文件、設(shè)備都在/之下,/就是Linux文件系統(tǒng)的組織者,也是最上 級(jí)的領(lǐng)導(dǎo)者。
?
由于linux是開(kāi)放源代碼,各大公司和團(tuán)體根據(jù)linux的核心代碼做各自的操作,編程。這樣就造成在根下的目錄的不同。這樣就造成個(gè)人不能使用他人的linux系統(tǒng)的PC。因?yàn)槟愀静恢酪恍┗镜呐渲茫募谀睦?。。。這就造成了混亂。這就是FHS ( Filesystem?Hierarchy?Standard ? ) 機(jī)構(gòu)誕生的原因。該機(jī)構(gòu)是linux愛(ài)好者自發(fā)的組成的一個(gè)團(tuán)體,主要是是對(duì)linux做一些基本的要求,不至于是操作者換一臺(tái)主機(jī)就成了 linux的 ‘文盲’。
?
根 據(jù)FHS(http://www.pathname.com/fhs/)的官方文件指出,?他們的主要目的是希望讓使用者可以了解到已安裝軟件通常放置于 那個(gè)目錄下,?所以他們希望獨(dú)立的軟件開(kāi)發(fā)商、操作系統(tǒng)制作者、以及想要維護(hù)系統(tǒng)的用戶,都能夠遵循FHS的標(biāo)準(zhǔn)。?也就是說(shuō),F(xiàn)HS的重點(diǎn)在于規(guī)范每個(gè) 特定的目錄下應(yīng)該要放置什么樣子的數(shù)據(jù)而已。?這樣做好處非常多,因?yàn)長(zhǎng)inux操作系統(tǒng)就能夠在既有的面貌下(目錄架構(gòu)不變)發(fā)展出開(kāi)發(fā)者想要的獨(dú)特風(fēng) 格。
?
事實(shí)上,F(xiàn)HS是根據(jù)過(guò)去的經(jīng)驗(yàn)一直再持續(xù)的改版的,F(xiàn)HS依據(jù)文件系統(tǒng)使用的頻繁與否與是否允許使用者隨意更動(dòng),?而將目錄定義成為四種交互作用的形態(tài),用表格來(lái)說(shuō)有點(diǎn)像底下這樣:
?
? |
可分享的(shareable) |
不可分享的(unshareable) |
不變的(static) |
/usr?(軟件放置處) |
/etc?(配置文件) |
/opt?(第三方協(xié)力軟件) |
/boot?(開(kāi)機(jī)與核心檔) |
|
可變動(dòng)的(variable) |
/var/mail?(使用者郵件信箱) |
/var/run?(程序相關(guān)) |
/var/spool/news?(新聞組) |
/var/lock?(程序相關(guān)) |
?
四中類型:
1.? 可分享的:
可以分享給其他系統(tǒng)掛載使用的目錄,所以包括執(zhí)行文件與用戶的郵件等數(shù)據(jù),?是能夠分享給網(wǎng)絡(luò)上其他主機(jī)掛載用的目錄;
?
2.? 不可分享的:
自己機(jī)器上面運(yùn)作的裝置文件或者是與程序有關(guān)的socket文件等,?由于僅與自身機(jī)器有關(guān),所以當(dāng)然就不適合分享給其他主機(jī)了。
?
3.? 不變的:
有些數(shù)據(jù)是不會(huì)經(jīng)常變動(dòng)的,跟隨著distribution而不變動(dòng)。?例如函式庫(kù)、文件說(shuō)明文件、系統(tǒng)管理員所管理的主機(jī)服務(wù)配置文件等等;
?
4.? 可變動(dòng)的:
經(jīng)常改變的數(shù)據(jù),例如登錄文件、一般用戶可自行收受的新聞組等。
事實(shí)上,F(xiàn)HS針對(duì)目錄樹(shù)架構(gòu)僅定義出三層目錄底下應(yīng)該放置什么數(shù)據(jù)而已,分別是底下這三個(gè)目錄的定義:
/?(root,?根目錄):與開(kāi)機(jī)系統(tǒng)有關(guān);
/usr?(unix?software?resource):與軟件安裝/執(zhí)行有關(guān);
/var?(variable):與系統(tǒng)運(yùn)作過(guò)程有關(guān)。
?
一.?根目錄?(/)?的意義與內(nèi)容:
?
根 目錄是整個(gè)系統(tǒng)最重要的一個(gè)目錄,因?yàn)椴坏械哪夸浂际怯筛夸浹苌鰜?lái)的,?同時(shí)根目錄也與開(kāi)機(jī)/還原/系統(tǒng)修復(fù)等動(dòng)作有關(guān)。?由于系統(tǒng)開(kāi)機(jī)時(shí)需要特 定的開(kāi)機(jī)軟件、核心文件、開(kāi)機(jī)所需程序、?函式庫(kù)等等文件數(shù)據(jù),若系統(tǒng)出現(xiàn)錯(cuò)誤時(shí),根目錄也必須要包含有能夠修復(fù)文件系統(tǒng)的程序才行。?因?yàn)楦夸浭沁@么 的重要,所以在FHS的要求方面,他希望根目錄不要放在非常大的分區(qū),?因?yàn)樵酱蟮姆謪^(qū)內(nèi)你會(huì)放入越多的數(shù)據(jù),如此一來(lái)根目錄所在分區(qū)就可能會(huì)有較多發(fā)生 錯(cuò)誤的機(jī)會(huì)。
因此FHS標(biāo)準(zhǔn)建議:根目錄(/)所在分區(qū)應(yīng)該越小越好,?且應(yīng)用程序所安裝的軟件最好不要與根目錄放在同一個(gè)分區(qū)內(nèi),保持根目錄越小越好。?如此不但效能較佳,根目錄所在的文件系統(tǒng)也較不容易發(fā)生問(wèn)題。 說(shuō)白了,就是根目錄和Windows的C盤一個(gè)樣 。
?
根據(jù)以上原因,F(xiàn)HS認(rèn)為根目錄(/)下應(yīng)該包含如下子目錄:
目錄 |
應(yīng)放置檔案內(nèi)容 |
/bin |
系統(tǒng)有很多放置執(zhí)行檔的目錄,但/bin比較特殊。因?yàn)?bin放置的是在單人維護(hù)模式下還能夠被操作的指令。在/bin底下的指令可以被root與一般帳號(hào)所使用,主要有:cat, chmod(修改權(quán)限) ,?chown,?date,?mv,?mkdir,?cp,?bash等等常用的指令。 |
/boot |
主要放置開(kāi)機(jī)會(huì)使用到的檔案,包括Linux核心檔案以及開(kāi)機(jī)選單與開(kāi)機(jī)所需設(shè)定檔等等。Linux?kernel常用的檔名為:vmlinuz?,如果使用的是grub這個(gè)開(kāi)機(jī)管理程式,則還會(huì)存在/boot/grub/這個(gè)目錄 。 |
/dev |
在 Linux系統(tǒng)上,任何裝置與周邊設(shè)備都是以檔案的型態(tài)存在于這個(gè)目錄當(dāng)中。?只要通過(guò)存取這個(gè)目錄下的某個(gè)檔案,就等于存取某個(gè)裝置。比要重要的檔案有 /dev/null,?/dev/zero,?/dev/tty?,?/dev/lp*,?/?dev/hd*,?/dev/sd*等等 |
/etc |
系 統(tǒng)主要的設(shè)定檔幾乎都放置在這個(gè)目錄內(nèi),例如人員的帳號(hào)密碼檔、各種服務(wù)的啟始檔等等。?一般來(lái)說(shuō),這個(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è)啟動(dòng)script都是放在這里的,例如要啟動(dòng)或者關(guān)閉iptables的 話:?/etc/init.d/iptables?start、/etc/init.d/?iptables?stop /etc/xinetd.d/?:這就是所謂的super?daemon管理的各項(xiàng)服務(wù)的設(shè)定檔目錄。 /etc/X11/?:與X?Window有關(guān)的各種設(shè)定檔都在這里,尤其是xorg.conf或XF86Config這兩個(gè)X?Server的設(shè)定檔。 |
/home |
這是系統(tǒng)預(yù)設(shè)的使用者家目錄(home?directory)。?在你新增一個(gè)一般使用者帳號(hào)時(shí),預(yù)設(shè)的使用者家目錄都會(huì)規(guī)范到這里來(lái)。比較重要的是,家目錄有兩種代號(hào):?
|
/lib |
系 統(tǒng)的函式庫(kù)非常的多,而/lib放置的則是在開(kāi)機(jī)時(shí)會(huì)用到的函式庫(kù),以及在/bin或/sbin底下的指令會(huì)呼叫的函式庫(kù)而已?。?什么是函式庫(kù)呢?妳可 以將他想成是外掛,某些指令必須要有這些外掛才能夠順利完成程式的執(zhí)行之意。?尤其重要的是/lib/modules/這個(gè)目錄,因?yàn)樵撃夸洉?huì)放置核心相 關(guān)的模組(驅(qū)動(dòng)程式) 。 |
/media |
media是媒體的英文,顧名思義,這個(gè)/media底下放置的就是可移除的裝置 。 ?包括軟碟、光碟、DVD等等裝置都暫時(shí)掛載于此。?常見(jiàn)的檔名有:/media/floppy,?/media/cdrom等等。 |
/mnt |
如果妳想要暫時(shí)掛載某些額外的裝置,一般建議妳可以放置到這個(gè)目錄中。在古早時(shí)候,這個(gè)目錄的用途與/media相同啦 。 ?只是有了/media之后,這個(gè)目錄就用來(lái)暫時(shí)掛載用了。 |
/opt |
這 個(gè)是給第三方協(xié)力軟體放置的目錄?。?什么是第三方協(xié)力軟體???舉例來(lái)說(shuō),KDE這個(gè)桌面管理系統(tǒng)是一個(gè)獨(dú)立的計(jì)畫(huà),不過(guò)他可以安裝到Linux系統(tǒng)中, 因此KDE的軟體就建議放置到此目錄下了。?另外,如果妳想要自行安裝額外的軟體(非原本的distribution提供的),那么也能夠?qū)⒛愕能涹w安裝 到這里來(lái)。?不過(guò),以前的Linux系統(tǒng)中,我們還是習(xí)慣放置在/usr/local目錄下 。 |
/root |
系統(tǒng)管理員(root)的家目錄。?之所以放在這里,是因?yàn)槿绻M(jìn)入單人維護(hù)模式而僅掛載根目錄時(shí),該目錄就能夠擁有root的家目錄,所以我們會(huì)希望root的家目錄與根目錄放置在同一個(gè)分區(qū)中。 |
/sbin |
Linux 有非常多指令是用來(lái)設(shè)定系統(tǒng)環(huán)境的,這些指令只有root才能夠利用來(lái)設(shè)定系統(tǒng),其他使用者最多只能用來(lái)查詢而已。放在/sbin底下的為開(kāi)機(jī)過(guò)程中所需 要的,里面包括了開(kāi)機(jī)、修復(fù)、還原系統(tǒng)所需要的指令。至于某些伺服器軟體程式,一般則放置到/usr/sbin/當(dāng)中。至于本機(jī)自行安裝的軟體所產(chǎn)生的系 統(tǒng)執(zhí)行檔(system?binary),則放置到/usr/local/sbin/當(dāng)中了。常見(jiàn)的指令包 括:fdisk,?fsck,?ifconfig,?init,?mkfs等等。 |
/srv |
srv可以視為service的縮寫(xiě),是一些網(wǎng)路服務(wù)啟動(dòng)之后,這些服務(wù)所需要取用的資料目錄。?常見(jiàn)的服務(wù)例如WWW,?FTP等等。?舉例來(lái)說(shuō),WWW伺服器需要的網(wǎng)頁(yè)資料就可以放置在/srv/www/里面。呵呵,看來(lái)平時(shí)我們編寫(xiě)的代碼應(yīng)該放到這里了。 |
/tmp |
這是讓一般使用者或者是正在執(zhí)行的程序暫時(shí)放置檔案的地方。這個(gè)目錄是任何人都能夠存取的,所以你需要定期的清理一下。當(dāng)然,重要資料不可放置在此目錄啊 。 ?因?yàn)镕HS甚至建議在開(kāi)機(jī)時(shí),應(yīng)該要將/tmp下的資料都刪除 。 |
事實(shí)上FHS針對(duì)根目錄所定義的標(biāo)準(zhǔn)就僅限于上表,不過(guò)仍舊有些目錄也需要我們了解一下,具體如下:
目錄 |
應(yīng)放置文件內(nèi)容 |
/lost+found |
這 個(gè)目錄是使用標(biāo)準(zhǔn)的ext2/ext3檔案系統(tǒng)格式才會(huì)產(chǎn)生的一個(gè)目錄,目的在于當(dāng)檔案系統(tǒng)發(fā)生錯(cuò)誤時(shí),將一些遺失的片段放置到這個(gè)目錄下。?這個(gè)目錄通 常會(huì)在分割槽的最頂層存在,例如你加裝一個(gè)硬盤于/disk中,那在這個(gè)系統(tǒng)下就會(huì)自動(dòng)產(chǎn)生一個(gè)這樣的目錄/disk/lost+found |
/proc |
這個(gè)目錄本身是一個(gè)虛擬文件系統(tǒng)(virtual?filesystem)喔 。 ?他放置的資料都是在內(nèi)存當(dāng)中,例如系統(tǒng)核心、行程資訊(process)(是進(jìn)程嗎?)、周邊裝置的狀態(tài)及網(wǎng)絡(luò)狀態(tài)等等。因?yàn)檫@個(gè)目錄下的資料都是在記憶體(內(nèi)存)當(dāng)中,所以本身不占任何硬盤空間 。 比較重要的檔案(目錄)例如:?/proc/cpuinfo,?/proc/dma,?/proc/interrupts,?/proc/ioports,?/proc/net/*等等。呵呵,是虛擬內(nèi)存嗎[guest]? |
/sys |
這個(gè)目錄其實(shí)跟/proc非常類似,也是一個(gè)虛擬的檔案系統(tǒng),主要也是記錄與核心相關(guān)的資訊。?包括目前已載入的核心模組與核心偵測(cè)到的硬體裝置資訊等等。?這個(gè)目錄同樣不占硬盤容量 。 |
除了這些目錄的內(nèi)容之外,另外要注意的是,因?yàn)楦夸浥c開(kāi)機(jī)有關(guān),開(kāi)機(jī)過(guò)程中僅有根目錄會(huì)被掛載,?其他分區(qū)則是在開(kāi)機(jī)完成之后才會(huì)持續(xù)的進(jìn)行掛載的行為。就是因?yàn)槿绱耍虼烁夸浵屡c開(kāi)機(jī)過(guò)程有關(guān)的目錄,?就不能夠與根目錄放到不同的分區(qū)去
。
那哪些目錄不可與根目錄分開(kāi)呢?有底下這些:
/etc:配置文件
/bin:重要執(zhí)行檔
/dev:所需要的裝置文件
/lib:執(zhí)行檔所需的函式庫(kù)與核心所需的模塊
/sbin:重要的系統(tǒng)執(zhí)行文件
這五個(gè)目錄千萬(wàn)不可與根目錄分開(kāi)在不同的分區(qū) 。 請(qǐng)背下來(lái)啊 。 ?
?
二.?/usr?的意義與內(nèi)容:
依據(jù)FHS的基本定義,/usr里面放置的數(shù)據(jù)屬于可分享的與不可變動(dòng)的(shareable,?static),?如果你知道如何透過(guò)網(wǎng)絡(luò)進(jìn)行分區(qū)的掛載(例如在服務(wù)器篇會(huì)談到的NFS服務(wù)器),那么/usr確實(shí)可以分享給局域網(wǎng)絡(luò)內(nèi)的其他主機(jī)來(lái)使用喔。
/usr 不是user的縮寫(xiě),其實(shí)usr是Unix?Software?Resource的縮寫(xiě),?也就是Unix操作系統(tǒng)軟件資源所放置的目錄,而不是用戶的數(shù) 據(jù)啦。這點(diǎn)要注意。?FHS建議所有軟件開(kāi)發(fā)者,應(yīng)該將他們的數(shù)據(jù)合理的分別放置到這個(gè)目錄下的次目錄,而不要自行建立該軟件自己獨(dú)立的目錄。
因 為是所有系統(tǒng)默認(rèn)的軟件(distribution發(fā)布者提供的軟件)都會(huì)放置到/usr底下,因此這個(gè)目錄有點(diǎn)類似Windows?系統(tǒng)的 C:\Windows\?+?C:\Program?files\這兩個(gè)目錄的綜合體,系統(tǒng)剛安裝完畢時(shí),這個(gè)目錄會(huì)占用最多的硬盤容量。?一般來(lái) 說(shuō),/usr的次目錄建議有底下這些:
目錄 |
應(yīng)放置文件內(nèi)容 |
/usr/X11R6/ ? |
為X?Window?System重要數(shù)據(jù)所放置的目錄,之所以取名為X11R6是因?yàn)樽詈蟮腦版本為第11版,且該版的第6次釋出之意。 ? |
/usr/bin/ ? |
絕大部分的用戶可使用指令都放在這里 。 請(qǐng)注意到他與/bin的不同之處。(是否與開(kāi)機(jī)過(guò)程有關(guān)) ? |
/usr/include/ ? |
c/c++等程序語(yǔ)言的檔頭(header)與包含檔(include)放置處,當(dāng)我們以tarball方式?(*.tar.gz?的方式安裝軟件)安裝某些數(shù)據(jù)時(shí),會(huì)使用到里頭的許多包含檔 。 ? |
/usr/lib/ ? |
包 含各應(yīng)用軟件的函式庫(kù)、目標(biāo)文件(object?file),以及不被一般使用者慣用的執(zhí)行檔或腳本(script)。?某些軟件會(huì)提供一些特殊的指令來(lái) 進(jìn)行服務(wù)器的設(shè)定,這些指令也不會(huì)經(jīng)常被系統(tǒng)管理員操作,?那就會(huì)被擺放到這個(gè)目錄下啦。要注意的是,如果你使用的是X86_64的Linux系統(tǒng),?那 可能會(huì)有/usr/lib64/目錄產(chǎn)生 ? |
/usr/local/ ? |
統(tǒng) 管理員在本機(jī)自行安裝自己下載的軟件(非distribution默認(rèn)提供者),建議安裝到此目錄,?這樣會(huì)比較便于管理。舉例來(lái)說(shuō),你的 distribution提供的軟件較舊,你想安裝較新的軟件但又不想移除舊版,?此時(shí)你可以將新版軟件安裝于/usr/local/目錄下,可與原先的 舊版軟件有分別啦 。 ?你可以自行到/usr/local去看看,該目錄下也是具有bin,?etc,?include,?lib...的次目錄 ? |
/usr/sbin/ ? |
非系統(tǒng)正常運(yùn)作所需要的系統(tǒng)指令。最常見(jiàn)的就是某些網(wǎng)絡(luò)服務(wù)器軟件的服務(wù)指令(daemon) ? |
/usr/share/ ? |
放置共享文件的地方,在這個(gè)目錄下放置的數(shù)據(jù)幾乎是不分硬件架構(gòu)均可讀取的數(shù)據(jù),?因?yàn)閹缀醵际俏谋疚募? 。 在此目錄下常見(jiàn)的還有這些次目錄:/usr/share/man:聯(lián)機(jī)幫助文件 /usr/share/doc:軟件雜項(xiàng)的文件說(shuō)明 /usr/share/zoneinfo:與時(shí)區(qū)有關(guān)的時(shí)區(qū)文件 |
/usr/src/ ? |
一般原始碼建議放置到這里,src有source的意思。至于核心原始碼則建議放置到/usr/src/linux/目錄下。 ? |
?
三.??/var?的意義與內(nèi)容:
?
如 果/usr是安裝時(shí)會(huì)占用較大硬盤容量的目錄,那么/var就是在系統(tǒng)運(yùn)作后才會(huì)漸漸占用硬盤容量的目錄。?因?yàn)?var目錄主要針對(duì)常態(tài)性變動(dòng)的文件, 包括緩存(cache)、登錄檔(log?file)以及某些軟件運(yùn)作所產(chǎn)生的文件,?包括程序文件(lock?file,?run?file),或者例 如MySQL數(shù)據(jù)庫(kù)的文件等等。常見(jiàn)的次目錄有:
目錄 |
應(yīng)放置文件內(nèi)容 |
/var/cache/ |
應(yīng)用程序本身運(yùn)作過(guò)程中會(huì)產(chǎn)生的一些暫存檔 |
/var/lib/ |
程序本身執(zhí)行的過(guò)程中,需要使用到的數(shù)據(jù)文件放置的目錄。在此目錄下各自的軟件應(yīng)該要有各自的目錄。?舉例來(lái)說(shuō),MySQL的數(shù)據(jù)庫(kù)放置到/var/lib/mysql/而rpm的數(shù)據(jù)庫(kù)則放到/var/lib/rpm去 |
/var/lock/ |
某 些裝置或者是文件資源一次只能被一個(gè)應(yīng)用程序所使用,如果同時(shí)有兩個(gè)程序使用該裝置時(shí),?就可能產(chǎn)生一些錯(cuò)誤的狀況,因此就得要將該裝置上鎖 (lock),以確保該裝置只會(huì)給單一軟件所使用。?舉例來(lái)說(shuō),刻錄機(jī)正在刻錄一塊光盤,你想一下,會(huì)不會(huì)有兩個(gè)人同時(shí)在使用一個(gè)刻錄機(jī)燒片??如果兩個(gè) 人同時(shí)刻錄,那片子寫(xiě)入的是誰(shuí)的數(shù)據(jù)?所以當(dāng)?shù)谝粋€(gè)人在刻錄時(shí)該刻錄機(jī)就會(huì)被上鎖,?第二個(gè)人就得要該裝置被解除鎖定(就是前一個(gè)人用完了)才能夠繼續(xù)使 用 |
/var/log/ |
非常 重要 。 這是登錄文件放置的目錄 。 里面比較重要的文件如/var/log/messages,?/var/log/wtmp(記錄登入者的信息)等。 |
/var/mail/ |
放置個(gè)人電子郵件信箱的目錄,不過(guò)這個(gè)目錄也被放置到/var/spool/mail/目錄中 , 通常這兩個(gè)目錄是互為鏈接文件 。 |
/var/run/ |
某些程序或者是服務(wù)啟動(dòng)后,會(huì)將他們的PID放置在這個(gè)目錄下 |
/var/spool/ |
這個(gè)目錄通常放置一些隊(duì)列數(shù)據(jù),所謂的 “ 隊(duì)列 ” 就是排隊(duì)等待其他程序使用的數(shù)據(jù) 。 ?這 些數(shù)據(jù)被使用后通常都會(huì)被刪除。舉例來(lái)說(shuō),系統(tǒng)收到新信會(huì)放置到/var/spool/mail/中,?但使用者收下該信件后該封信原則上就會(huì)被刪除。信 件如果暫時(shí)寄不出去會(huì)被放到/var/spool/mqueue/中,?等到被送出后就被刪除。如果是工作排程數(shù)據(jù)(crontab),就會(huì)被放置到 /var/spool/cron/目錄中 。 |
由于FHS僅是定義出最上層(/)及次層(/usr,?/var)的目錄內(nèi)容應(yīng)該要放置的文件或目錄數(shù)據(jù),?因此,在其他次目錄層級(jí)內(nèi),就可以隨開(kāi)發(fā)者自行來(lái)配置了 。
?
四.? 目錄樹(shù)(directory?tree) ? :
?
在Linux底下,所有的文件與目錄都是由根目錄開(kāi)始的。那是所有目錄與文件的源頭,?然后再一個(gè)一個(gè)的分支下來(lái),因此,我們也稱這種目錄配置方式為:目錄樹(shù)(directory?tree),?這個(gè)目錄樹(shù)的主要特性有:
目錄樹(shù)的啟始點(diǎn)為根目錄?(/,?root);
每一個(gè)目錄不止能使用本地端的?partition?的文件系統(tǒng),也可以使用網(wǎng)絡(luò)上的?filesystem?。舉例來(lái)說(shuō),?可以利用?Network?File?System?(NFS)?服務(wù)器掛載某特定目錄等。
每一個(gè)文件在此目錄樹(shù)中的文件名(包含完整路徑)都是獨(dú)一無(wú)二的。
如果我們將整個(gè)目錄樹(shù)以圖的方法來(lái)顯示,并且將較為重要的文件數(shù)據(jù)列出來(lái)的話,那么目錄樹(shù)架構(gòu)就如下圖所示:
?
五.?絕對(duì)路徑與相對(duì)路徑
?
除了需要特別注意的FHS目錄配置外,在文件名部分我們也要特別注意。因?yàn)楦鶕?jù)檔名寫(xiě)法的不同,也可將所謂的路徑(path)定義為絕對(duì)路徑(absolute)與相對(duì)路徑(relative)。?這兩種文件名/路徑的寫(xiě)法依據(jù)是這樣的:
絕對(duì)路徑:
由根目錄(/)開(kāi)始寫(xiě)起的文件名或目錄名稱,?例如?/home/dmtsai/.bashrc;
?
相對(duì)路徑:
相對(duì)于目前路徑的文件名寫(xiě)法。?例如?./home/dmtsai?或?http://www.cnblogs.com/home/dmtsai/?等等。反正開(kāi)頭不是?/?就屬于相對(duì)路徑的寫(xiě)法
而你必須要了解,相對(duì)路徑是以你當(dāng)前所在路徑的相對(duì)位置來(lái)表示的。舉例來(lái)說(shuō),你目前在?/home?這個(gè)目錄下,?如果想要進(jìn)入?/var/log?這個(gè)目錄時(shí),可以怎么寫(xiě)呢?
cd?/var/log???(absolute)
cd?../var/log?(relative)
因?yàn)槟阍?/home?底下,所以要回到上一層?(../)?之后,才能繼續(xù)往?/var?來(lái)移動(dòng)的,特別注意這兩個(gè)特殊的目錄:
.??:代表當(dāng)前的目錄,也可以使用?./?來(lái)表示;
..?:代表上一層目錄,也可以?../?來(lái)代表。
這個(gè)?.?與?..?目錄概念是很重要的,你常常會(huì)看到?cd?..?或?./command?之類的指令下達(dá)方式,?就是代表上一層與目前所在目錄的工作狀態(tài)。
?
實(shí)例1:如何先進(jìn)入/var/spool/mail/目錄,再進(jìn)入到/var/spool/cron/目錄內(nèi)?
命令 :
cd?/var/spool/mail
cd?../cron
說(shuō)明:
由 于/var/spool/mail與/var/spool/cron是同樣在/var/spool/目錄中。如此就不需要在由根目錄開(kāi)始寫(xiě)起了。這個(gè)相對(duì) 路徑是非常有幫助的,尤其對(duì)于某些軟件開(kāi)發(fā)商來(lái)說(shuō)。?一般來(lái)說(shuō),軟件開(kāi)發(fā)商會(huì)將數(shù)據(jù)放置到/usr/local/里面的各相對(duì)目錄。?但如果用戶想要安裝 到不同目錄呢?就得要使用相對(duì)路徑。
?
實(shí)例2:網(wǎng)絡(luò)文件常常提到類似./run.sh之類的數(shù)據(jù),這個(gè)指令的意義為何?
說(shuō)明:
由于指令的執(zhí)行需要變量的支持,若你的執(zhí)行文件放置在本目錄,并且本目錄并非正規(guī)的執(zhí)行文件目錄(/bin,?/usr/bin等為正規(guī)),此時(shí)要執(zhí)行指令就得要嚴(yán)格指定該執(zhí)行檔。./代表本目錄的意思,所以./run.sh代表執(zhí)行本目錄下,?名為run.sh的文件。
? ? ? 參考資料:《鳥(niǎo)哥的linux私房菜》
?
來(lái)源: http://www.cnblogs.com/peida/archive/2012/11/21/2780075.html
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
