鍍金池/ 教程/ Linux/ 磁盤掛載與卸載
Linux 學(xué)習(xí)記錄--開機(jī)掛載錯(cuò)誤
日志系統(tǒng)
數(shù)據(jù)流重定向
內(nèi)存交換空間的構(gòu)建
文件系統(tǒng)簡介
Linux 學(xué)習(xí)記錄--軟件安裝 RPM|SRPM|YUM
文件特殊權(quán)限
目錄配置 FHS
文件內(nèi)容查閱
Boot Loader
文件壓縮
Linux 學(xué)習(xí)記錄--文件權(quán)限
Linux 命令縮寫
命令與文件的查詢
文件|目錄的默認(rèn)權(quán)限與隱藏權(quán)限
shell script
服務(wù)
Linux 學(xué)習(xí)記錄--程序編譯與函數(shù)庫
正則表達(dá)式與其應(yīng)用
關(guān)機(jī)相關(guān)指令
shell
vim 與 vi 常用命令
系統(tǒng)調(diào)用:進(jìn)程控制
文件系統(tǒng)簡單操作
磁盤掛載與卸載
有名管道通訊
磁盤分區(qū),格式化與檢驗(yàn)
工作管理與進(jìn)程管理
匿名管道通訊
Linux 學(xué)習(xí)記錄--啟動(dòng)流程
文件與目錄管理
管道命令
命名別名與歷史命令
文件備份|還原
shell變量
Linux 學(xué)習(xí)記錄--ACL 權(quán)限控制
內(nèi)核|內(nèi)核模塊編譯
文件管理相關(guān)系統(tǒng)編程

磁盤掛載與卸載

文件系統(tǒng)的格式化完畢后,需要將文件系統(tǒng)掛載到目錄樹上我們才可以使用,如果你要用來掛載的目錄里面并不是空的,那么掛載了文件系統(tǒng)之后,原目錄下的東西就會(huì)暫時(shí)的消失。舉個(gè)例子來說,假設(shè)你的 /home 原本與根目錄 (/) 在同一個(gè)文件系統(tǒng)中,底下原本就有 /home/test 與 /home/vbird 兩個(gè)目錄。然后你想要加入新的硬盤,并且直接掛載 /home 底下,那么當(dāng)你掛載上新的分割槽時(shí),則 /home 目錄顯示的是新分割槽內(nèi)的數(shù)據(jù),至于原先的 test 與 vbird 這兩個(gè)目錄就會(huì)暫時(shí)的被隱藏掉了!并不是被覆蓋掉,而是暫時(shí)的隱藏了起來,等到新分割槽被卸除之后,則 /home 原本的內(nèi)容就會(huì)再次的跑出來

磁盤掛載

語法:
[root@www ~]# mount -a
[root@www ~]# mount [-l]
[root@www ~]# mount [-t 文件系統(tǒng)] [-LLabel 名] [-o 額外選項(xiàng)] 裝置文件名 掛載點(diǎn)
選項(xiàng)與參數(shù):
-a :依照配置文件/etc/fstab 的數(shù)據(jù)將所有未掛載的磁盤都掛載上來
-l :單純的輸入 mount 會(huì)顯示目前掛載的信息。加上-l 可增列 Label 名稱!
-t :與 mkfs 的選項(xiàng)非常類似的,可以加上文件系統(tǒng)種類來指定欲掛載的類型。常見的 Linux 支持類型有:ext2, ext3, vfat, reiserfs, iso9660(光盤格式),nfs, cifs,smbfs(此三種為網(wǎng)絡(luò)文件系統(tǒng)類型)
-n :在默認(rèn)的情況下,系統(tǒng)會(huì)將實(shí)際掛載的情況實(shí)時(shí)寫入 /etc/mtab 中,以利其他程序的運(yùn)行。但在某些情況下(例如單人維護(hù)模式)為了避免問題,會(huì)刻意不寫入。此時(shí)就得要使用這個(gè) -n 的選項(xiàng)了。
-L :系統(tǒng)除了利用裝置文件名(例如 /dev/hdc6) 之外,還可以利用文件系統(tǒng)的標(biāo)頭名稱
(Label)來進(jìn)行掛載。最好為你的文件系統(tǒng)取一個(gè)獨(dú)一無二的名稱吧!
-o :后面可以接一些掛載時(shí)額外加上的參數(shù)!比方說賬號、密碼、讀寫權(quán)限等:
ro, rw: 掛載文件系統(tǒng)成為只讀(ro) 或可擦寫(rw)
async, sync: 此文件系統(tǒng)是否使用同步寫入(sync) 或異步 (async) 的內(nèi)存機(jī)制,請參考文件系統(tǒng)運(yùn)行方式。默認(rèn)為 async。
auto, noauto: 允許此 partition 被以 mount -a 自動(dòng)掛載(auto)
dev, nodev: 是否允許此 partition 上,可創(chuàng)建裝置文件? dev 為可允許
suid, nosuid: 是否允許此 partition 含有 suid/sgid 的文件格式?
exec, noexec: 是否允許此 partition 上擁有可運(yùn)行 binary 文件?
user, nouser: 是否允許此 partition 讓任何使用者運(yùn)行 mount ?一般來說 mount 僅有 root 可以進(jìn)行,但下達(dá) user 參數(shù),則可讓一般 user 也能夠?qū)Υ?partition 進(jìn)行 mount 。
defaults: 默認(rèn)值為:rw,suid, dev, exec, auto, nouser, and async
remount: 重新掛載,這在系統(tǒng)出錯(cuò),或重新升級參數(shù)時(shí),很有用

舉例1:掛載 EXT2/EXT3文件系統(tǒng)

[root@localhost ~]# mkdir /mnt/sda7
[root@localhost ~]# mount /dev/sda7/mnt/sda7
[root@localhost ~]# df
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
/dev/sda2              9920624   4329132  5079424  47% /
/dev/sda3              4956316    141272   4559212  4% /home
/dev/sda1               101086     11726    84141  13% /boot
tmpfs                  1037452         0  1037452   0% /dev/shm
/dev/sda6              1976312     42072  1833836   3% /mnt/sda6
.host:/               80148252  59099424 21048828  74% /mnt/hgfs
/dev/sda7               194450      9016   175396   5% /mnt/sda7

舉例2:掛載 cd/dvd 光盤

[root@localhost ~]# mount -t iso9660/dev/cdrom /media/cdrom/
mount: block device /dev/cdrom iswrite-protected, mounting read-only
[root@localhost ~]# df
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
/dev/sda2              9920624   4329132  5079424  47% /
/dev/sda3              4956316    141272  4559212   4% /home
/dev/sda1               101086     11726    84141  13% /boot
tmpfs                  1037452         0  1037452   0% /dev/shm
/dev/sda6              1976312     42072  1833836   3% /mnt/sda6
.host:/               80148252  59231380 20916872  74% /mnt/hgfs
/dev/sda7               194450      9016   175396   5% /mnt/sda7
/dev/hdc              1651852   1651852         0 100% /media/cdrom

舉例3:掛載 U 盤

[root@localhost ~]# mkdir /media/flash
[root@localhost ~]# mount -t vfat -o iocharset=cp950 /dev/sdb1 /media/flash
// iocharset為指定中文字符
[root@localhost ~]# df
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
/dev/sda2              9920624   4329164  5079392  47% /
/dev/sda3              4956316    141272  4559212   4% /home
/dev/sda1               101086     11726    84141  13% /boot
tmpfs                  1037452         0  1037452   0% /dev/shm
/dev/sda6              1976312     42072  1833836   3% /mnt/sda6
.host:/               80148252  59231444 20916808  74% /mnt/hgfs
/dev/sda7               194450      9016   175396   5% /mnt/sda7
/dev/hdc               1651852   1651852         0 100% /media/cdrom
/dev/sdb1              3977678   1385740  2591938  35% /media/flash

舉例4:掛載信息會(huì)寫入/etc/mtab 文件中

[root@localhost ~]# cat /etc/mtab
/dev/sda2 / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 00
/dev/sda3 /home ext3 rw 0 0
/dev/sda1 /boot ext3 rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
/dev/sda6 /mnt/sda6 ext3 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_miscrw 0 0
.host:/ /mnt/hgfs vmhgfs rw,ttl=1 0 0
none /proc/fs/vmblock/mountPoint vmblock rw0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefsrw 0 0
/dev/sda7 /mnt/sda7 ext3 rw 0 0
/dev/hdc /media/cdrom iso9660 ro 0 0
/dev/sdb1 /media/flash vfatrw,iocharset=cp950 0 0

舉例5:系統(tǒng)默認(rèn)掛載信息會(huì)記錄在/etc/fstab 中

[root@localhost~]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/home             /home                   ext3    defaults        1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda5         swap                    swap    defaults        0 0
/dev/sda6               /mnt/sda6               ext3    defaults   1 2

磁盤卸載

語法:umount[-fn] 設(shè)備文件名或者掛載點(diǎn)
選項(xiàng)和參數(shù):
-f:強(qiáng)制卸載
-n:不更新/etc/mtab 文件

舉例:

[root@localhost ~]# df
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
/dev/sda2              9920624   4329164  5079392  47% /
/dev/sda3              4956316    141272  4559212   4% /home
/dev/sda1               101086     11726    84141  13% /boot
tmpfs                  1037452         0  1037452   0% /dev/shm
/dev/sda6              1976312     42072  1833836   3% /mnt/sda6
.host:/               80148252  59231444 20916808  74% /mnt/hgfs
/dev/sda7               194450      9016   175396   5% /mnt/sda7
/dev/hdc               1651852   1651852         0 100% /media/cdrom
/dev/sdb1              3977678   1385740  2591938  35% /media/PENDRIVE
/dev/sdb1              3977678   1385740  2591938  35% /media/flash
[root@localhost ~]# umount /media/flash
[root@localhost ~]# umount /media/cdrom
[root@localhost ~]# umount /dev/sda7
[root@localhost ~]# df
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
/dev/sda2              9920624   4329164  5079392  47% /
/dev/sda3              4956316    141272  4559212   4% /home
/dev/sda1               101086     11726    84141  13% /boot
tmpfs                  1037452         0  1037452   0% /dev/shm
/dev/sda6              1976312     42072  1833836   3% /mnt/sda6
.host:/               80148252  59231444 20916808  74% /mnt/hgfs
/dev/sdb1              3977678   1385740  2591938  35% /media/PENDRIVE

磁盤參數(shù)修改

文件系統(tǒng)卷標(biāo) (Label) 修改

磁盤的掛載可以通過文件系統(tǒng)的卷標(biāo)(Label)來進(jìn)行,但是要保證這個(gè)值的唯一性 我們可以通過 mke2fs 進(jìn)行磁盤格式化來指定這個(gè)值,也可以通過 elabel 或 tune2fs 來修改這個(gè)值 e2label
語法:e2label 設(shè)備名稱 新的 Label 名稱

舉例:修改 sda7Label 名稱

[root@localhost ~]# e2label /dev/sda7"tkflabel"
[root@localhost ~]# df /dev/sda7
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
-                      1037452       156  1037296   1% /dev
[root@localhost ~]# dumpe2fs  /dev/sda7
dumpe2fs 1.39 (29-May-2006)
Filesystemvolume name:   tkflabel

舉例2:使用新 Label 進(jìn)行掛載

[root@localhost ~]# mount -L"tkflabel" /mnt/sda7
[root@localhost ~]# df
文件系統(tǒng)               1K-塊        已用     可用 已用% 掛載點(diǎn)
/dev/sda2              9920624   4329164  5079392  47% /
/dev/sda3              4956316    141272  4559212   4% /home
/dev/sda1               101086     11726    84141  13% /boot
tmpfs                  1037452         0  1037452   0% /dev/shm
/dev/sda6              1976312     42072  1833836   3% /mnt/sda6
.host:/              80148252  59231444 20916808  74% /mnt/hgfs
/dev/sdb1              3977678   1385740  2591938  35% /media/PENDRIVE
/dev/sda7               194450      9016   175396   5% /mnt/sda7

tune2fs
語法:tune2fs[-jlL] 設(shè)備名稱
選項(xiàng)與語法:
-l:類似 dump2fs –h 將 superblock 信息讀取出來
-j:將 EXT2文件系統(tǒng)轉(zhuǎn)換為 ext3
-L:類似 e2labe 功能

舉例:

[root@localhost ~]# tune2fs -L"newlabel" /dev/sda7
tune2fs 1.39 (29-May-2006)
[root@localhost ~]# tune2fs -l /dev/sda7
tune2fs 1.39 (29-May-2006)
Filesystemvolume name:   newlabel

開機(jī)掛載

前面說到過開機(jī)掛載主要是從/etc/fstab 文件中讀取掛載信息進(jìn)行掛載,話句話說主要進(jìn)行更改這個(gè)文件,添加新的掛載信息就可以進(jìn)行自動(dòng)開機(jī)加載

[root@www ~]# cat /etc/fstab
# Device        Mount point   filesystem parameters    dump fsck
LABEL=/1          /           ext3       defaults        1 1
LABEL=/home       /home       ext3       defaults        1 2
LABEL=/boot       /boot       ext3       defaults        1 2
tmpfs             /dev/shm    tmpfs     defaults        0 0
devpts            /dev/pts    devpts    gid=5,mode=620  0 0
sysfs             /sys        sysfs      defaults        0 0
proc              /proc       proc       defaults        0 0
LABEL=SWAP-hdc5   swap       swap       defaults        0 0

Device:設(shè)備卷標(biāo)(Label)
Mountpoint :掛載點(diǎn)
Filesystem:文件系統(tǒng)類型
Parameters:文件系統(tǒng)參數(shù)(-o 后面的參數(shù))
Dump:是否被 dump 備份
Fsck:是否以 FSCK 檢驗(yàn)扇區(qū)
啟動(dòng)的過程中,系統(tǒng)默認(rèn)會(huì)以 fsck 檢驗(yàn)我們的 filesystem 是否完整 (clean)。 不過,某些 filesystem 是不需要檢驗(yàn)的,例如內(nèi)存置換空間 (swap) ,或者是特殊文件系統(tǒng)例如 /proc 與 /sys 等等。所以,在這個(gè)字段中,我們可以配置是否要以 fsck 檢驗(yàn)該 filesystem。 0 是不要檢驗(yàn), 1 表示最早檢驗(yàn)(一般只有根目錄會(huì)配置為 1), 2 也是要檢驗(yàn),不過 1 會(huì)比較早被檢驗(yàn)啦! 一般來說,根目錄配置為 1 ,其他的要檢驗(yàn)的 filesystem 都配置為 2 就好了。

特殊設(shè)備 loop 掛載

假如我們分區(qū)不夠合理,沒有足夠的空間在創(chuàng)建一個(gè)分區(qū),那么我們可以在已有分區(qū)上創(chuàng)建一個(gè)大文件,并將這個(gè)大文件作為單獨(dú)的文件系統(tǒng)進(jìn)行掛載。這就用到了特殊文件掛載

作法:
1.創(chuàng)建大文件
2.格式化
3.掛載

舉例1:創(chuàng)建大文件

[root@bogon ~]# df -h
文件系統(tǒng)              容量  已用 可用 已用% 掛載點(diǎn)
/dev/sda2             9.5G  4.1G  5.0G  45% /
/dev/sda3             4.8G  138M  4.4G   4% /home
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                1014M     0 1014M   0% /dev/shm
.host:/                49G  6.5G   43G  14% /mnt/hgfs
[root@bogon ~]# dd if=/dev/zero of=/home/newdev bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 6.97647 seconds, 77.0 MB/s
[root@bogon ~]# df -h
文件系統(tǒng)              容量  已用 可用 已用% 掛載點(diǎn)
/dev/sda2             9.5G  4.1G  5.0G  45% /
/dev/sda3             4.8G  651M  3.9G  15% /home
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                1014M     0 1014M   0% /dev/shm
.host:/                49G  6.5G   43G  14% /mnt/hgfs
[root@bogon ~]# ll /home/newdev 
-rw-r--r-- 1 root root 536870912 02-27 20:14 /home/newdev

以上發(fā)現(xiàn) home 文件系統(tǒng)使用量增大了512 M

舉例2:格式化

[root@bogon ~]# mkfs -t ext3 /home/newdev 
mke2fs 1.39 (29-May-2006)
/home/newdev is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
……

舉例3:掛載

[root@bogon ~]# mount -o loop /home/newdev /media/cdrom
[root@bogon ~]# df -h
文件系統(tǒng)              容量  已用 可用 已用% 掛載點(diǎn)
/dev/sda2             9.5G  4.1G  5.0G  45% /
/dev/sda3             4.8G  651M  3.9G  15% /home
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                1014M     0 1014M   0% /dev/shm
.host:/                49G  6.6G   43G  14% /mnt/hgfs
/home/newdev          496M   19M  452M   4% /media/cdrom