10.6 Linux mount命令詳解:掛載Linux系統(tǒng)外的文件
《linux掛載》一節(jié)講到,所有的硬件設(shè)備必須掛載之后才能使用,只不過,有些硬件設(shè)備(比如硬盤分區(qū))在每次系統(tǒng)啟動(dòng)時(shí)會(huì)自動(dòng)掛載,而有些(比如 U 盤、光盤)則需要手動(dòng)進(jìn)行掛載。
通過學(xué)習(xí) Linux 文件系統(tǒng),我們可以對(duì)掛載的含義進(jìn)行引申,掛載指的是將硬件設(shè)備的文件系統(tǒng)和 Linux 系統(tǒng)中的文件系統(tǒng),通過指定目錄(作為掛載點(diǎn))進(jìn)行關(guān)聯(lián)。而要將文件系統(tǒng)掛載到 Linux 系統(tǒng)上,就需要使用 mount 掛載命令。
mount 命令的常用格式有以下幾種:
[root@localhost ~]# mount [-l]
單純使用 mount 命令,會(huì)顯示出系統(tǒng)中已掛載的設(shè)備信息,使用 -l 選項(xiàng),會(huì)額外顯示出卷標(biāo)名稱(讀者可自行運(yùn)行,查看輸出結(jié)果);
[root@localhost ~]# mount -a
-a 選項(xiàng)的含義是自動(dòng)檢查 /etc/fstab 文件中有無疏漏被掛載的設(shè)備文件,如果有,則進(jìn)行自動(dòng)掛載操作。這里簡(jiǎn)單介紹一下 /etc/fstab 文件,此文件是自動(dòng)掛載文件,系統(tǒng)開機(jī)時(shí)會(huì)主動(dòng)讀取 /etc/fstab 這個(gè)文件中的內(nèi)容,根據(jù)該文件的配置,系統(tǒng)會(huì)自動(dòng)掛載指定設(shè)備。有關(guān)自動(dòng)掛載(修改此文件)的具體介紹,會(huì)在后續(xù)文章中講解。
[root@localhost ~]# mount [-t 系統(tǒng)類型] [-L 卷標(biāo)名] [-o 特殊選項(xiàng)] [-n] 設(shè)備文件名 掛載點(diǎn)
各選項(xiàng)的含義分別是:
-t 系統(tǒng)類型:指定欲掛載的文件系統(tǒng)類型。Linux 常見的支持類型有 EXT2、EXT3、EXT4、iso9660(光盤格式)、vfat、reiserfs 等。如果不指定具體類型,掛載時(shí) Linux 會(huì)自動(dòng)檢測(cè)。
-L 卷標(biāo)名:除了使用設(shè)備文件名(例如 /dev/hdc6)之外,還可以利用文件系統(tǒng)的卷標(biāo)名稱進(jìn)行掛載。
-n:在默認(rèn)情況下,系統(tǒng)會(huì)將實(shí)際掛載的情況實(shí)時(shí)寫入 /etc/mtab 文件中,但在某些場(chǎng)景下(例如單人維護(hù)模式),為了避免出現(xiàn)問題,會(huì)刻意不寫入,此時(shí)就需要使用這個(gè)選項(xiàng);
-o 特殊選項(xiàng):可以指定掛載的額外選項(xiàng),比如讀寫權(quán)限、同步/異步等,如果不指定,則使用默認(rèn)值(defaults)。具體的特殊選項(xiàng)參見表 1;
【例 1】
[root@localhost ~]# mount \#查看系統(tǒng)中已經(jīng)掛載的文件系統(tǒng),注意有虛擬文件系統(tǒng) /dev/sda3 on / type ext4 (rw) <--含義是,將 /dev/sda3 分區(qū)掛載到了 / 目錄上,文件系統(tǒng)是 ext4,具有讀寫權(quán)限 proc on /proc type proc (rw) sysfe on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw, gid=5, mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fe/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfe/rpc_pipefs type rpc_pipefs (rw)
【例 2】
修改特殊權(quán)限。通過例 1 我們查看到,/boot 分區(qū)已經(jīng)被掛載了,而且采用的是 defaults 選項(xiàng)。這里我們重新掛載分區(qū),并采用 noexec 權(quán)限禁止執(zhí)行文件執(zhí)行,看看會(huì)出現(xiàn)什么情況(注意不要用 / 分區(qū)做實(shí)驗(yàn),否則系統(tǒng)命令也就不能執(zhí)行了。
[root@localhost ~]# mount -o remount noexec /boot \#重新掛載 /boot 分區(qū),并使用 noexec 權(quán)限 [root@localhost sh]# cd /boot \#寫一個(gè) shell 腳本,看是否會(huì)運(yùn)行 [root@localhost boot]#vi hello.sh \#!/bin/bash echo "hello!!" [root@localhost boot]# chmod 755 hello.sh [root@localhost boot]# ./hello.sh -bash:./hello.sh:權(quán)限不夠 \#雖然賦予了hello.sh執(zhí)行權(quán)限,但是仍然無法執(zhí)行 [root@localhost boot]# mount -o remount exec /boot \#記得改回來,否則會(huì)影響系統(tǒng)啟動(dòng)
對(duì)于特殊選項(xiàng)的修改,除非特殊場(chǎng)景下需要,否則不建議大家隨意修改,非常容易造成系統(tǒng)出現(xiàn)問題,而且還找不到問題的根源。
【例 3】掛載分區(qū)。
[root@localhost ~]# mkdir /mnt/disk1 \#建立掛載點(diǎn)目錄 [root@localhost ~]# mount /dev/sdb1 /mnt/disk1 \#掛載分區(qū)
/dev/sdb1 分區(qū)還沒有被劃分。我們?cè)谶@里只看看掛載分區(qū)的方式,非常簡(jiǎn)單,甚至不需要使用 “-ext4” 命令指定文件系統(tǒng),因?yàn)橄到y(tǒng)可以自動(dòng)檢測(cè)。
可能讀者會(huì)想,為什么使用 Linux 系統(tǒng)的硬盤分區(qū)這么麻煩,而不能像 Windows 系統(tǒng)那樣,硬盤安裝上就可以使用?
其實(shí),硬盤分區(qū)(設(shè)備)掛載和卸載(使用 umount 命令)的概念源自 UNIX,UNIX 系統(tǒng)一般是作為服務(wù)器使用的,系統(tǒng)安全非常重要,特別是在網(wǎng)絡(luò)上,最簡(jiǎn)單有效的方法就是“不使用的硬盤分區(qū)(設(shè)備)不掛載”,因?yàn)闆]有掛載的硬盤分區(qū)是無法訪問的,這樣系統(tǒng)也就更安全了。
另外,這樣也可以減少掛載的硬盤分區(qū)數(shù)量,相應(yīng)地,也就可以減少系統(tǒng)維護(hù)文件的規(guī)模,當(dāng)然也就減少了系統(tǒng)的開銷,即提高了系統(tǒ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)容。