国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux 文件系統(tǒng)的操作實現(xiàn)

2024-08-28 00:04:27
字體:
供稿:網(wǎng)友

此讀書筆記比較主要記錄文件系統(tǒng)的相關(guān)操作。

磁盤與目錄的容量

磁盤的整體數(shù)據(jù)是在superblock塊中,但是每個個別文件的容量則在inode當(dāng)中記載,常用來顯示磁盤使用量的兩個命令

df: 列出文件系統(tǒng)的整體磁盤使用量

du: 評估文件系統(tǒng)的磁盤使用量(常用于評估目錄所占容量)

$ df [-ahikHTm] [目錄或文件名]參數(shù):-a: 列出所有的文件系統(tǒng),包括系統(tǒng)特有的/proc(/proc掛載在內(nèi)存中,不會占用磁盤空間)等文件系統(tǒng);-k: 以KB的容量顯示各文件系統(tǒng)-m: 以MB的容量顯示各文件系統(tǒng)-h:以人們較易閱讀的GB、MB、KB等格式自行顯示-H: 以M=1000K 替換M=1024K 的進(jìn)位方式-T: 連同該分區(qū)的文件系統(tǒng)名稱也列出(例如ext3)-i: 不用硬盤容量,而以inode的數(shù)量顯示

df主要讀取的數(shù)據(jù)幾乎都是針對整個文件系統(tǒng),因此讀取的范圍只要是在super block內(nèi)的信息,所以這個命令顯示結(jié)果的速度非常快速。

$ du [-ahskm] 文件或者目錄名稱參數(shù):-a 列出所有的文件與目錄容量,因為默認(rèn)僅統(tǒng)計目錄的文件量而已-h 以人們較易讀的容量顯示-s 列出總量,而不列出每個個別的目錄占用容量-S 不包括子目錄下的總計-k 以KB列出容量顯示-m 以MB列出容量顯示

du會直接查找文件系統(tǒng)的所有文件數(shù)據(jù)

連接文件: ln

在linux下的連接文件有兩種:一種是類似Windows上的快捷方式,可以讓你快速連接到目標(biāo)文件或目錄。另外一種則是通過文件系統(tǒng)的inode連接來產(chǎn)生新文件名,而不是產(chǎn)生新文件,這種稱為硬鏈接(hard link)。

hard link(硬連接和實際連接)

每個文件都會占用一個inode,文件的內(nèi)容由inode的記錄來指向。 想要讀取文件,必須要經(jīng)過目錄記錄的文件名來指向到正確的inode號碼才能讀取。 文件名與目錄有關(guān),而文件內(nèi)容則與inode有關(guān),而hard link就是在某個目錄下新建一個文件名連接到某inode號碼的關(guān)聯(lián)記錄。
vagrant@vagrant-ubuntu-trusty-64:~$ cd /tmpvagrant@vagrant-ubuntu-trusty-64:/tmp$ touch tesvagrant@vagrant-ubuntu-trusty-64:/tmp$ ln test test1vagrant@vagrant-ubuntu-trusty-64:/tmp$ ll -i test test162273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test62273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test1

可以看到兩個文件的inode號碼是一致的,他們的文件權(quán)限屬性完全一樣,而連接數(shù)變?yōu)榱?。

硬連接最大的好處就是安全,如果你將任何一個文件名刪除,其實inode與block都是存在的。此時可以通過另外一個文件名來讀取到正確的文件數(shù)據(jù),不論你使用哪個文件名來編輯,最終的結(jié)果都會寫到相同的inode與block中,因此均能進(jìn)行數(shù)據(jù)的修改。

一般來說,使用hard link設(shè)置連接文件時,磁盤的空間和inode的數(shù)目都不會改變,hard link只是在某個目錄下的block多寫一個關(guān)聯(lián)數(shù)據(jù)而已,既不會增加inode也不會耗用block數(shù)量(除非當(dāng)你在block增加多一個關(guān)聯(lián)數(shù)據(jù)時剛好磁盤滿了,就可能需要增加多一個block來記錄文件名關(guān)聯(lián)性,而導(dǎo)致磁盤空間的變化)。

硬連接的限制:

不能跨文件系統(tǒng) 不能連接到目錄,因為如果使用hard link連接到目錄,連接的數(shù)據(jù)需要連同被連接目錄下面的所有數(shù)據(jù)都建立連接,會造成環(huán)境相當(dāng)大的復(fù)雜度,因此對于目錄暫時不支持

symbolic link(符號連接,也即快捷方式)

symbolic link就是創(chuàng)建一個獨立的文件,而這個文件會讓數(shù)據(jù)的讀取指向它鏈接的那個文件的文件名,由于只是利用文件作為指向的操作,所以當(dāng)源文件被刪除后,symbolic link的文件會找不到源文件而導(dǎo)致無法打開。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长治市| 淳安县| 龙门县| 太原市| 东乌珠穆沁旗| 苗栗县| 梁山县| 潮州市| 左贡县| 喜德县| 仪陇县| 黄梅县| 秦皇岛市| 平山县| 德惠市| 民和| 井研县| 历史| 晋江市| 鲁甸县| 宁明县| 盘锦市| 宣化县| 四子王旗| 万年县| 胶州市| 陆川县| 虎林市| 滦南县| 千阳县| 商水县| 徐州市| 托里县| 北碚区| 杨浦区| 永修县| 平邑县| 周宁县| 寿阳县| 林周县| 阆中市|