Linux 磁盤與文件系統(tǒng)管理
@[toc]

磁盤分區(qū)
linux磁盤分區(qū)主要分為基本分區(qū)(primary partion)和擴(kuò)充分區(qū)(extension partion)兩種,基本分區(qū)和擴(kuò)充分區(qū)的數(shù)目之和不能大于四個(gè)(由于分區(qū)表只有64bytes而已,最多只能容納四個(gè)分區(qū))。且基本分區(qū)可以馬上被使用但不能再分區(qū)。擴(kuò)充分區(qū)必須再進(jìn)行分區(qū)后才能使用,也就是說它必須還要進(jìn)行二次分區(qū)。理論上允許一個(gè)硬盤只有1個(gè)主分區(qū),其它空間都分配給擴(kuò)展分區(qū)(難道這不是默認(rèn)安裝下的普遍現(xiàn)象嗎?)。
磁盤由盤片,機(jī)械手臂,磁頭,主軸馬達(dá)組成,而數(shù)據(jù)的寫入主要是在盤片上面,盤片上又細(xì)分為扇區(qū)與柱面兩種單位,扇區(qū)每個(gè)為512bytes那么大 ,其中,磁盤的第一個(gè)扇區(qū)特別重要,因?yàn)榇疟P的第一個(gè)扇區(qū)記錄了兩個(gè)重要的信息:
1、主引導(dǎo)分區(qū):可以安裝引導(dǎo)加載程序的地方。 2、分區(qū)表:記錄整塊硬盤分區(qū)的狀態(tài)。
這個(gè)扇區(qū)如果物理損壞了,那這個(gè)磁盤也就報(bào)廢了。
在Windows操作系統(tǒng)中,是先將物理地址分開,再在分區(qū)上建立目錄.在Windows操作系統(tǒng)中,所有路徑都是從盤符開始,如C://program file。
linux正好相反,是先有目錄,再將物理地址映射到目錄中。在Linux操作系統(tǒng)中,所有路徑都是從根目錄開始。Linux默認(rèn)可分為3個(gè)分區(qū),分別是boot分區(qū)(約100MB.該分區(qū)存放Linux的Grub(bootloader)和內(nèi)核源碼)、swap分區(qū)(該分區(qū)沒有對(duì)應(yīng)的目錄,故用戶無法訪問。
Linux下的swap分區(qū)即為虛擬內(nèi)存.虛擬內(nèi)存用于當(dāng)系統(tǒng)內(nèi)存空間不足時(shí),先將臨時(shí)數(shù)據(jù)存放在swap分區(qū),等待一段時(shí)間后,然后再將數(shù)據(jù)調(diào)入到內(nèi)存中執(zhí)行)、根分區(qū)。
無論是Windows操作系統(tǒng),還是Linux操作系統(tǒng),每個(gè)分區(qū)均可以有不同的文件系統(tǒng),如FAT32、NTFS、Yaffs2等。
邏輯分割的數(shù)量依操作系統(tǒng)而不同,在Linux系統(tǒng)中,IDE硬盤最多有59個(gè)) 邏輯分割(5號(hào)到63號(hào)), SATA硬盤則有11個(gè)) 邏輯分割(5號(hào)到15號(hào))。
根據(jù)最新的 linux內(nèi)核技術(shù)規(guī)范 中指示,邏輯分區(qū)可以無限。
linux各個(gè)目錄的作用
/bin: /usr/bin: 可執(zhí)行二進(jìn)制文件的目錄,如常用的命令ls、tar、mv、cat等。
/boot:放置linux系統(tǒng)啟動(dòng)時(shí)用到的一些文件。/boot/vmlinuz 為 linux 的內(nèi)核文件,以及 /boot/gurb。建議單獨(dú)分區(qū),分區(qū)大小100M即可。
/dev:存放linux系統(tǒng)下的設(shè)備文件,訪問該目錄下某個(gè)文件,相當(dāng)于訪問某個(gè)設(shè)備,常用的是掛載光驅(qū) mount /dev/cdrom /mnt。
/etc:系統(tǒng)配置文件存放的目錄,不建議在此目錄下存放可執(zhí)行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前記得備份。
注:/etc/X11 存放與 x windows 有關(guān)的設(shè)置。
/home:系統(tǒng)默認(rèn)的用戶家目錄,新增用戶賬號(hào)時(shí),用戶的家目錄都存放在此目錄下,~表示當(dāng)前用戶的家目錄,~edu 表示用戶 edu 的家目錄。建議單獨(dú)分區(qū),并設(shè)置較大的磁盤空間,方便用戶存放數(shù)據(jù)。
/lib: /usr/lib: /usr/local/lib:系統(tǒng)使用的函數(shù)庫的目錄,程序在執(zhí)行過程中,需要調(diào)用一些額外的參數(shù)時(shí)需要函數(shù)庫的協(xié)助,比較重要的目錄為 /lib/modules。
/lost+fount:系統(tǒng)異常產(chǎn)生錯(cuò)誤時(shí),會(huì)將一些遺失的片段放置于此目錄下,通常這個(gè)目錄會(huì)自動(dòng)出現(xiàn)在裝置目錄下。如加載硬盤于 /disk 中,此目錄下就會(huì)自動(dòng)產(chǎn)生目錄 /disk/lost+found。
/mnt: /media:光盤默認(rèn)掛載點(diǎn),通常光盤掛載于 /mnt/cdrom 下,也不一定,可以選擇任意位置進(jìn)行掛載。
/opt:給主機(jī)額外安裝軟件所擺放的目錄。如:FC4使用的Fedora 社群開發(fā)軟件,如果想要自行安裝新的 KDE 桌面軟件,可以將該軟件安裝在該目錄下。以前的 Linux 系統(tǒng)中,習(xí)慣放置在 /usr/local 目錄下。
/proc:此目錄的數(shù)據(jù)都在內(nèi)存中,如系統(tǒng)核心,外部設(shè)備,網(wǎng)絡(luò)狀態(tài),由于數(shù)據(jù)都存放于內(nèi)存中,所以不占用磁盤空間,比較重要的目錄有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
/root:系統(tǒng)管理員root的家目錄,系統(tǒng)第一個(gè)啟動(dòng)的分區(qū)為 /,所以最好將 /root和 /放置在一個(gè)分區(qū)下。
/sbin: /usr/sbin: /usr/local/sbin:放置系統(tǒng)管理員使用的可執(zhí)行命令,如fdisk、shutdown、mount 等。與 /bin 不同的是,這幾個(gè)目錄是給系統(tǒng)管理員 root使用的命令,一般用戶只能"查看"而不能設(shè)置和使用。
/tmp:一般用戶或正在執(zhí)行的程序臨時(shí)存放文件的目錄,任何人都可以訪問,重要數(shù)據(jù)不可放置在此目錄下。
/srv:服務(wù)啟動(dòng)之后需要訪問的數(shù)據(jù)目錄,如 www 服務(wù)需要訪問的網(wǎng)頁數(shù)據(jù)存放在 /srv/www 內(nèi)。
/usr:應(yīng)用程序存放目錄,/usr/bin 存放應(yīng)用程序,/usr/share 存放共享數(shù)據(jù),/usr/lib 存放不能直接運(yùn)行的,卻是許多程序運(yùn)行所必需的一些函數(shù)庫文件。/usr/local: 存放軟件升級(jí)包。/usr/share/doc: 系統(tǒng)說明文件存放目錄。/usr/share/man: 程序說明文件存放目錄,使用 man ls 時(shí)會(huì)查詢 /usr/share/man/man1/ls.1.gz 的內(nèi)容建議單獨(dú)分區(qū),設(shè)置較大的磁盤空間。
/var:放置系統(tǒng)執(zhí)行過程中經(jīng)常變化的文件,如隨時(shí)更改的日志文件 /var/log,/var/log/message:所有的登錄文件存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程序或服務(wù)啟動(dòng)后,其PID存放在該目錄下。建議單獨(dú)分區(qū),設(shè)置較大的磁盤空間。
磁盤與目錄的容量
df:列出文件系統(tǒng)的整體磁盤使用量 格式:df 【-ahikHTm】【目錄或文件名】 -a:列出所有的文件系統(tǒng),包括系統(tǒng)特有的/proc等文件系統(tǒng) -h:以KB的容量顯示各文件系統(tǒng) -m:以MB的容量顯示各文件系統(tǒng) -h:以人們較易閱讀的GB,MB,KB等格式自行顯示 -H:以M=1000K替代M=1024K的進(jìn)位方式 -T:連同該分區(qū)的文件系統(tǒng)名稱(例ext4)也列出 -i:不用硬盤容量,而以inode的數(shù)量來顯示
一般我用df -h 的
軟/硬 連接
對(duì)于這個(gè)軟、硬 連接,以前我是一直不明白的,不過看了這個(gè)比喻我是清楚了。
在linux中連接有兩種,一種是類似Windows的快捷方式功能的文件,可以讓你快速連接到目標(biāo)文件;另一種則時(shí)通過文件系統(tǒng)的inode連接來產(chǎn)生新文件名,而不是產(chǎn)生新文件,這種成為硬連接。
文件名只與目錄有關(guān),但文件內(nèi)容則與inode有關(guān)。hard link只是在某個(gè)目錄下新建一條文件名連接到inode號(hào)碼的關(guān)聯(lián)記錄而以。
[root@server3 mnt]# ll ss -rw-r--r-- 1 root root 94 Dec 3 17:53 ss [root@server3 mnt]# ln ss /media/kk *做一個(gè)連接 [root@server3 mnt]# ll ss -rw-r--r-- 2 root root 94 Dec 3 17:53 ss [root@server3 mnt]# ll -i ss /media/kk 18160500 -rw-r--r-- 2 root root 94 Dec 3 17:53 /media/kk 18160500 -rw-r--r-- 2 root root 94 Dec 3 17:53 ss
由上我們可發(fā)現(xiàn)聯(lián)合各文件名都連接到18160500的inode號(hào)碼,其文件的權(quán)限,屬性完全一樣。因?yàn)檫@兩個(gè)文件其實(shí)是一模一樣的“文件”,而且“連接”字段的數(shù)字由1變成了2。
這里要注意以下,硬連接不能跨文件系統(tǒng),也不能連接到目錄上。連接到目錄上很麻煩,所以干脆關(guān)閉這個(gè)通道。
symbolic link(符號(hào)連接,也稱快捷方式,軟連接)
symbolic link就是在創(chuàng)建一個(gè)獨(dú)立的文件。而這個(gè)文件會(huì)讓數(shù)據(jù)的讀取指向它連接的那個(gè)文件的文件名。由于只是利用文件來作為指向的操作,所以,當(dāng)源文件刪除后,symbolic link的文件會(huì)無法打開。
[root@server3 mnt]# ln -s ss kk [root@server3 mnt]# ll -i ss kk 18162480 lrwxrwxrwx 1 root root 2 Jan 8 19:36 kk -> ss 18160500 -rw-r--r-- 1 root root 94 Dec 3 17:53 ss
由上面結(jié)果我們可以知道兩個(gè)文件指向不同的inode號(hào)碼,當(dāng)然就是兩個(gè)獨(dú)立的文件存在。而且連接文件的重要內(nèi)容就是它會(huì)寫上目標(biāo)文件的文件名。
ln 格式: ln 【-sf】 源文件 目標(biāo)文件 -s:如果不加任何參數(shù)就進(jìn)行連接,那就是hard link,至于-s 就是symbolic link -f:如果目標(biāo)文件存在時(shí),就主動(dòng)將目標(biāo)文件直接刪除后再創(chuàng)建
磁盤的分區(qū)、格式化、檢驗(yàn)與掛載
lsblk (list block device)列出系統(tǒng)上的所有磁盤列表
[root@study ~] lsblk [-dfimpt] [device] 選項(xiàng)與參數(shù): -d : 僅列出磁盤本身,并不會(huì)列出該磁盤的分區(qū)數(shù)據(jù) -f : 同時(shí)列出該磁盤內(nèi)的文件系統(tǒng)名稱 -i : 使用ASCII的字符輸出 -m : 同時(shí)輸出該設(shè)備在 /dev 下的權(quán)限信息 -p : 列出該設(shè)備的完整文件名 -t : 列出該磁盤設(shè)備的詳細(xì)數(shù)據(jù),包括磁盤陣列機(jī)制、與讀寫的數(shù)據(jù)量大小等
blkid 列出設(shè)備的 UUID 等參數(shù)
UUID時(shí)全局唯一標(biāo)識(shí)符(Universally Unique Identifier),Linux會(huì)將系統(tǒng)內(nèi)所有的設(shè)備都給予一個(gè)獨(dú)一無二的標(biāo)識(shí)符,這個(gè)標(biāo)識(shí)符就可拿來作為掛載或是使用這個(gè)設(shè)備或文件系統(tǒng)。
磁盤分區(qū):gdisk/fdisk
GPT分區(qū)表請(qǐng)使用【gdisk】分區(qū)、
MBR分區(qū)表請(qǐng)使用【fdisk】分區(qū)。
用法示例:
[root@study ~] gdisk 設(shè)備名稱 [root@study ~] gdisk /dev/sda #設(shè)備名稱后不要加數(shù)字,比如:/dev/sda1是錯(cuò)誤的
不管進(jìn)行什么操作,只要離開 gdisk 時(shí)按下【q】,那么所有的操作都不會(huì)生效,按下【w】就是寫入、操作生效的意思。
關(guān)于這部分,其實(shí)我現(xiàn)在更傾向于用工具來解決:為什么我的虛擬機(jī)開機(jī)即卡死?以及我是怎么修補(bǔ)的
幾個(gè)注意點(diǎn)
個(gè)人認(rèn)為以下這幾個(gè)注意點(diǎn)比較重要的,使用工具并不妨礙我們?cè)跊]有經(jīng)驗(yàn)的情況下錯(cuò)用工具呀!
在掛載前,最好先明確以下幾件事:
1、單一文件系統(tǒng)不要被重復(fù)掛載在多個(gè)掛載點(diǎn)中。
2、單一掛載點(diǎn)不應(yīng)該被重復(fù)掛載多個(gè)文件。(這說的不就是我嗎。。。)
3、作為掛載點(diǎn)的目錄理論上應(yīng)該都是空目錄。(這說的不還是我嗎。。。)
人不可能被說服,只能被天啟。
所以多說無益,自己動(dòng)手試試就知道了。
Linux
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。