在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Linux 磁盤管理
初步進入 linux 世界
Linux 系統(tǒng)的遠程登錄
配置 Tomcat
配置 samba 服務器
LNMP 環(huán)境搭建
配置 FTP 服務
linux 系統(tǒng)用戶以及用戶組管理
正則表達式
LAMP環(huán)境搭建
安裝 RPM 包或者安裝源碼包
NFS 服務配置
文檔的壓縮與打包
Linux 操作系統(tǒng)的安裝
配置 squid 服務
Linux 文件與目錄管理
Linux 磁盤管理
學會使用簡單的 MySQL 操作
關于 Linux 的歷史
學習 shell 腳本之前的基礎知識
圖形界面還是命令窗口
文本編輯工具 vim
shell 腳本
使用 Nagios 搭建監(jiān)控服務器
linux 系統(tǒng)日常管理

Linux 磁盤管理

查看磁盤或者目錄的容量 df du

df 查看已掛載磁盤的總容量使用容量、剩余容量等,可以不加任何參數(shù),默認是按k為單位顯示的

http://wiki.jikexueyuan.com/project/linux/images/8_1.png.jpg" alt="8_1.png.jpg" />

df常用參數(shù)有 –i -h -k –m

-i 使用inodes 顯示結果

http://wiki.jikexueyuan.com/project/linux/images/8_12.png.jpg" alt="8_12.png.jpg" />

-h 使用合適的單位顯示,例如G

http://wiki.jikexueyuan.com/project/linux/images/8_13.png.jpg" alt="8_13.png.jpg" />

-k -m 分別為使用K,M為單位顯示

http://wiki.jikexueyuan.com/project/linux/images/8_14.png.jpg" alt="8_14.png.jpg" />

簡單介紹一下,你看到的相關數(shù)據(jù)。Filesystem 表示扇區(qū),也就是你劃分磁盤時所分的區(qū);1K-blocks/1M-blocks表示以1K/1M為單位;Used Available 分別是已使用和剩余;Use% 就是已經(jīng)使用的百分比,如果這個值大于90% 那么你就應該注意了,磁盤很有可能馬上就會變滿的;Mounted on 則表示該分區(qū)(扇區(qū))所掛載的地方。

du 用來查看某個目錄所占空間大小

語法:du [-abckmsh] [文件或者目錄名] 常用的參數(shù)有:

-a:全部文件與目錄大小都列出來。如果不加任何選項和參數(shù)只列出目錄(包含子目錄)大小。

http://wiki.jikexueyuan.com/project/linux/images/8_15.png.jpg" alt="8_15.png.jpg" />

-b:列出的值以bytes為單位輸出,默認是以Kbytes

http://wiki.jikexueyuan.com/project/linux/images/8_16.png.jpg" alt="8_16.png.jpg" />

-c:最后加總

http://wiki.jikexueyuan.com/project/linux/images/8_17.png.jpg" alt="8_17.png.jpg" />

-k:以KB為單位輸出

-m:以MB為單位輸出

-s:只列出總和

-h:系統(tǒng)自動調(diào)節(jié)單位,例如文件太小可能就幾K,那么就以K為單位顯示,如果大到幾G,則就以G為單位顯示。筆者習慣用 du –sh filename 這樣的形式。

http://wiki.jikexueyuan.com/project/linux/images/8_18.png.jpg" alt="8_18.png.jpg" />

磁盤的分區(qū)和格式化

筆者經(jīng)常做的事情就是拿一個全新的磁盤來分區(qū)并格式化。這也說明了作為一個linux系統(tǒng)管理員,對于磁盤的操作必須要熟練。所以請你認真學習該部分內(nèi)容。

fdisk linux下的硬盤分區(qū)工具

語法: fdisk [-l ] [設備名稱]

-l :后邊不跟設備名會直接列出系統(tǒng)中所有的磁盤設備以及分區(qū)表,加上設備名會列出該設備的分區(qū)表。

http://wiki.jikexueyuan.com/project/linux/images/8_19.png.jpg" alt="8_19.png.jpg" />

http://wiki.jikexueyuan.com/project/linux/images/8_20.png.jpg" alt="8_20.png.jpg" />

如果不加-l 則進入另一個模式,在該模式下,可以對磁盤進行分區(qū)操作。

http://wiki.jikexueyuan.com/project/linux/images/8_21.png.jpg" alt="8_21.png.jpg" />

剛進入該模式下,會有一個提示Command (m for help): 此時按m則會打印出幫助列表,如果你英文好,我想你不難理解這些字母的功能筆者常用的有p, n,d, w, q.

P:打印當前磁盤的分區(qū)情況。

http://wiki.jikexueyuan.com/project/linux/images/8_29.png.jpg" alt="8_29.png.jpg" />

n:重新建立一個新的分區(qū)

w:保存操作。

q:退出

d:刪除一個分區(qū)

因為筆者的linux系統(tǒng)是安裝在虛擬機上的,所以我可以增加一塊新的磁盤。然后筆者會把新的磁盤分成多個分區(qū)

http://wiki.jikexueyuan.com/project/linux/images/8_30.png.jpg" alt="8_30.png.jpg" />

當再次fdisk -l 查看時發(fā)現(xiàn)多了一個/dev/hdb 設備,并提示該設備沒有可用的分區(qū)表。那么下面就來分一下這個/dev/hdb.

http://wiki.jikexueyuan.com/project/linux/images/8_31.png.jpg" alt="8_31.png.jpg" />

首先用p查看一下,并沒有任何分區(qū)信息

http://wiki.jikexueyuan.com/project/linux/images/8_32.png.jpg" alt="8_32.png.jpg" />

n創(chuàng)建一個新的分區(qū),會提示要建立e extended 擴展分區(qū))或者p primary partition主分區(qū)),這里筆者選擇主分區(qū),所以按了p回車后,又讓輸入First cylinder 你或者直接回車或者輸入一個數(shù)字,因為這塊磁盤是新的并沒有任何分區(qū),所以直接回車其實就是從1開始了。你也可以自定義輸入,但不要超過2080,筆者這里輸入1回車。此時會提示要分多大,可以寫一個數(shù)值(2-2080),也可以輸入+sizeK或者+sizeM,后者比較直觀容易理解,所以筆者在這里輸入+100M,即我分了一個100M的主分區(qū)。再用p查看時,果真多出來一個分區(qū)。然后筆者繼續(xù)重復前面的操作,建立了4個主分區(qū)。當筆者再次輸入n創(chuàng)建分區(qū)時,結果提示錯了

http://wiki.jikexueyuan.com/project/linux/images/8_33.png.jpg" alt="8_33.png.jpg" />

由此你會發(fā)現(xiàn),在linux中最多只能創(chuàng)建4個主分區(qū),那如果你想多創(chuàng)建幾個分區(qū)如何做?很容易,在創(chuàng)建完第三個分區(qū)后,創(chuàng)建第四個分區(qū)時選擇擴展分區(qū)

http://wiki.jikexueyuan.com/project/linux/images/8_34.png.jpg" alt="8_34.png.jpg" />先刪除第四個主分區(qū),然后建立一個擴展分區(qū)

http://wiki.jikexueyuan.com/project/linux/images/8_35.png.jpg" alt="8_35.png.jpg" />

在建立擴展分區(qū)時,會問你要分多少給這個擴展分區(qū),筆者直接回車,即把所有空間都分給了這個擴展分區(qū)這個擴展分區(qū)/dev/hdb4并不能往里寫數(shù)據(jù),它只是一個空殼子,需要我們繼續(xù)在這個空殼中繼續(xù)創(chuàng)建分區(qū)。

http://wiki.jikexueyuan.com/project/linux/images/8_83.png.jpg" alt="8_83.png.jpg" />

當建立完擴展分區(qū),然后按n創(chuàng)建新分區(qū)時你會發(fā)現(xiàn)不再提示是要建立p還是e了,因為我們已經(jīng)不能再創(chuàng)建p在這里需要你明白的是,hdb5 其實只是 hdb4 中的一個子分區(qū),到目前為止可用的分區(qū)也才4個,那筆者就再創(chuàng)建第5個分區(qū)出來。

http://wiki.jikexueyuan.com/project/linux/images/8_84.png.jpg" alt="8_84.png.jpg" />

然后按w保存,該模式自動退出,如果你不想保存分區(qū)信息直接按q即可退出

http://wiki.jikexueyuan.com/project/linux/images/8_85.png.jpg" alt="8_85.png.jpg" />

下面我們把剛分好的分區(qū)刪除,重新建立分區(qū)。如何刪除你還記得吧,對了就是直接按d然后選擇合適的數(shù)字。刪除完所有分區(qū)后,這塊磁盤就恢復如初了。

http://wiki.jikexueyuan.com/project/linux/images/8_86.png.jpg" alt="8_86.png.jpg" />

http://wiki.jikexueyuan.com/project/linux/images/8_87.png.jpg" alt="8_87.png.jpg" />

第一個分區(qū),我們就建立成擴展分區(qū)。并且分給它200M。

http://wiki.jikexueyuan.com/project/linux/images/8_88.png.jpg" alt="8_88.png.jpg" />

當再次新建分區(qū)時,發(fā)生了變化,不再是p或者e了,而是p或者l(邏輯分區(qū)),這是為什么呢?在上面也提到了,一個擴展分區(qū)只是一個空殼,在擴展分區(qū)下才可以繼續(xù)劃分小的分區(qū),這個小的分區(qū)其實就是邏輯分區(qū)了。

http://wiki.jikexueyuan.com/project/linux/images/8_89.png.jpg" alt="8_89.png.jpg" />

而且這個邏輯分區(qū)默認都是從字數(shù)5開始的,因為前面的數(shù)字要么給主分區(qū)留著,要么給擴展分區(qū)留著由此我們也可以得到,在linux中最多可以創(chuàng)建4個主分區(qū),一旦創(chuàng)建4個主分區(qū)后就不能增加任何分區(qū)了。另外最多也只能創(chuàng)建一個擴展分區(qū)擴展分區(qū)下的邏輯分區(qū)最多可以創(chuàng)建多少呢?IDE的硬盤(類似于hda, hdb, hdc 等)最多可以創(chuàng)建10個(hdb5-hdb15),這是筆者試驗出來的結果有的資料說linux下的邏輯分區(qū)是沒有限制的,也有的說最大可以到64,至于對不對,需要你去近一步考察了,我們沒有必要多么深入的研究這個問題,也沒有什么意義。

通過以上操作,相信你也學會了用fdisk 來分區(qū)了吧。值得提出的是,不要閑著沒事分區(qū)玩兒,這操作的危險性是很高的,一不留神就把你服務器上的數(shù)據(jù)全部給分沒有了。如果有分區(qū)的操作,那么請保持百分之二百的細心,切記切記!

mkfs.ext2 / mkfs.ext3 /mke2fs 格式化linux硬盤分區(qū)

當用man查詢這三個命令的幫助文檔時,你會發(fā)現(xiàn)我們看到了同一個幫助文檔,這說明三個命令是一樣的常用的選項有:

-b:分區(qū)時設定每個數(shù)據(jù)區(qū)塊占用空間大小,目前支持1024, 2048 以及4096 bytes每個塊

-i:設定inode大小

-N:設定inode數(shù)量,有時使用默認的inode數(shù)不夠用,所以要自定設定inode數(shù)量。

-c:在格式化前先檢測一下磁盤是否有問題,加上這個選項后會非常慢

-L:預設該分區(qū)的標簽label

-j:建立ext3格式的分區(qū),如果使用mkfs.ext3 就不用加這個選項了

http://wiki.jikexueyuan.com/project/linux/images/8_90.png.jpg" alt="8_90.png.jpg" />

不加任何選項,直接格式化/dev/hdb1

http://wiki.jikexueyuan.com/project/linux/images/8_91.png.jpg" alt="8_91.png.jpg" />

上例中更改了block size4096 默認是1024,而inode大小設定為4096。

下面的例子分區(qū)時自定義分區(qū)的label(標簽)名。

http://wiki.jikexueyuan.com/project/linux/images/8_92.png.jpg" alt="8_92.png.jpg" />

e2label 用來查看或者修改分區(qū)的標簽(label

這個命令很簡單,后邊直接跟分區(qū)編號,即可查看該分區(qū)的label,當想要修改標簽名時,分區(qū)編號后邊跟想要的標簽名即可。

http://wiki.jikexueyuan.com/project/linux/images/8_93.png.jpg" alt="8_93.png.jpg" />

fsck 檢查硬盤有沒有壞道

語法: fsck [-Aar] [分區(qū)]

-A :加該參數(shù)時,后不需要跟分區(qū)名作為參數(shù)。它會自動檢查/etc/fstab 文件下的所有分區(qū)(開機過程中就會執(zhí)行一次該操作);

-a :自動修復檢查到有問題的分區(qū);

-r :當檢查到有壞道的分區(qū)時會讓用戶決定是否修復。

http://wiki.jikexueyuan.com/project/linux/images/8_94.png.jpg" alt="8_94.png.jpg" />

當你使用fsck檢查磁盤有無壞道時,會提示用戶跑這個任務可能會導致某些掛載的文件系統(tǒng)損壞,所以這個命令不要輕易運行否則真的遇到問題,系統(tǒng)甚至都不能啟動了。

http://wiki.jikexueyuan.com/project/linux/images/8_95.png.jpg" alt="8_95.png.jpg" />

掛載/卸載磁盤

在上面的內(nèi)容中講到了磁盤的分區(qū)和格式化,那么格式化完了后,如何去用它呢?這就涉及到了掛載這塊磁盤格式化后的磁盤其實是一個塊設備文件,類型為b,也許你會想,既然這個塊文件就是那個分區(qū),那么直接在那個文件中寫數(shù)據(jù)不就寫到了那個分區(qū)中么?當然不行

在掛載某個分區(qū)前需要先建立一個掛載點,這個掛載點是以目錄的形式出現(xiàn)的。一旦把某一個分區(qū)掛載到了這個掛載點(目錄)下,那么再往這個目錄寫數(shù)據(jù)使,則都會寫到該分區(qū)中。這就需要你注意一下,在掛載該分區(qū)前,掛載點(目錄)下必須是個空目錄其實目錄不為空并不影響所掛載分區(qū)的使用,但是一旦掛載上了,那么該目錄下以前的東西就不能看到了。只有卸載掉該分區(qū)后才能看到。

mount 掛載設備

http://wiki.jikexueyuan.com/project/linux/images/8_96.png.jpg" alt="8_96.png.jpg" />

先建立/test1 /test2 目錄,然后在/test1目錄下建立一個1.txt文件。

http://wiki.jikexueyuan.com/project/linux/images/8_97.png.jpg" alt="8_97.png.jpg" />

/dev/hdb1分區(qū)掛載到/test1目錄,然后再查看/test1目錄發(fā)下,1.txt不存在了。此時往/test1目錄下寫數(shù)據(jù),則會寫到/dev/hdb1分區(qū)中。在講mount-a選項時,我們有必要先了解一下這個文件 /etc/fstab

http://wiki.jikexueyuan.com/project/linux/images/8_98.png.jpg" alt="8_98.png.jpg" />

這個文件是系統(tǒng)啟動時,需要掛載的各個分區(qū)。第一列就是分區(qū)的label;第二列是掛載點;第三列是分區(qū)的格式;第四列則是mount的一些掛載參數(shù),等下會詳細介紹一下有哪些參數(shù),一般情況下,直接寫defaults即可;第五列的數(shù)字表示是否被dump備份,是的話這里就是1,否則就是0;第六列是開機時是否自檢磁盤,就是剛才講過的那個fsck檢測。12都表示檢測,0表示不檢測,在Redhat中,這個1,2還有個說法,/ 分區(qū)必須設為1,而且整個fstab中只允許出現(xiàn)一個1,這里有一個優(yōu)先級的說法。12優(yōu)先級高,所以先檢測1,然后再檢測2,如果有多個分區(qū)需要開機檢測那么都設置成2吧,1檢測完了后會同時去檢測2。下面該說說第四列中常用到的參數(shù)了

async/sync async表示和磁盤和內(nèi)存不同步,系統(tǒng)每隔一段時間把內(nèi)存數(shù)據(jù)寫入磁盤中,而sync則會時時同步內(nèi)存和磁盤中數(shù)據(jù);

auto/noauto :開機自動掛載/不自動掛載;

default:按照大多數(shù)永久文件系統(tǒng)的缺省值設置掛載定義,它包含了rw, suid, dev, exec, auto, nouser,async ;

ro:按只讀權限掛載;

rw:按可讀可寫權限掛載;

exec/noexec :允許/不允許可執(zhí)行文件執(zhí)行,但千萬不要把根分區(qū)掛載為noexec,那就無法使用系統(tǒng)了,連mount命令都無法使用了,這時只有重新做系統(tǒng)了;

user/nouser :允許/不允許root外的其他用戶掛載分區(qū),為了安全考慮,請用nouser ;

suid/nosuid :允許/不允許分區(qū)有suid屬性,一般設置nosuid ;

usrquota :啟動使用者磁盤配額模式,磁盤配額相關內(nèi)容在后續(xù)章節(jié)會做介紹;

grquota :啟動群組磁盤配額模式;

學完這個/etc/fstab后,我們就可以自己修改這個文件,增加一行來掛載新增分區(qū)。例如,筆者增加了這樣一行

/dev/hdb1 /test1 ext3 defaults 0 0

那么系統(tǒng)再重啟時就會掛載這個分區(qū)了。

講完了/etc/fstab 我們繼續(xù)回來講這個mount,mout -a 如果運行了這個命令,則會把/etc/fstab中出現(xiàn)的所有磁盤分區(qū)掛載上。所以當你在/etc/fstab文件中增加一行后,你完全可以直接運行mount -a 來掛載你增加的那行,這樣就不用重啟啦

你可以使用mount -o 選項來重新掛載一個分區(qū),并同時指定你想要的選項(即上邊介紹fstab第六列中那些)

http://wiki.jikexueyuan.com/project/linux/images/8_99.png.jpg" alt="8_99.png.jpg" />

看到了吧,使用了ro選項,則不能新建文件了。

http://wiki.jikexueyuan.com/project/linux/images/8_100.png.jpg" alt="8_100.png.jpg" />

再重新掛載一次就恢復正常了,如果不加任何其他選項,則就是defaults。

筆者在日常的運維工作中遇到過這樣的情況,一臺服務器上新裝了亮塊磁盤,磁盤a(在服務器上顯示為sdc)和磁盤b(在服務器上顯示為sdd),有一次把這兩塊磁盤都拔掉了,然后再重新插上,重啟機器,結果磁盤編號調(diào)換了,a變成了sddb變成了sdc(這是因為把磁盤插錯了插槽),問題來了。通過上邊的學習,你掛載磁盤是通過/dev/hdb1 這樣的分區(qū)名字來掛載的,如果先前加入到了/etc/fstab 中,結果系統(tǒng)啟動后則會掛載錯分區(qū)。那么怎么樣避免這樣的情況發(fā)生?

blkid 這個命令是用來顯示磁盤分區(qū)uuid的,uuid其實就是一大串字符,在linux系統(tǒng)中每一個分區(qū)都會有唯一的一個uuid。說到這,聰明的你想到了吧,沒有錯,我們就用這唯一的uuid來掛載磁盤分區(qū)。

http://wiki.jikexueyuan.com/project/linux/images/8_101.png.jpg" alt="8_101.png.jpg" />

這個命令筆者只是用來顯示uuid,沒有其他用途所以不做詳細介紹,當然你也可以在命令后邊跟某一個分區(qū),只顯示該分區(qū)的uuid。

http://wiki.jikexueyuan.com/project/linux/images/8_102.png.jpg" alt="8_102.png.jpg" />

看到了吧,其實是很好用的。那么怎么讓它也開機啟動?很簡單,把剛才敲的mount 磁盤的命令直接寫到 /etc/rc.d/rc.local 文件即可。對了,筆者到現(xiàn)在還沒有給你講過這個rc.local文件的作用。簡單點說,系統(tǒng)啟動完后會執(zhí)行這個文件中的命令。所以只要你想開機后運行什么命令統(tǒng)統(tǒng)寫入到這個文件下面吧。

http://wiki.jikexueyuan.com/project/linux/images/8_103.png.jpg" alt="8_103.png.jpg" />

其實這個文件就是一個shell 腳本,以后筆者會單獨用一章來介紹它。行開頭的”#”是注釋的意思,代表這行在這個腳本中不生效。你想讓系統(tǒng)開機后運行什么命令,就把什么命令寫到這里面來就比如剛才筆者掛載的那條命令。你可以這樣實現(xiàn):

http://wiki.jikexueyuan.com/project/linux/images/8_104.png.jpg" alt="8_104.png.jpg" />

mount 還有一個比較常用的選項就是-t ,后邊指定文件系統(tǒng)的類型,比如掛載軟盤時就需要指定 vfat,而掛載光盤時就需要指定iso9660,但在筆者多年來的經(jīng)驗,目前的系統(tǒng)都是智能識別所要掛載分區(qū)的系統(tǒng)格式類別的也就是說,用不著你去指定,它會自動判斷的。

http://wiki.jikexueyuan.com/project/linux/images/8_105.png.jpg" alt="8_105.png.jpg" />

umount 卸載設備

現(xiàn)在你學會了如何掛載一個設備,那么如何去卸載一個設備呢,這就要用到umount了,這個命令也簡單的很,后邊可以跟掛載點,也可以跟分區(qū)名(/dev/hdb1)

http://wiki.jikexueyuan.com/project/linux/images/8_106.png.jpg" alt="8_106.png.jpg" />

有時也許你會遇到比較難卸載的設備,就像在windows下無法刪除U盤一樣,教你一個特管用的方法就是 umount -l /dev/hdb1 ,這個-l選項有強制卸載的意思,你一定要記住哦,非常有用的。

建立一個swap文件

從裝系統(tǒng)時就接觸過這個swap了,前面也說過它類似與windows的虛擬內(nèi)存,分區(qū)的時候一般大小為內(nèi)存的2倍,如果你的內(nèi)存超過4G,那么你分8G似乎是沒有必要了。4G足夠日常交換了。然而,還會有虛擬內(nèi)存不夠用的情況發(fā)生。如果真遇到了,莫非還要重新分一下磁盤?當然不能!那我們就增加一個虛擬的磁盤出來。

基本的思路就是:建立swapfile ?格式化為swap格式?啟用該虛擬磁盤

http://wiki.jikexueyuan.com/project/linux/images/8_107.png.jpg" alt="8_107.png.jpg" />

利用dd 來創(chuàng)建一個419M的文件/tmp/newdisk出來,其中if代表從哪個文件讀,/dev/zerolinux下特有的一個0生成器,of表示輸出到哪個文件,bs即塊大小,count則定義有多少個塊

http://wiki.jikexueyuan.com/project/linux/images/8_108.png.jpg" alt="8_108.png.jpg" />

mkswap 這個命令是專門格式化swap格式的分區(qū)的,這個命令用的時候一定要看清楚了,否則把其他分區(qū)給格式化錯了就只有哭了。

http://wiki.jikexueyuan.com/project/linux/images/8_109.png.jpg" alt="8_109.png.jpg" />

free 是用來查看系統(tǒng)內(nèi)存以及虛擬內(nèi)存使用情況的,-m選項是以M的形式查看。可以看到當前系統(tǒng)的。swapon 是啟用我們新建的swap文件,啟用后再用free查看發(fā)現(xiàn)多了400M。

http://wiki.jikexueyuan.com/project/linux/images/8_110.png.jpg" alt="8_110.png.jpg" />

我們還可以用swapoff 關閉啟用的swap文件

磁盤配額

磁盤配合其實就是給每個用戶分配一定的磁盤額度,只允許他使用這個額度范圍內(nèi)的磁盤空間linux系統(tǒng)中,是多用戶多任務的環(huán)境,所以會有很多人共用一個磁盤的情況。針對每個用戶去限定一定量的磁盤空間是有必要的,這樣才顯得公平

linux中,用來管理磁盤配額的東西就是quota如果你的linux上沒有quota,則需要你安裝這個軟件包 quota-3.13-5.el5.RPM (其實版本是多少無所謂了,關鍵是這個軟件包)。quota在實際應用中是針對整個分區(qū)進行限制的如果你的/dev/hda3 是掛載在/home 目錄下的,那么/home 所有目錄都會受到限制

quota 這個模塊主要分為quota quotacheck quotaoff quotaon quotastats edquota setquota warnquota repquota這幾個命令,下面就分別介紹這些命令。

quota 用來顯示某個組或者某個使用者的限額。

語法:quota [-guvs] [user,group]

-g :顯示某個組的限額

-u :顯示某個用戶的限額

-v :顯示的意思

-s :選擇inod或硬盤空間來顯示

?

quotacheck 用來掃描某一個磁盤的quota空間。

語法:quotacheck [-auvg] /path

-a :掃描所有已經(jīng)mount的具有quota支持的磁盤

-u :掃描某個使用者的文件以及目錄

-g :掃描某個組的文件以及目錄

-v :顯示掃描過程

-m :強制進行掃描

?

edquota 用來編輯某個用戶或者組的quota

語法:edquota [-u user] [-g group] [-t]

edquota -p user -u user

-u :編輯某個用戶的quota

-g :編輯某個組的quota

-t :編輯寬限時間

-p :拷貝某個用戶或組的quta到另一個用戶或組

當運行edquota -u user 時,系統(tǒng)會打開一個文件,你會看到這個文件中有7列,它們分別代表的含義是:

Filesystem :磁盤分區(qū),如/dev/hda3

blocks :當前用戶在當前的Filesystem中所占用的磁盤容量,單位是Kb。該值請不要修改。

soft/hard :當前用戶在該Filesystem內(nèi)的quota值,soft指的是最低限額,可以超過這個值,但必須要在寬限時間內(nèi)將磁盤容量降低到這個值以下。hard指的是最高限額,即不能超過這個值。當用戶的磁盤使用量高于soft值時,系統(tǒng)會警告用戶,提示其要在寬限時間內(nèi)把使用空間降低到soft值之下。

inodes :目前使用掉的inode的狀態(tài),不用修改。

quotaon 啟動quta,在編輯好quota后,需要啟動才能是quta生效

語法:quotaon [-a] [-uvg directory]

-a :全部設定的quota啟動

-u :啟動某個用戶的quota

-g :啟動某個組的quota

-s :顯示相關信息

?

quotaoff 關閉quota

該命令常用只有一種情況 quotaoff -a 關閉全部的quota

以上講了很多quota的相關命令,那么接下來筆者教你如何在實踐應用中去做這個磁盤配額。整個執(zhí)行過程如下:

首先先確認一下,你的/home目錄是不是單獨的掛載在一個分區(qū)下,用df 查看即可。如果不是則需要你跟我一起做否則這一步即可省略。

http://wiki.jikexueyuan.com/project/linux/images/8_111.png.jpg" alt="8_111.png.jpg" />

筆者的linux系統(tǒng)中,/home并沒有單獨占用一個分區(qū)。所以需要把/home目錄掛載在一個單獨的分區(qū)下,因為quota是針對分區(qū)來限額的。

http://wiki.jikexueyuan.com/project/linux/images/8_112.png.jpg" alt="8_112.png.jpg" />

筆者用fdisk -l 查看目前/dev/hdb 磁盤有5個可用分區(qū),所以筆者打算把/dev/hdb1掛載在/home 目錄下

http://wiki.jikexueyuan.com/project/linux/images/8_113.png.jpg" alt="8_113.png.jpg" />

看到了吧,目前筆者的/home目錄已經(jīng)是一個單獨的分區(qū)了。

1)建立測試用戶

http://wiki.jikexueyuan.com/project/linux/images/8_114.png.jpg" alt="8_114.png.jpg" />

首先建立一個test用戶,則同時建立了一個test。可以在/etc/passwd中有以test為開頭的行,其中uidgid都為500 ,然后又建立一個test1賬號,使其加入test組,查看/etc/passwd文件發(fā)現(xiàn)testtest1用戶的gid都為500。(也許你對/etc/passwd文件增加一個用戶以及uidgid等概念不熟悉,沒有關系,在以后的章節(jié)中會做介紹,在這里只需要你明白即可)

2)打開磁盤的quota功能

默認linux并沒有對任何分區(qū)做quota的支持,所以需要我們手動打開磁盤的quota功能,你是否記得,在前面內(nèi)容中分析/etc/fstab文件的第四列時講過這個quota選項(usrquota, grpquota。沒錯,要想打開這個磁盤的quota支持就是需要修改這個第四列的。vim編輯/etc/fstab 加入一行,如下圖:

http://wiki.jikexueyuan.com/project/linux/images/8_115.png.jpg" alt="8_115.png.jpg" />

vim命令將會在后續(xù)章節(jié)詳細介紹,前面介紹過如何進入編輯模式以及如何保存文件。如果你的linux系統(tǒng)已經(jīng)有/home這一行,那么直接修改第四列,加上usrquota,grpguota(中間沒有空格)。接下來需要重新掛載/home。

http://wiki.jikexueyuan.com/project/linux/images/8_116.png.jpg" alt="8_116.png.jpg" />

另外你也可以這樣實現(xiàn)重新掛載/home

http://wiki.jikexueyuan.com/project/linux/images/8_117.png.jpg" alt="8_117.png.jpg" />

如何查看是否啟用了quota呢?

http://wiki.jikexueyuan.com/project/linux/images/8_118.png.jpg" alt="8_118.png.jpg" />

只要查看/etc/mtab文件中/home所在那行是否有usrguota,grpquota即可筆者的/dev/hdb1現(xiàn)在已經(jīng)支持了quota

3)掃描磁盤的使用者使用狀況,并產(chǎn)生重要的aquota.groupaquota.user

這一步就需要用到quotacheck了,aquota.groupaqouta.user分別是組以及用戶磁盤配額需要的配置文件。如果沒有這兩個文件,則磁盤配額是不會生效的。

http://wiki.jikexueyuan.com/project/linux/images/8_119.png.jpg" alt="8_119.png.jpg" />

當首次使用quotacheck命令時,會提示“cannot stat old user quota file ……”其實這是在提示你在/home目錄下沒有aquota.user以及aquota.group兩個文件。沒有關系,因為以前并沒有配置過磁盤配額,當然沒有這兩個文件了。當執(zhí)行完quotacheck命令后,會在/home目錄下生成這兩個文件的。

4)啟動quota配額

http://wiki.jikexueyuan.com/project/linux/images/8_120.png.jpg" alt="8_120.png.jpg" />

5)編輯用戶磁盤配額

先來設定test賬戶的配額,然后直接把test的配額拷貝給test1即可。這里就需要用到edquota。

http://wiki.jikexueyuan.com/project/linux/images/8_121.png.jpg" alt="8_121.png.jpg" />

講上面內(nèi)容修改為

http://wiki.jikexueyuan.com/project/linux/images/8_122.png.jpg" alt="8_122.png.jpg" />

其中單位是Kb,所以soft 值大約為20Mb,hard值為30Mb,保存這個文件,保存的方式跟vim一個文件的方式一樣的。

http://wiki.jikexueyuan.com/project/linux/images/8_123.png.jpg" alt="8_123.png.jpg" />

test的配額復制給test1。下面繼續(xù)設定寬限時間。

http://wiki.jikexueyuan.com/project/linux/images/8_124.png.jpg" alt="8_124.png.jpg" />

默認是7days 在這里我們改為1days。下面查看一下test以及test1用戶的配額吧

http://wiki.jikexueyuan.com/project/linux/images/8_125.png.jpg" alt="8_125.png.jpg" />

6)編輯組磁盤配額

http://wiki.jikexueyuan.com/project/linux/images/8_126.png.jpg" alt="8_126.png.jpg" />

設定組testsoft配額值為40M,hard值為50M。下面查看組test的配額。

http://wiki.jikexueyuan.com/project/linux/images/8_127.png.jpg" alt="8_127.png.jpg" />

7)設定開機啟動

前面已經(jīng)講到啟動磁盤配額的命令是quotaon -aug ,所以要想開機啟動,只需將這條命令加入到 /etc/rc.d/rc.local文件即可

http://wiki.jikexueyuan.com/project/linux/images/8_128.png.jpg" alt="8_128.png.jpg" />