內(nèi)容來自《鳥哥的linux私房菜》骂删。
一赞草、Linux 文件屬性
1.1糙麦、用戶和組
Linux 系統(tǒng)中的目錄和文件的訪問身份分為 user,group牌捷, others 分別簡寫為 u墙牌, g , o 暗甥。
- user:文件的所有者
- group:文件所有者所在組
- others :不在所有者的所在組的其他用戶
- all:代表所有用戶喜滨, 簡寫為 a
每個身份對文件的權(quán)限又分為 : read , write 淋袖, execute鸿市, 分別簡寫為 : r,w 即碗,x焰情, 數(shù)字表示分別為 : 4, 2剥懒, 1内舟。
1.2、文件詳細(xì)信息
Linux 文件或目錄的屬性主要包括:文件或目錄的節(jié)點(diǎn)初橘、種類验游、權(quán)限模式充岛、鏈接數(shù)量、所歸屬的用戶和用戶組耕蝉、最近訪問或修改的時間等內(nèi)容崔梗。
ls -al 查看文件詳細(xì)信息:
drwxr-xr-x 5 root root 4096 Apr 23 14:49 .
drwxr-xr-x 18 root root 4096 Apr 28 16:36 ..
drwxr-xr-x 4 root root 4096 Apr 23 14:49 master
drwxr-xr-x 3 root root 4096 Apr 23 14:49 spark1
drwxr-xr-x 3 root root 4096 Apr 23 14:49 spark2
1.2.1、第一欄:類型與權(quán)限
第一個字符代表這個文件的類型(如目錄垒在、文件或鏈接文件等等):
- 當(dāng)為[ d ]則是目錄
- 當(dāng)為[ - ]則是文件
- 若是[ l ]則表示為鏈接文件(link file)
- 若是[ b ]則表示為裝置文件里面的可供儲存的接口設(shè)備(可隨機(jī)存取裝置)
- 若是[ c ]則表示為裝置文件里面的串行端口設(shè)備蒜魄,例如鍵盤、鼠標(biāo)(一次性讀取裝置)
接下來的字符中场躯,以三個為一組谈为,且均為『rwx』 的三個參數(shù)的組合:
- [ r ]代表可讀(read)、[ w ]代表可寫(write)踢关、[ x ]代表可執(zhí)行(execute) 伞鲫,這三個權(quán)限的位置不會改變,如果沒有權(quán)限签舞,就會出現(xiàn)減號[ - ]而已秕脓。
- 第一組為『文件擁有者的權(quán)限,第二組為『同群組的權(quán)限』瘪菌,第三組為『其他非本群組的權(quán)限』撒会。
1.2.2、第二欄:多少檔名連結(jié)到此節(jié)點(diǎn)(i-node)
每個文件都會將他的權(quán)限與屬性記錄到文件系統(tǒng)的 i-node 中师妙,不過诵肛,我們使用的目錄樹卻是使用文件名來記錄, 因此每個文件名就會鏈接到一個 i-node默穴。這個屬性記錄的怔檩,就是有多少不同的文件名鏈接到相同的一個 i-node 號碼。
1.2.3蓄诽、第三欄:文件(或目錄)的擁有者
1.2.4薛训、第四欄:文件的所屬群組
1.2.5、第五欄:文件的容量大小(默認(rèn)單位為 bytes )
1.2.6仑氛、第六欄:文件的建檔日期或者是最近的修改日期
1.2.7乙埃、第七欄:文件的全路徑及其文件名
這個字段就是檔名。 比較特殊的是:如果檔名之前多一個“.” 锯岖,則代表這個文件為隱藏檔介袜。
二、修改文件屬性和權(quán)限
2.1出吹、chgrp :改變文件所屬群組
chgrp [-R] dirname/filename ...
選項(xiàng)與參數(shù):
-R : 進(jìn)行遞回(recursive)的持續(xù)變更遇伞,亦即連同次目錄下的所有文件、目錄
都更新成為這個群組之意捶牢。常常用在變更某一目錄內(nèi)所有的文件之情況鸠珠。
范例:
chgrp users initial-setup-ks.cfg
2.2巍耗、chown :改變文件擁有者
chown [-R] 帳號名稱 文件或目錄
選項(xiàng)與參數(shù):
-R : 進(jìn)行遞回(recursive)的持續(xù)變更,亦即連同次目錄下的所有文件都變更
范例:將 initial-setup-ks.cfg 的擁有者改為bin這個帳號:
chown bin initial-setup-ks.cfg
2.3渐排、chmod :改變文件的權(quán)限
權(quán)限的設(shè)置方法有兩種炬太, 分別可以使用數(shù)字或者是符號來進(jìn)行權(quán)限的變更。
2.3.1飞盆、數(shù)字類型改變文件權(quán)限
Linux文件的基本權(quán)限就有九個娄琉,分別是 owner/group/others 三種身份各有自己的
read/write/execute 權(quán)限。
各權(quán)限的分?jǐn)?shù)對照表如下:
r:4 > w:2 > x:1
每種身份(owner/group/others)各自的三個權(quán)限(r/w/x)分?jǐn)?shù)是需要累加的吓歇,例如當(dāng)權(quán)限為: [-rwxrwx---] 分?jǐn)?shù)則是:
owner = rwx = 4+2+1 = 7 > group = rwx = 4+2+1 = 7 > others= --- = 0+0+0 = 0
變更權(quán)限的指令 chmo的語法是這樣的:
chmod [-R] xyz 文件或目錄
選項(xiàng)與參數(shù):
xyz : 就是剛剛提到的數(shù)字類型的權(quán)限屬性,為 rwx 屬性數(shù)值的相加票腰。
-R : 進(jìn)行遞回(recursive)的持續(xù)變更城看,亦即連同次目錄下的所有文件都會變更
2.3.2、符號類型改變文件權(quán)限
基本上就九個權(quán)限分別是(1)user (2)group (3)others 三種身份杏慰。那么就可以借由 u测柠, g, o 來代表三種身份的權(quán)限缘滥!此外轰胁, a 則代表 all 亦即全部的身份!
可以使用下面的方式來看:
| chmod | u g o a | +(加入) -(除去) =(設(shè)置) | r w x | 文件或目錄 |
chmod u=rwx,go=rx .bashrc
那個 u=rwx,go=rx 是連在一起的朝扼,中間并沒有任何空白字符赃阀!
如果是要將權(quán)限去掉而不更動其他已存在的權(quán)限,例如要拿掉全部人的可執(zhí)行權(quán)
限擎颖,則:
chmod a-x .bashrc
三榛斯、Linux 文件種類與擴(kuò)展名
3.1、文件種類
3.1.1搂捧、正規(guī)文件(regular file )
ls -al 所顯示出來的屬性方面驮俗,第一個字符為 [ - ]。
可以分為:
- 純文本文件(ASCII):這是 Linux 系統(tǒng)中最多的一種文件類型允跑, 稱為純文本文件王凑,內(nèi)容為我們?nèi)祟惪梢灾苯幼x到的數(shù)據(jù),例如數(shù)字聋丝、字母等等索烹。
- 二進(jìn)制檔(binary):Linux當(dāng)中的可可執(zhí)行文件。
- 數(shù)據(jù)格式文件(data):有些程序在運(yùn)行的過程當(dāng)中會讀取某些特定格式的文件潮针,那些特定格式的文件可以被稱為數(shù)據(jù)文件 (data file)术荤。舉例來說,Linux 在使用者登陸時每篷,都會將登錄的數(shù)據(jù)記錄在 /var/log/wtmp 那個文件內(nèi)瓣戚,該文件是一個 data file端圈,他能夠通過 last 這個指令讀出來! 但是使用cat時子库,會讀出亂碼舱权。
3.1.2、目錄(directory)
目錄仑嗅,第一個屬性為 [ d ]宴倍。
3.1.3、鏈接文件(link)
第一個屬性為 [ l ]仓技。
就是類似 Windows 系統(tǒng)下面的快捷方式鸵贬!
3.1.4、設(shè)備與設(shè)備文件(device)
與系統(tǒng)周邊及儲存等相關(guān)的一些文件脖捻, 通常都集中在 /dev 這個目錄之下阔逼!通常又分為兩種:
- 區(qū)塊(block)設(shè)備文件 :就是一些儲存數(shù)據(jù), 以提供系統(tǒng)隨機(jī)存取的周邊設(shè)備地沮,舉例來說嗜浮,硬盤與軟盤等就是。第一個屬性為[ b ]摩疑。
- 字符(character)設(shè)備文件:亦即是一些序列埠的周邊設(shè)備危融, 例如鍵盤、鼠標(biāo)等等雷袋!這些設(shè)備的特色就是“一次性讀取”的吉殃,不能夠截斷輸出。 第一個屬性為 [ c ]片排。
3.1.5寨腔、數(shù)據(jù)接口文件(sockets)
第一個屬性為 [ s ]。
這種類型的文件通常被用在網(wǎng)絡(luò)上的數(shù)據(jù)承接率寡∑嚷可以啟動一個程序來監(jiān)聽用戶端的要求, 而用戶端就可以通過這個 socket 來進(jìn)行數(shù)據(jù)的溝通了冶共。 最常在 /run 或 /tmp 這些個目錄中看到這種文件類型了乾蛤。
3.1.6、數(shù)據(jù)輸送檔(FIFO, pipe)
第一個屬性為[p]
FIFO也是一種特殊的文件類型捅僵,主要的目的在解決多個程序同時存取一個文件所造成的錯誤問題家卖。 FIFO 是 first-in-first-out 的縮寫。
四庙楚、Linux 目錄配置
根據(jù) FHS(Filesystem Hierarchy Standard )的標(biāo)準(zhǔn)文件指出每個特定的目錄下應(yīng)該要放置什么樣子的數(shù)據(jù)上荡。
FHS 依據(jù)文件系統(tǒng)使用的頻繁與否與是否允許使用者隨意更動, 而將目錄定義成為四種交互作用的形態(tài):
- 可分享的:可以分享給其他系統(tǒng)掛載使用的目錄,所以包括可執(zhí)行文件與使用者的郵件等數(shù)據(jù)酪捡, 是能夠分享給網(wǎng)絡(luò)上其他主機(jī)掛載用的目錄叁征。
- 不可分享的:自己機(jī)器上面運(yùn)行的設(shè)備文件或者是與程序有關(guān)的socket文件等, 由于僅與自身機(jī)器有關(guān)逛薇,所以當(dāng)然就不適合分享給其他主機(jī)了捺疼。
- 不變的:有些數(shù)據(jù)是不會經(jīng)常變動的,跟隨著distribution而不變動永罚。 例如函數(shù)庫啤呼、文件說明文檔、系統(tǒng)管理員所管理的主機(jī)服務(wù)配置文件等等呢袱。
- 可變動的:經(jīng)常改變的數(shù)據(jù)官扣,例如登錄文件、一般用戶可自行收受的新聞群組等产捞。
事實(shí)上醇锚,F(xiàn)HS 針對目錄樹架構(gòu)僅定義出三層目錄下面應(yīng)該放置什么數(shù)據(jù)而已,分別是下面這三個目錄的定義:
- / (root, 根目錄):與開機(jī)系統(tǒng)有關(guān)
- /usr (unix software resource):與軟件安裝/執(zhí)行有關(guān)
- /var (variable):與系統(tǒng)運(yùn)行過程有關(guān)
4.1坯临、根目錄 (/) 的意義與內(nèi)容
根目錄是整個系統(tǒng)最重要的一個目錄,因?yàn)椴坏械哪夸浂际怯筛夸浹苌鰜淼牧抵纾瑫r根目錄也與開機(jī)/還原/系統(tǒng)修復(fù)等動作有關(guān)看靠。 由于系統(tǒng)開機(jī)時需要特定的開機(jī)軟件、核心文件液肌、開機(jī)所需程序挟炬、函數(shù)庫等等文件數(shù)據(jù),若系統(tǒng)出現(xiàn)錯誤時嗦哆,根目錄也必須要包含有能夠修復(fù)文件系統(tǒng)的程序才行谤祖。 因?yàn)楦夸浭沁@么的重要,所以在FHS的要求方面老速,他希望根目錄不要放在非常大的分區(qū)內(nèi)粥喜, 因?yàn)樵酱蟮姆謪^(qū)你會放入越多的數(shù)據(jù),如此一來根目錄所在分區(qū)就可能會有較多發(fā)生錯誤的機(jī)會橘券。
FHS 標(biāo)準(zhǔn)建議:根目錄(/)所在分區(qū)應(yīng)該越小越好额湘, 且應(yīng)用程序所安裝的軟件最好不要與根目錄放在同一個分區(qū)內(nèi),保持根目錄越小越好旁舰。 如此不但性能較佳锋华,根目錄所在的文件系統(tǒng)也較不容易發(fā)生問題。
鑒于上述的說明箭窜,因此 FHS 定義出根目錄(/)底下應(yīng)該要有底下這些次目錄的存在才好:
目錄 | 應(yīng)放置文件內(nèi)容 |
---|---|
/bin | 系統(tǒng)有很多放置執(zhí)行文件的目錄毯焕,但/bin比較特殊。因?yàn)?bin放置的是在單人維護(hù)模式下還能夠被操作的指令磺樱。 在/bin底下的指令可以被root與一般賬號所使用纳猫,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令婆咸。 |
/boot | 這個目錄主要在放置開機(jī)會使用到的文件,包括Linux核心文件以及開機(jī)選單與開機(jī)所需配置文件等等续担。 Linux kernel常用的檔名為:vmlinuz擅耽,如果使用的是grub這個開機(jī)管理程序, 則還會存在/boot/grub/這個目錄喔物遇! |
/dev | 在Linux系統(tǒng)上乖仇,任何裝置與接口設(shè)備都是以文件的型態(tài)存在于這個目錄當(dāng)中的。 你只要透過存取這個目錄底下的某個文件询兴,就等于存取某個裝置啰~ 比要重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp, /dev/hd, /dev/sd*等等 |
/etc | 系統(tǒng)主要的配置文件幾乎都放置在這個目錄內(nèi)乃沙,例如人員的賬號密碼文件、 各種服務(wù)的啟始檔等等诗舰。一般來說警儒,這個目錄下的各文件屬性是可以讓一般使用者查閱的, 但是只有root有權(quán)力修改眶根。FHS建議不要放置可執(zhí)行文件(binary)在這個目錄中喔蜀铲。比較重要的文件有: /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 這個 X Server 的配置文件。 |
/home | 這是系統(tǒng)默認(rèn)的用戶家目錄(home directory)渔呵。在你新增一個一般使用者賬號時怒竿, 默認(rèn)的用戶家目錄都會規(guī)范到這里來。比較重要的是扩氢,家目錄有兩種代號喔: ~:代表目前這個用戶的家目錄耕驰,而 ~dmtsai :則代表 dmtsai 的家目錄! |
/lib | 系統(tǒng)的函式庫非常的多类茂,而/lib放置的則是在開機(jī)時會用到的函式庫耍属, 以及在/bin或/sbin底下的指令會呼叫的函式庫而已。 什么是函式庫呢巩检?妳可以將他想成是『外掛』厚骗,某些指令必須要有這些『外掛』才能夠順利完成程序的執(zhí)行之意。 尤其重要的是/lib/modules/這個目錄兢哭, 因?yàn)樵撃夸洉胖煤诵南嚓P(guān)的模塊(驅(qū)動程序)喔领舰! |
/media | media是『媒體』的英文,顧名思義,這個/media底下放置的就是可移除的裝置啦冲秽! 包括軟盤舍咖、光盤、DVD等等裝置都暫時掛載于此锉桑。常見的檔名有:/media/floppy, /media/cdrom等等排霉。 |
/mnt | 如果妳想要暫時掛載某些額外的裝置,一般建議妳可以放置到這個目錄中民轴。 在古早時候攻柠,這個目錄的用途與/media相同啦!只是有了/media之后后裸,這個目錄就用來暫時掛載用了瑰钮。 |
/opt | 這個是給第三方協(xié)力軟件放置的目錄。什么是第三方協(xié)力軟件拔⑹弧浪谴? 舉例來說,KDE這個桌面管理系統(tǒng)是一個獨(dú)立的計劃因苹,不過他可以安裝到Linux系統(tǒng)中苟耻,因此KDE的軟件就建議放置到此目錄下了。 另外扶檐,如果妳想要自行安裝額外的軟件(非原本的distribution提供的)梁呈,那么也能夠?qū)⒛愕能浖惭b到這里來。 不過蘸秘,以前的Linux系統(tǒng)中,我們還是習(xí)慣放置在/usr/local目錄下呢蝗茁! |
/root | 系統(tǒng)管理員(root)的家目錄醋虏。之所以放在這里,是因?yàn)槿绻M(jìn)入單人維護(hù)模式而僅掛載根目錄時哮翘, 該目錄就能夠擁有root的家目錄颈嚼,所以我們會希望root的家目錄與根目錄放置在同一個分割槽中。 |
/sbin | Linux有非常多指令是用來設(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等等瓶蚂。 |
/srv | srv可以視為『service』的縮寫,是一些網(wǎng)絡(luò)服務(wù)啟動之后宣吱,這些服務(wù)所需要取用的數(shù)據(jù)目錄窃这。 常見的服務(wù)例如WWW, FTP等等。舉例來說征候,WWW服務(wù)器需要的網(wǎng)頁數(shù)據(jù)就可以放置在/srv/www/里面杭攻。 |
/tmp | 這是讓一般使用者或者是正在執(zhí)行的程序暫時放置文件的地方。 這個目錄是任何人都能夠存取的倍奢,所以你需要定期的清理一下朴上。當(dāng)然,重要數(shù)據(jù)不可放置在此目錄白渖贰痪宰! 因?yàn)镕HS甚至建議在開機(jī)時,應(yīng)該要將/tmp下的數(shù)據(jù)都刪除嗯显!衣撬! |
底下是幾個在 Linux 當(dāng)中也是非常重要的目錄:
目錄 | 應(yīng)放置文件內(nèi)容 |
---|---|
/lost+found | 這個目錄是使用標(biāo)準(zhǔn)的ext2/ext3文件系統(tǒng)格式才會產(chǎn)生的一個目錄,目的在于當(dāng)文件系統(tǒng)發(fā)生錯誤時扮饶, 將一些遺失的片段放置到這個目錄下具练。這個目錄通常會在分割槽的最頂層存在, 例如你加裝一顆硬盤于/disk中甜无,那在這個系統(tǒng)下就會自動產(chǎn)生一個這樣的目錄『/disk/lost+found』 |
/proc | 這個目錄本身是一個『虛擬文件系統(tǒng)(virtual filesystem)』喔扛点!他放置的數(shù)據(jù)都是在內(nèi)存當(dāng)中, 例如系統(tǒng)核心岂丘、行程信息(process)陵究、周邊裝置的狀態(tài)及網(wǎng)絡(luò)狀態(tài)等等。因?yàn)檫@個目錄下的數(shù)據(jù)都是在內(nèi)存當(dāng)中奥帘, 所以本身不占任何硬盤空間巴省!比較重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等寨蹋。 |
/sys | 這個目錄其實(shí)跟/proc非常類似松蒜,也是一個虛擬的文件系統(tǒng),主要也是記錄與核心相關(guān)的信息已旧。 包括目前已加載的核心模塊與核心偵測到的硬件裝置信息等等秸苗。這個目錄同樣不占硬盤容量喔! |
根目錄與開機(jī)有關(guān)评姨,開機(jī)過程中僅有根目錄會被掛載难述, 其他分割槽則是在開機(jī)完成之后才會持續(xù)的進(jìn)行掛載的行為萤晴。就是因?yàn)槿绱耍虼烁夸浵屡c開機(jī)過程有關(guān)的目錄胁后, 就不能夠與根目錄放到不同的分割槽去店读!那哪些目錄不可與根目錄分開呢?有底下這些:
- /etc:配置文件
- /bin:重要執(zhí)行檔
- /dev:所需要的裝置文件
- /lib:執(zhí)行檔所需的函式庫與核心所需的模塊
- /sbin:重要的系統(tǒng)執(zhí)行文件
這五個目錄千萬不可與根目錄分開在不同的分割槽攀芯!
4.2屯断、/usr 的意義與內(nèi)容
/usr 里面放置的數(shù)據(jù)屬于可分享的與不可變動的(shareable, static),/usr 可以分享給區(qū)域網(wǎng)絡(luò)內(nèi)的其他主機(jī)來使用侣诺。
usr 是 Unix Software Resource 的縮寫殖演, 也就是『Unix操作系統(tǒng)軟件資源』。
FHS建議所有軟件開發(fā)者年鸳,應(yīng)該將他們的數(shù)據(jù)合理的分別放置到這個目錄下的次目錄趴久,而不要自行建立該軟件自己獨(dú)立的目錄。
因?yàn)槭撬邢到y(tǒng)默認(rèn)的軟件(distribution發(fā)布者提供的軟件)都會放置到/usr底下搔确,因此這個目錄有點(diǎn)類似 Windows 系統(tǒng)的『C:\Windows\ + C:\Program files\』這兩個目錄的綜合體彼棍。
/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ù)時,會使用到里頭的許多包含檔喔机隙! |
/usr/lib/ | 包含各應(yīng)用軟件的函式庫蜘拉、目標(biāo)文件(object file),以及不被一般使用者慣用的執(zhí)行檔或腳本(script)有鹿。 某些軟件會提供一些特殊的指令來進(jìn)行服務(wù)器的設(shè)定诸尽,這些指令也不會經(jīng)常被系統(tǒng)管理員操作, 那就會被擺放到這個目錄下啦印颤。要注意的是,如果你使用的是X86_64的Linux系統(tǒng)穿肄, 那可能會有/usr/lib64/目錄產(chǎn)生喔年局! |
/usr/local/ | 系統(tǒng)管理員在本機(jī)自行安裝自己下載的軟件(非distribution默認(rèn)提供者),建議安裝到此目錄咸产, 這樣會比較便于管理矢否。舉例來說,你的distribution提供的軟件較舊脑溢,你想安裝較新的軟件但又不想移除舊版僵朗, 此時你可以將新版軟件安裝于/usr/local/目錄下赖欣,可與原先的舊版軟件有分別啦! 你可以自行到/usr/local去看看验庙,該目錄下也是具有bin, etc, include, lib...的次目錄喔顶吮! |
/usr/sbin/ | 非系統(tǒng)正常運(yùn)作所需要的系統(tǒng)指令。最常見的就是某些網(wǎng)絡(luò)服務(wù)器軟件的服務(wù)指令(daemon)啰粪薛! |
/usr/share/ | 放置共享文件的地方悴了,在這個目錄下放置的數(shù)據(jù)幾乎是不分硬件架構(gòu)均可讀取的數(shù)據(jù), 因?yàn)閹缀醵际俏谋疚募镂ナ伲≡诖四夸浵鲁R姷倪€有這些次目錄: /usr/share/man:聯(lián)機(jī)幫助文件 /usr/share/doc:軟件雜項(xiàng)的文件說明 /usr/share/zoneinfo:與時區(qū)有關(guān)的時區(qū)文件 |
/usr/src/ | 一般原始碼建議放置到這里湃交,src有source的意思。至于核心原始碼則建議放置到/usr/src/linux/目錄下藤巢。 |
4.3搞莺、/var 的意義與內(nèi)容
/usr是安裝時會占用較大硬盤容量的目錄,那么/var就是在系統(tǒng)運(yùn)作后才會漸漸占用硬盤容量的目錄掂咒。 因?yàn)?var目錄主要針對常態(tài)性變動的文件才沧,包括緩存(cache)、登錄檔(log file)以及某些軟件運(yùn)作所產(chǎn)生的文件俏扩, 包括程序文件(lock file, run file)糜工,或者例如MySQL數(shù)據(jù)庫的文件等等。常見的次目錄有:
目錄 | 應(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/ | 某些裝置或者是文件資源一次只能被一個應(yīng)用程序所使用彬檀,如果同時有兩個程序使用該裝置時帆啃, 就可能產(chǎn)生一些錯誤的狀況,因此就得要將該裝置上鎖(lock)窍帝,以確保該裝置只會給單一軟件所使用努潘。 舉例來說,刻錄機(jī)正在刻錄一塊光盤坤学,你想一下疯坤,會不會有兩個人同時在使用一個刻錄機(jī)燒片? 如果兩個人同時刻錄深浮,那片子寫入的是誰的數(shù)據(jù)压怠?所以當(dāng)?shù)谝粋€人在刻錄時該刻錄機(jī)就會被上鎖, 第二個人就得要該裝置被解除鎖定(就是前一個人用完了)才能夠繼續(xù)使用啰飞苇。 |
/var/log/ | 重要到不行菌瘫!這是登錄文件放置的目錄蜗顽!里面比較重要的文件如/var/log/messages, /var/log/wtmp(記錄登入者的信息)等。 |
/var/mail/ | 放置個人電子郵件信箱的目錄雨让,不過這個目錄也被放置到/var/spool/mail/目錄中雇盖! 通常這兩個目錄是互為鏈接文件啦! |
/var/run/ | 某些程序或者是服務(wù)啟動后宫患,會將他們的PID放置在這個目錄下喔刊懈! 至于PID的意義我們會在后續(xù)章節(jié)提到的。 |
/var/spool/ | 這個目錄通常放置一些隊(duì)列數(shù)據(jù)娃闲,所謂的『隊(duì)列』就是排隊(duì)等待其他程序使用的數(shù)據(jù)啦虚汛! 這些數(shù)據(jù)被使用后通常都會被刪除。舉例來說皇帮,系統(tǒng)收到新信會放置到/var/spool/mail/中卷哩, 但使用者收下該信件后該封信原則上就會被刪除。信件如果暫時寄不出去會被放到/var/spool/mqueue/中属拾, 等到被送出后就被刪除将谊。如果是工作排程數(shù)據(jù)(crontab),就會被放置到/var/spool/cron/目錄中渐白! |