一:查看磁盤或者目錄的容量 df 和 du
1股缸、df 查看已掛載磁盤的總?cè)萘堪露睢⑹褂萌萘俊⑹S嗳萘康戎霸保梢圆患尤魏螀?shù),默認(rèn)是按k為單位顯示的
df常用參數(shù)有 –i -h -k –m等
-i 使用inodes 顯示結(jié)果
-h使用合適的單位顯示跛溉,如G
-k -m 分別為使用K焊切,M為單位顯示
Filesystem 表示扇區(qū),也就是你劃分磁盤時(shí)所分的區(qū)芳室;1K-blocks/1M-blocks表示以1K/1M為單位专肪;Used 和 Available 分別是已使用和剩余;Use% 就是已經(jīng)使用的百分比渤愁,如果這個(gè)值大于90% 那么你就應(yīng)該注意了牵祟,磁盤很有可能馬上就會(huì)變滿的;Mounted on 則表示該分區(qū)(扇區(qū))所掛載的地方抖格。
2诺苹、du用來查看某個(gè)目錄所占空間大小
語法:du [-abckmsh] [文件或者目錄名] 常用的參數(shù)有:
-a:全部文件與目錄大小都列出來。如果不加任何選項(xiàng)和參數(shù)只列出目錄(包含子目錄)大小雹拄。
-b:列出的值以bytes為單位輸出收奔,默認(rèn)是以Kbytes
-c:最后加總
-k:以KB為單位輸出
-m:以MB為單位輸出
-s:只列出總和
-h:系統(tǒng)自動(dòng)調(diào)節(jié)單位,例如文件太小可能就幾K滓玖,那么就以K為單位顯示坪哄,如果大到幾G,則就以G為單位顯示势篡。筆者習(xí)慣用 du –sh filename 這樣的形式翩肌。
3、磁盤的分區(qū)
語法: fdisk [-l ] [設(shè)備名稱]
-l :后邊不跟設(shè)備名會(huì)直接列出系統(tǒng)中所有的磁盤設(shè)備以及分區(qū)表禁悠,加上設(shè)備名會(huì)列出該設(shè)備的分區(qū)表念祭。
如果不加-l 則進(jìn)入另一個(gè)模式,在該模式下碍侦,可以對(duì)磁盤進(jìn)行分區(qū)操作粱坤。
剛進(jìn)入該模式下,會(huì)有一個(gè)提示Command (m for help): 此時(shí)按m則會(huì)打印出幫助列表瓷产,如果你英文好站玄,我想你不難理解這些字母的功能。常用的有p, n,d, w, q.
p:打印當(dāng)前磁盤的分區(qū)情況濒旦。
n:重新建立一個(gè)新的分區(qū)株旷。
w:保存操作。
q:退出疤估。
d:刪除一個(gè)分區(qū)
因?yàn)閘inux系統(tǒng)是安裝在虛擬機(jī)上的灾常,所以我可以增加一塊新的磁盤霎冯。然后筆者會(huì)把新的磁盤分成多個(gè)分區(qū)。
當(dāng)再次fdisk -l 查看時(shí)發(fā)現(xiàn)多了一個(gè)/dev/sdb設(shè)備钞瀑。那么下面就來分一下這個(gè)/dev/sdb沈撞。
然后按w保存,該模式自動(dòng)退出雕什,如果你不想保存分區(qū)信息直接按q即可退出缠俺。
分區(qū)的過程,實(shí)質(zhì)上是劃分柱面以及修改分區(qū)表贷岸。
同步分區(qū)表
上面的fdisk操作全部是在內(nèi)存中執(zhí)行的壹士,必須保存生效。保存后偿警,內(nèi)核還未識(shí)別該分區(qū)躏救,可以查看/proc/partition目錄下存在的文件,這些文件是能被內(nèi)核識(shí)別的分區(qū)螟蒸。運(yùn)行partprobe或partx命令重新讀取分區(qū)表讓內(nèi)核識(shí)別新的分區(qū)盒使,內(nèi)核識(shí)別后才可以格式化。而且分區(qū)結(jié)束時(shí)按w保存分區(qū)表有時(shí)候會(huì)失敗七嫌,提示重啟少办,這時(shí)候運(yùn)行partprobe命令可以代替重啟就生效。
4诵原、磁盤格式化
mkfs.ext2 / mkfs.ext3 /mke2fs 格式化linux硬盤分區(qū)
當(dāng)用man查詢這三個(gè)命令的幫助文檔時(shí)英妓,你會(huì)發(fā)現(xiàn)我們看到了同一個(gè)幫助文檔,這說明三個(gè)命令是一樣的绍赛。常用的選項(xiàng)有:
-b:分區(qū)時(shí)設(shè)定每個(gè)數(shù)據(jù)區(qū)塊占用空間大小蔓纠,目前支持1024, 2048 以及4096 bytes每個(gè)塊。
-i:設(shè)定inode大小
-N:設(shè)定inode數(shù)量吗蚌,有時(shí)使用默認(rèn)的inode數(shù)不夠用贺纲,所以要自定設(shè)定inode數(shù)量。
-c:在格式化前先檢測(cè)一下磁盤是否有問題褪测,加上這個(gè)選項(xiàng)后會(huì)非常慢
-L:預(yù)設(shè)該分區(qū)的標(biāo)簽label
-j:建立ext3格式的分區(qū),如果使用mkfs.ext3 就不用加這個(gè)選項(xiàng)了
不加任何選項(xiàng)潦刃,直接格式化/dev/hdb1
下面的例子分區(qū)時(shí)自定義分區(qū)的label(標(biāo)簽)名侮措。
e2label 用來查看或者修改分區(qū)的標(biāo)簽(label)
這個(gè)命令很簡(jiǎn)單,后邊直接跟分區(qū)編號(hào)乖杠,即可查看該分區(qū)的label分扎,當(dāng)想要修改標(biāo)簽名時(shí),分區(qū)編號(hào)后邊跟想要的標(biāo)簽名即可胧洒。
5畏吓、查看文件系統(tǒng)狀態(tài)信息
lsblk(list block devices)用于列出設(shè)備及其狀態(tài)墨状,主要列出非空的存儲(chǔ)設(shè)備。其實(shí)它只會(huì)列出/sys/dev/block中的主次設(shè)備號(hào)文件菲饼,且默認(rèn)只列出非空設(shè)備肾砂。
其中上面的幾列意義如下:
NAME:設(shè)備名稱;
MAJ:MIN:主設(shè)備號(hào)和此設(shè)備號(hào)宏悦;
RM:是否為可卸載設(shè)備镐确,1表示可卸載設(shè)備”罚可卸載設(shè)備如光盤源葫、USB等。并非能夠umount的就是可卸載的砖瞧;
SIZE:設(shè)備總空間大邢⑻谩;
RO:是否為只讀块促;
TYPE:是磁盤disk荣堰,還是分區(qū)part,亦或是rom褂乍,還有l(wèi)oop設(shè)備持隧;
mountpoint:掛載點(diǎn)。
另外常用的一個(gè)選項(xiàng)是"-f"逃片,它可以查看到文件系統(tǒng)類型屡拨,和文件系統(tǒng)的uuid和掛載點(diǎn)。
每個(gè)已經(jīng)格式化的文件系統(tǒng)都有其類型和uuid褥实,而沒有格式化的設(shè)備(如/dev/sdb3)呀狼,將只顯示一個(gè)Name結(jié)果,表示該設(shè)備還未進(jìn)行格式化损离。
blkid 查看器文件系統(tǒng)類型和uuid哥艇。
parted /dev/sda print和fdisk -l
雖然fdisk和gdisk分別是mbr和gpt格式的專用工具,但是僅用于查看信息還是可以的僻澎。parted能兼容兩者貌踏,所以也可以。
file -s
du
du命令用于評(píng)估文件的空間占用情況窟勃,它會(huì)統(tǒng)計(jì)每個(gè)文件的大小祖乳,統(tǒng)計(jì)時(shí)會(huì)遞歸統(tǒng)計(jì)目錄中的文件,也就是說秉氧,它會(huì)遍歷整個(gè)待統(tǒng)計(jì)目錄眷昆,所以統(tǒng)計(jì)速度上可能并不理想。
du [OPTION]... [FILE]...
選項(xiàng)說明:
-a, --all:列出目錄中所有文件的統(tǒng)計(jì)信息,默認(rèn)只會(huì)列出目錄中子目錄的統(tǒng)計(jì)信息亚斋,而不列出文件的統(tǒng)計(jì)信息
-h, --human-readable:人性化顯示大小
-0, --null:以空字符結(jié)尾作媚,即"\0"而非換行的"\n"
-S, --separate-dirs:不包含子目錄的大小
-s, --summarize:對(duì)目錄做總的統(tǒng)計(jì),不列出目錄內(nèi)文件的大小信息
-c,--total:對(duì)給出的文件或目錄做總計(jì)帅刊。在統(tǒng)計(jì)非同一個(gè)目錄文件大小時(shí)非常有用纸泡。見下文例子。
--max-depth=N:只列出給定層次的目錄統(tǒng)計(jì)厚掷,如果N=0弟灼,則等價(jià)于"-s"
-x, --one-file-system:忽略不同文件系統(tǒng)上的文件,不對(duì)它們進(jìn)行統(tǒng)計(jì)
-X, --exclude-from=FILE:從文件中讀取要排除的文件
--exclude=PATTERN:指定要忽略不統(tǒng)計(jì)的文件
搜索符合條件的文件冒黑,然后統(tǒng)計(jì)它們的總大小田绑。結(jié)合find使用,效果極佳抡爹。
注意"-c"和"-s"統(tǒng)計(jì)的區(qū)別掩驱。
df
df用于報(bào)告磁盤空間使用率,默認(rèn)顯示的大小是1K大小block數(shù)量冬竟,也就是以k為單位欧穴。和du不同的是,df是讀取每個(gè)文件系統(tǒng)的superblock信息泵殴,所以評(píng)估速度非充塘保快。由于是讀取superblock笑诅,所以如果目錄下掛載了另一個(gè)文件系統(tǒng)调缨,是不會(huì)將此掛載的文件系統(tǒng)計(jì)入目錄大小的。注意吆你,du和df統(tǒng)計(jì)的結(jié)果是不一樣的
如果用df統(tǒng)計(jì)某個(gè)文件的空間使用情況弦叶,將會(huì)轉(zhuǎn)而統(tǒng)計(jì)該文件所在文件系統(tǒng)的空間使用情況。
df [OPTION]... [FILE]...
選項(xiàng)說明:
-h:人性化轉(zhuǎn)換大小的顯示單位
-i:統(tǒng)計(jì)inode使用情況而非空間使用情況
-l, --local:只列出本地文件系統(tǒng)的使用情況妇多,不列出網(wǎng)絡(luò)文件系統(tǒng)信息
-T, --print-type:同時(shí)輸出文件系統(tǒng)類型
-t, --type=TYPE:只列出給定文件系統(tǒng)的統(tǒng)計(jì)信息
-x, --exclude-type=TYPE:指定不顯示的文件系統(tǒng)類型的統(tǒng)計(jì)信息
dumpe2fs
用于查看ext類文件系統(tǒng)的superblock及塊組信息伤哺。使用-h選項(xiàng)將只顯示superblock信息。
以下是ext4文件系統(tǒng)superblock的信息一部分者祖。
6立莉、fsck 檢查硬盤有沒有壞道
語法: fsck [-Aar] [分區(qū)]
-A :加該參數(shù)時(shí),后不需要跟分區(qū)名作為參數(shù)七问。它會(huì)自動(dòng)檢查/etc/fstab 文件下的所有分區(qū)(開機(jī)過程中就會(huì)執(zhí)行一次該操作)桃序;
-a :自動(dòng)修復(fù)檢查到有問題的分區(qū);
-r :當(dāng)檢查到有壞道的分區(qū)時(shí)會(huì)讓用戶決定是否修復(fù)烂瘫。
7、掛載和卸載文件系統(tǒng)
這個(gè)文件是系統(tǒng)啟動(dòng)時(shí),需要掛載的各個(gè)分區(qū)坟比。第一列就是分區(qū)的label芦鳍;第二列是掛載點(diǎn);第三列是分區(qū)的格式葛账;第四列則是mount的一些掛載參數(shù)柠衅,等下會(huì)詳細(xì)介紹一下有哪些參數(shù),一般情況下籍琳,直接寫defaults即可菲宴;第五列的數(shù)字表示是否被dump備份,是的話這里就是1趋急,否則就是0喝峦;第六列是開機(jī)時(shí)是否自檢磁盤,就是剛才講過的那個(gè)fsck檢測(cè)呜达。1谣蠢,2都表示檢測(cè),0表示不檢測(cè)查近,在Redhat中眉踱,這個(gè)1,2還有個(gè)說法霜威,/ 分區(qū)必須設(shè)為1谈喳,而且整個(gè)fstab中只允許出現(xiàn)一個(gè)1,這里有一個(gè)優(yōu)先級(jí)的說法戈泼。
學(xué)完這個(gè)/etc/fstab后婿禽,我們就可以自己修改這個(gè)文件,增加一行來掛載新增分區(qū)矮冬。例如谈宛,筆者增加了這樣一行
/dev/hdb1 /test1 ext3 defaults 0 0
那么系統(tǒng)再重啟時(shí)就會(huì)掛載這個(gè)分區(qū)了。
講完了/etc/fstab 我們繼續(xù)回來講這個(gè)mount胎署,mout -a 如果運(yùn)行了這個(gè)命令吆录,則會(huì)把/etc/fstab中出現(xiàn)的所有磁盤分區(qū)掛載上。所以當(dāng)你在/etc/fstab文件中增加一行后琼牧,你完全可以直接運(yùn)行mount -a 來掛載你增加的那行恢筝,這樣就不用重啟啦。
umount 卸載設(shè)備
現(xiàn)在你學(xué)會(huì)了如何掛載一個(gè)設(shè)備巨坊,那么如何去卸載一個(gè)設(shè)備呢撬槽,這就要用到umount了,這個(gè)命令也簡(jiǎn)單的很趾撵,后邊可以跟掛載點(diǎn)侄柔,也可以跟分區(qū)名(/dev/hdb1)
有時(shí)也許你會(huì)遇到比較難卸載的設(shè)備共啃,就像在windows下無法刪除U盤一樣,教你一個(gè)特管用的方法就是 umount -l /dev/hdb1 暂题,這個(gè)-l選項(xiàng)有強(qiáng)制卸載的意思非常有用移剪。
8、建立一個(gè)swap文件
從裝系統(tǒng)時(shí)就接觸過這個(gè)swap了薪者,前面也說過它類似與windows的虛擬內(nèi)存纵苛,分區(qū)的時(shí)候一般大小為內(nèi)存的2倍,如果你的內(nèi)存超過4G言津,那么你分8G似乎是沒有必要了攻人。分4G足夠日常交換了。然而悬槽,還會(huì)有虛擬內(nèi)存不夠用的情況發(fā)生怀吻。如果真遇到了,莫非還要重新分一下磁盤陷谱?當(dāng)然不能烙博!那我們就增加一個(gè)虛擬的磁盤出來。
基本的思路就是:建立swapfile ? 格式化為swap格式 ? 啟用該虛擬磁盤
利用dd 來創(chuàng)建一個(gè)419M的文件/tmp/newdisk出來烟逊,其中if代表從哪個(gè)文件讀渣窜,/dev/zero是linux下特有的一個(gè)0生成器,of表示輸出到哪個(gè)文件宪躯,bs即塊大小乔宿,count則定義有多少個(gè)塊。
mkswap 這個(gè)命令是專門格式化swap格式的分區(qū)的
free 是用來查看系統(tǒng)內(nèi)存以及虛擬內(nèi)存使用情況的访雪,-m選項(xiàng)是以M的形式查看详瑞。可以看到當(dāng)前系統(tǒng)的臣缀。而swapon 是啟用我們新建的swap文件坝橡,啟用后再用free查看發(fā)現(xiàn)多了400M。
我們還可以用swapoff 關(guān)閉啟用的swap文件精置。