Linux中文件系統(tǒng)的操作示例-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Linux中文件系統(tǒng)的操作示例的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比西盟網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式西盟網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋西盟地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

磁盤與目錄的容量

磁盤的整體數(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 /tmp
vagrant@vagrant-ubuntu-trusty-64:/tmp$ touch tes
vagrant@vagrant-ubuntu-trusty-64:/tmp$ ln test test1
vagrant@vagrant-ubuntu-trusty-64:/tmp$ ll -i test test1
62273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test
62273 -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)致無法打開。

vagrant@vagrant-ubuntu-trusty-64:/tmp$ ln -s test test2
vagrant@vagrant-ubuntu-trusty-64:/tmp$ ll -i test test2
62273 -rw-rw-r-- 2 vagrant vagrant 0 Dec 17 12:39 test
62275 lrwxrwxrwx 1 vagrant vagrant 4 Dec 17 13:07 test2 -> test

兩個文件指向不同的inode號碼,連接文件的重要內(nèi)容就是它會寫上目標(biāo)文件的文件名,因為箭頭右邊的文件是 4 Byte,所以連接文件的大小為 4 byte。

由symbolic link所創(chuàng)建的文件為一個獨立的新的文件,所以會占用掉inode與block。

修改symbolic link文件時,會改動到源文件。

$ ln [-sf] 源文件 目標(biāo)文件
參數(shù):
-s: 如果不加任何參數(shù)進(jìn)行連接,那就是hard link,至于-s就是symbolic link
-f: 如果目標(biāo)文件存在時,主動將目標(biāo)文件直接刪掉再重建。

關(guān)于目錄的連接數(shù)

當(dāng)以hard link進(jìn)行文件的連接時,文件的連接數(shù)會增加1,那當(dāng)我們創(chuàng)建一個空的目錄時,由于存在 . 與 .. 這兩個目錄,那么當(dāng)我們創(chuàng)建一個空的目錄/tmp/testing時,基本會有3個東西:
/tmp/testing
/tmp/testing/.
/tmp/testing/..
其中 /tmp/testing 和 /tmp/testing/. 都代表該目錄,而 /tmp/testing/.. 則代表 /tmp 這個目錄,所以當(dāng)我們創(chuàng)建一個新目錄,新的目錄連接數(shù)為2,而上層目錄的連接數(shù)則會增加1。

磁盤的分區(qū)、格式化、檢驗與掛載

如果要在系統(tǒng)中新增一塊硬盤時,需要做以下動作:

  1. 對磁盤進(jìn)行分區(qū),以新建可用的分區(qū)

  2. 對該分區(qū)進(jìn)行格式化,以創(chuàng)建系統(tǒng)可用的文件系統(tǒng)。

  3. 若想要仔細(xì)一點,則可對剛才新建好的文件系統(tǒng)進(jìn)行檢驗。

  4. 在linux系統(tǒng)上,需要創(chuàng)建掛載點(也即是目錄),并將它掛載上來。

磁盤分區(qū):fdisk

$ fdisk [-l] 設(shè)備名稱
參數(shù):
-l: 輸出后面接的設(shè)備所有的分區(qū)內(nèi)容。若僅有fdisk -f時,則系統(tǒng)將會把整個系統(tǒng)能夠找到的設(shè)備的分區(qū)均列出來。

# 例如:
# 先找出磁盤文件名
vagrant@vagrant-ubuntu-trusty-64:/tmp$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdc1 41251136 3631948 35883276 10% /
# 輸入fdisk,但不要加上數(shù)字
vagrant@vagrant-ubuntu-trusty-64:/tmp$ fdisk /dev/hdc
它會提示Command(m for help): 輸入m就可以看到相關(guān)參數(shù)提示
d 代表刪除一個分區(qū)
n 代表新增一個分區(qū)
p 代表在屏幕中顯示分區(qū)表
q 代表不存儲,離開fdisk程序
w 代表將剛才的操作寫入分區(qū)表

特別注意 q 和 w,只要離開fdisk時按下q,那么所有的操作都不會生效,相反按下 w 就是操作生效的意思。

刪除磁盤分區(qū)

要刪除分區(qū)(例如將/dev/hdc全部分區(qū)刪除)需要做下面幾步:

  1. fdisk /dev/hdc: 先進(jìn)入fdisk界面

  2. p:先看下分區(qū)信息,假設(shè)要刪掉/dev/hdc1

  3. d: 這個時候要選擇一個分區(qū),就選1

  4. w 或者 q: w可存儲到磁盤數(shù)據(jù)表,并離開fdisk; 如果后悔,直接按下q就可以取消剛才的刪除操作。

新增磁盤分區(qū)

需要進(jìn)行一下的動作:

  1. fdisk /dev/hdc: 先進(jìn)入fdisk界面

  2. n: 新增分區(qū)

  3. p 或 e 或 l:選擇不同的分區(qū)類型,其中p代表主分區(qū),e代表擴展分區(qū),l代表邏輯分區(qū)

  4. 1 - 4:分區(qū)號,可選1-4,如果是邏輯分區(qū),則不需要輸入分區(qū)號

  5. 輸入結(jié)束柱面號碼,如果要自己計算柱面/分區(qū)的大小太麻煩,可以使用類似"+512M"的形式,來讓系統(tǒng)幫我們分配最接近512M的柱面號碼

  6. p: 查看分區(qū)信息

  7. w 或者 q: w可存儲到磁盤數(shù)據(jù)表,并離開fdisk; 如果后悔,直接按下q就可以取消剛才的刪除操作。

對于創(chuàng)建分區(qū)的形式(主分區(qū)/擴展分區(qū)/邏輯分區(qū))以及分區(qū)的大小,一般來說新建分區(qū)的形式會有下面的幾種情況:

  1. 1-4號尚有剩余,且系統(tǒng)未有擴展分區(qū):此時會出現(xiàn)讓你挑選Primary/Extended的選項,且你可以指定1~4號間的號碼

  2. 1-4號尚有剩余,且系統(tǒng)有擴展分區(qū):此時會出現(xiàn)讓你挑選Primary/Logical的選項,若選擇p你還需指定1~4號間的號碼;若選擇l則不需要設(shè)置號碼,因為系統(tǒng)會自動指定邏輯分區(qū)的文件名號碼

  3. 1-4沒有剩余,且系統(tǒng)有擴展分區(qū):此時不會讓你挑選分區(qū)類型,直接會進(jìn)入logical的分區(qū)形式

一般分區(qū)完是需要重啟(reboot)才能更新內(nèi)核的分區(qū)表信息,可以使用"partprobe"強制讓內(nèi)核重新找一次分區(qū)表

感謝各位的閱讀!關(guān)于“Linux中文件系統(tǒng)的操作示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站標(biāo)題:Linux中文件系統(tǒng)的操作示例-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://muchs.cn/article46/cocpeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站收錄虛擬主機、定制網(wǎng)站、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)