linux筆記-----8------(linux文件系統(tǒng)管理)
Posted on 2012-09-04 15:43 鑫龍 閱讀(363) 評(píng)論(0) 編輯 收藏 引用 所屬分類: linux基礎(chǔ)一、文件系統(tǒng)構(gòu)成
文件系統(tǒng)構(gòu)成首先應(yīng)該掌握linux有哪些目錄,這些目錄有些什么用


在大概了解了一些重要的目錄情況之后,接著介紹幾個(gè)文件系統(tǒng)命令:
(1)df 查看分區(qū)使用情況
df -h 以M單位顯示內(nèi)容

(2)du 查看文件目錄大小
du -h 以M單位顯示大小
du -sh 查看目錄大小要加上s(statistics)

(3)fsck 文件系統(tǒng)檢測(cè)修復(fù)命令file system check
fsck -p 自動(dòng)修復(fù)
fsck -y 回答yes的修復(fù)
(4)file 判斷文件類型命令
file 文件
二、設(shè)備掛載
首先要知道設(shè)備一般分兩種,一種是塊(block)設(shè)備,一種是字符設(shè)備(char)。通過下圖ls查看的第一個(gè)字母可知。

(1)光驅(qū)掛載

通常建議在mnt目錄下創(chuàng)建目錄進(jìn)行掛載,因?yàn)閙nt是文件系統(tǒng)的臨時(shí)掛載點(diǎn)。光盤卸載使用 umount 掛載點(diǎn) 有時(shí)候會(huì)提示忙,因?yàn)槟愕漠?dāng)前目錄可能在掛載點(diǎn)中,所以可以用eject彈出光盤。
(2)U盤掛載

三、添加硬盤分區(qū)并格式化
首先在設(shè)置里給虛擬機(jī)添加一塊硬盤

然后重啟或者開機(jī),開機(jī)以后通過dmesg | grep sdb查看下關(guān)于新硬盤的信息就知道成功識(shí)別了沒有。從提示信息的unkonwn partition table 可知沒有分區(qū)表。接下來就是進(jìn)行分區(qū)。分區(qū)要使用的命令就是fdisk
(1)fdisk 硬盤分區(qū)
fdisk -l /dev/sda 查看第一個(gè)硬盤的分區(qū)信息及其他硬盤相信信息
直接輸入fdisk /dev/sdb 即開始對(duì)sdb即第二個(gè)硬盤進(jìn)行分區(qū)并進(jìn)入分區(qū)程序命令行。輸入m可以得到幫助如下:

看到上面的幫助,p為顯示分區(qū)表。n添加新的分區(qū)。那么我們輸入n,然后就會(huì)提示你新添加的分區(qū)是主分區(qū)p還是拓展分區(qū)e,先輸入p表示我們創(chuàng)建的是主分區(qū)然后要你輸入分區(qū)號(hào)(1-4),我們輸入1。然后接著要你輸入該分區(qū)起始和終止的柱面,起始用默認(rèn)1就可以了,但是終止如果只分一個(gè)區(qū),那么默認(rèn)的也可以。但我們不只分一個(gè)區(qū),所以我們需要計(jì)算該分區(qū)終止柱面以便給下一個(gè)分區(qū)留出空間。

但是填寫柱面數(shù),我們很難計(jì)算柱面與大小的對(duì)應(yīng)關(guān)系。根據(jù)提示知道,可以使用+sizmM或+sizeK的方式設(shè)置第一個(gè)分區(qū)大小。那我們給2G,輸入+2048M回車即可。然后通過p查看可知第一個(gè)分區(qū)已經(jīng)出現(xiàn)。另外主分區(qū)和擴(kuò)展分區(qū)有什么區(qū)別?

接著把剩下的大小也分一個(gè)主分區(qū)就可以了。(當(dāng)然想分幾個(gè)自己看著辦)默認(rèn)新添加分區(qū)的類型根據(jù)linux版本不同而不同,centOS5.5默認(rèn)是ext3。那如果我們想更改這個(gè)文件系統(tǒng)的類型應(yīng)該使用t。如果對(duì)已分區(qū)的不滿意可以用d刪除分區(qū)。如果已經(jīng)滿意的,輸入w保存退出,q是不保存退出。

(2)mkfs 格式化部署文件系統(tǒng)(mkfs.ext3)
mkfs.ext3 /dev/sdb1 就可以直接格式化sdb1這個(gè)分區(qū)了
(3)硬盤掛載
在創(chuàng)建分區(qū)和格式化分區(qū)以后,接著就要掛載硬盤并使用了。首先創(chuàng)建兩個(gè)目錄,用來對(duì)應(yīng)這兩個(gè)分區(qū)。我創(chuàng)建/bak和/web,然后通過mount命令進(jìn)行掛載。
mount /dev/sdb1 /web以及mount /dev/sdb2 /bak
但是通過mount命令掛載的在重啟以后就會(huì)失效,那么讓它永久有效呢?這就要用到/etc/fstab這個(gè)配置文件了。用vi打開配置文件如下:

格式是---物理分區(qū)名(卷標(biāo)) 掛載點(diǎn) 文件系統(tǒng)類型 缺省設(shè)置 是否在引導(dǎo)時(shí)進(jìn)行數(shù)據(jù)檢測(cè) 檢測(cè)順序
檢測(cè)順序就是設(shè)置的數(shù)據(jù)檢測(cè)的順序,一般有3個(gè)值分別是0、1、2,0表示不檢測(cè),1表示優(yōu)先檢測(cè),2表示正常檢測(cè)。缺省設(shè)置是指定的掛載時(shí)候使用的掛載設(shè)置,大部分使用的default默認(rèn)設(shè)置。下面我們把自己剛剛添加的硬盤添加進(jìn)去。
/dev/sdb1 /web ext3 defaults 1 2
當(dāng)然除了用物理分區(qū)名還可以使用卷標(biāo),首先使用e2label /dev/sdb2查看卷標(biāo)名,如果為空說明沒有卷標(biāo)。那么通過e2label /dev/sdb2 datebak 來設(shè)置進(jìn)卷標(biāo)。
LABEL=datebak /bak ext3 defaults 1 2
(4)swap分區(qū)拓展
當(dāng)你覺得swap分區(qū)的不夠用時(shí),可以通過拓展swap分區(qū)來滿足要求。那如何拓展swap分區(qū)呢?首先要介紹一條指令叫做dd
1.dd
dd是一條拷貝指令,作用是用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換。
dd if=input of=output 格式就是這樣,表示從if指定的input把信息拷貝到of指定的output中。
我們?cè)谧鰏wap拷貝時(shí),用dd if=/dev/zero of=/var/swap/file.swap bs=1024K count=64 從zero設(shè)備里面拷內(nèi)容到file.swap文件中,以1M(1024k)為塊單位,一共拷貝64塊,及64M。這里需要說的是/dev/zero這個(gè)設(shè)備,其實(shí)這是一個(gè)偽設(shè)備,作用是不停的往外輸出0。與/dev/null這個(gè)偽設(shè)備相反,/dev/null就是不停的可以把垃圾信息往里面輸入,然后就沒有了(像黑洞一樣)。這樣就創(chuàng)建了一個(gè)64M大小內(nèi)容全是0的file.swap文件。
然后通過mkswap /var/swap/file.swap 當(dāng)然如果你不想永久的讓文件成為交換區(qū)而是根據(jù)需要?jiǎng)討B(tài)開關(guān),就不要修改配置文件,而是通過把該文件設(shè)置成交換區(qū)的一部分。然后在/etc/fastab的配置文件中修改配置文件加一行:/var/swap/file.swap swap swap defults 0 0 這樣系統(tǒng)開機(jī)就會(huì)自動(dòng)加載這個(gè)swap文件,就使得該文件成功永久變成了swap分區(qū)的一部分。當(dāng)然如果不想這個(gè)文件永久成為swap分區(qū)的一部分,而是想動(dòng)態(tài)的根據(jù)需求來添加swap分區(qū),可以使用swapon /var/swap/file.swap 或swapoff來對(duì)文件進(jìn)行開關(guān)。
四、磁盤配額
試想,如果一個(gè)用戶的宿主目錄和系統(tǒng)目錄是在一個(gè)分區(qū)中,那么用戶在自己的宿主目錄通
過dd /dev/zero zerofile bs=1024k count=102400 的命令創(chuàng)建一個(gè)100G的文件,那么很有可
能就會(huì)把系統(tǒng)目錄分區(qū)脹滿,這樣許多臨時(shí)文件都沒法創(chuàng)建了,導(dǎo)致重新引導(dǎo)失敗。得知后果其
實(shí)是很嚴(yán)重的,那么其中一個(gè)解決這個(gè)問題的方法就是給用戶的分區(qū)進(jìn)行磁盤配額限制。
(1)開啟分區(qū)磁盤配額功能
開啟的方法是在/etc/fstab文件中,在掛載屬性上加上標(biāo)志usrquota(用戶配額),當(dāng)然要記得重啟修改的配置才生效!
(2)建立配額數(shù)據(jù)庫
使用quotacheck -cvuga 命令會(huì)自動(dòng)生成aquita.user和aquita.group兩個(gè)文件(這是用于對(duì)該分區(qū)進(jìn)行配額管理的文件)。
1.quotacheck
-c 創(chuàng)建 ,-v 創(chuàng)建過程顯示信息,-u表示創(chuàng)建用戶配額文件,-g表示創(chuàng)建組配額文件,-a表示檢
測(cè)所有的系統(tǒng)分區(qū)
如果不是檢測(cè)所有的系統(tǒng)區(qū)就把-a去掉加上需要檢測(cè)的分區(qū) quotacheck -cvu /web
(3)啟用配額功能
1.quotaon 分區(qū)名稱 開啟
2.quotaoff 分區(qū)名稱 關(guān)閉
(4)編輯用戶配額信息
使用edquota 用戶名 就可以進(jìn)入來編輯該用戶的配額信息。edquota mysileng可以看到因?yàn)槲覀冮_啟了一個(gè)分區(qū)的配額功能所以配置文件里面有了一行。
這就是mysileng用戶的配額分配頁,因?yàn)槲覀冎婚_啟了一個(gè)配額分區(qū)功能,那么就只有一行信息。filessystem就是分區(qū),blocks是塊單位是1k,soft是軟性限制,hard是硬性限制。軟性限制是在超出限制后會(huì)給出警告,并在7天之內(nèi)刪除超出的部分。硬性限制是在超出時(shí)候給予錯(cuò)誤的提示。inode與blocks類似,只是限制inode節(jié)點(diǎn)數(shù)而不是大小。
我們把block的hard改成100M即102400即可。保存退出就可以了。然后通過repquota -a可以查看所有用戶的配額信息,repquota 分區(qū)可以查看該分區(qū)配額信息。quota 用戶名查看用戶配額信息。edquota -t 設(shè)置soft的寬限期。 edquota -p 模板用戶 復(fù)制用戶1 復(fù)制用戶2 就可以把模板用戶的配額信息復(fù)制給復(fù)制用戶。