十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
此讀書(shū)筆記比較主要記錄文件系統(tǒng)的相關(guān)操作。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、聊城網(wǎng)站維護(hù)、網(wǎng)站推廣。
磁盤(pán)與目錄的容量
磁盤(pán)的整體數(shù)據(jù)是在superblock塊中,但是每個(gè)個(gè)別文件的容量則在inode當(dāng)中記載,常用來(lái)顯示磁盤(pán)使用量的兩個(gè)命令
df: 列出文件系統(tǒng)的整體磁盤(pán)使用量
du: 評(píng)估文件系統(tǒng)的磁盤(pán)使用量(常用于評(píng)估目錄所占容量)
$ df [-ahikHTm] [目錄或文件名] 參數(shù): -a: 列出所有的文件系統(tǒng),包括系統(tǒng)特有的/proc(/proc掛載在內(nèi)存中,不會(huì)占用磁盤(pán)空間)等文件系統(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)名稱(chēng)也列出(例如ext3) -i: 不用硬盤(pán)容量,而以inode的數(shù)量顯示
df主要讀取的數(shù)據(jù)幾乎都是針對(duì)整個(gè)文件系統(tǒng),因此讀取的范圍只要是在super block內(nèi)的信息,所以這個(gè)命令顯示結(jié)果的速度非??焖?。
$ du [-ahskm] 文件或者目錄名稱(chēng) 參數(shù): -a 列出所有的文件與目錄容量,因?yàn)槟J(rèn)僅統(tǒng)計(jì)目錄的文件量而已 -h 以人們較易讀的容量顯示 -s 列出總量,而不列出每個(gè)個(gè)別的目錄占用容量 -S 不包括子目錄下的總計(jì) -k 以KB列出容量顯示 -m 以MB列出容量顯示
du會(huì)直接查找文件系統(tǒng)的所有文件數(shù)據(jù)
連接文件: ln
在linux下的連接文件有兩種:一種是類(lèi)似Windows上的快捷方式,可以讓你快速連接到目標(biāo)文件或目錄。另外一種則是通過(guò)文件系統(tǒng)的inode連接來(lái)產(chǎn)生新文件名,而不是產(chǎn)生新文件,這種稱(chēng)為硬鏈接(hard link)。
hard link(硬連接和實(shí)際連接)
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
可以看到兩個(gè)文件的inode號(hào)碼是一致的,他們的文件權(quán)限屬性完全一樣,而連接數(shù)變?yōu)榱?。
硬連接最大的好處就是安全,如果你將任何一個(gè)文件名刪除,其實(shí)inode與block都是存在的。此時(shí)可以通過(guò)另外一個(gè)文件名來(lái)讀取到正確的文件數(shù)據(jù),不論你使用哪個(gè)文件名來(lái)編輯,最終的結(jié)果都會(huì)寫(xiě)到相同的inode與block中,因此均能進(jìn)行數(shù)據(jù)的修改。
一般來(lái)說(shuō),使用hard link設(shè)置連接文件時(shí),磁盤(pán)的空間和inode的數(shù)目都不會(huì)改變,hard link只是在某個(gè)目錄下的block多寫(xiě)一個(gè)關(guān)聯(lián)數(shù)據(jù)而已,既不會(huì)增加inode也不會(huì)耗用block數(shù)量(除非當(dāng)你在block增加多一個(gè)關(guān)聯(lián)數(shù)據(jù)時(shí)剛好磁盤(pán)滿(mǎn)了,就可能需要增加多一個(gè)block來(lái)記錄文件名關(guān)聯(lián)性,而導(dǎo)致磁盤(pán)空間的變化)。
硬連接的限制:
symbolic link(符號(hào)連接,也即快捷方式)
symbolic link就是創(chuàng)建一個(gè)獨(dú)立的文件,而這個(gè)文件會(huì)讓數(shù)據(jù)的讀取指向它鏈接的那個(gè)文件的文件名,由于只是利用文件作為指向的操作,所以當(dāng)源文件被刪除后,symbolic link的文件會(huì)找不到源文件而導(dǎo)致無(wú)法打開(kāi)。
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
兩個(gè)文件指向不同的inode號(hào)碼,連接文件的重要內(nèi)容就是它會(huì)寫(xiě)上目標(biāo)文件的文件名,因?yàn)榧^右邊的文件是 4 Byte,所以連接文件的大小為 4 byte。
由symbolic link所創(chuàng)建的文件為一個(gè)獨(dú)立的新的文件,所以會(huì)占用掉inode與block。
修改symbolic link文件時(shí),會(huì)改動(dòng)到源文件。
$ ln [-sf] 源文件 目標(biāo)文件 參數(shù): -s: 如果不加任何參數(shù)進(jìn)行連接,那就是hard link,至于-s就是symbolic link -f: 如果目標(biāo)文件存在時(shí),主動(dòng)將目標(biāo)文件直接刪掉再重建。
關(guān)于目錄的連接數(shù)
當(dāng)以hard link進(jìn)行文件的連接時(shí),文件的連接數(shù)會(huì)增加1,那當(dāng)我們創(chuàng)建一個(gè)空的目錄時(shí),由于存在 . 與 .. 這兩個(gè)目錄,那么當(dāng)我們創(chuàng)建一個(gè)空的目錄/tmp/testing時(shí),基本會(huì)有3個(gè)東西:
/tmp/testing
/tmp/testing/.
/tmp/testing/..
其中 /tmp/testing 和 /tmp/testing/. 都代表該目錄,而 /tmp/testing/.. 則代表 /tmp 這個(gè)目錄,所以當(dāng)我們創(chuàng)建一個(gè)新目錄,新的目錄連接數(shù)為2,而上層目錄的連接數(shù)則會(huì)增加1。
磁盤(pán)的分區(qū)、格式化、檢驗(yàn)與掛載
如果要在系統(tǒng)中新增一塊硬盤(pán)時(shí),需要做以下動(dòng)作:
磁盤(pán)分區(qū):fdisk
$ fdisk [-l] 設(shè)備名稱(chēng) 參數(shù): -l: 輸出后面接的設(shè)備所有的分區(qū)內(nèi)容。若僅有fdisk -f時(shí),則系統(tǒng)將會(huì)把整個(gè)系統(tǒng)能夠找到的設(shè)備的分區(qū)均列出來(lái)。 # 例如: # 先找出磁盤(pán)文件名 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 它會(huì)提示Command(m for help): 輸入m就可以看到相關(guān)參數(shù)提示 d 代表刪除一個(gè)分區(qū) n 代表新增一個(gè)分區(qū) p 代表在屏幕中顯示分區(qū)表 q 代表不存儲(chǔ),離開(kāi)fdisk程序 w 代表將剛才的操作寫(xiě)入分區(qū)表
特別注意 q 和 w,只要離開(kāi)fdisk時(shí)按下q,那么所有的操作都不會(huì)生效,相反按下 w 就是操作生效的意思。
刪除磁盤(pán)分區(qū)
要?jiǎng)h除分區(qū)(例如將/dev/hdc全部分區(qū)刪除)需要做下面幾步:
新增磁盤(pán)分區(qū)
需要進(jìn)行一下的動(dòng)作:
對(duì)于創(chuàng)建分區(qū)的形式(主分區(qū)/擴(kuò)展分區(qū)/邏輯分區(qū))以及分區(qū)的大小,一般來(lái)說(shuō)新建分區(qū)的形式會(huì)有下面的幾種情況:
一般分區(qū)完是需要重啟(reboot)才能更新內(nèi)核的分區(qū)表信息,可以使用”partprobe”強(qiáng)制讓內(nèi)核重新找一次分區(qū)表
本篇文章到此結(jié)束,如果您有相關(guān)技術(shù)方面疑問(wèn)可以聯(lián)系我們技術(shù)人員遠(yuǎn)程解決,感謝大家支持本站!
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。