在Linux的資料結構底下,有一個與Windows很類似的「捷徑」功能!我們可以透過 mount 這個指令來設定我們要將某個資料夾掛載到另外一個資料夾底下,就相當於是一個捷徑的功能。更多的時後是當我們掛載了新的硬碟或是新的共享資料夾時,我們可以將原本很深入的路徑透過 mount 的方式將他掛載到一個我們更容易使用的路徑上。有一些服務會將某些功能限定在一定的路徑之下,這個時候我們也可以透過 mount 這個指令將存放於其他地方的目錄掛載到這些限定的區域之中,來達到想要的特定目的。
除了以上使用的情境之外,假設你今天增加了一顆新的硬碟,並且希望將網頁伺服器中的某個目錄放置到這個新硬碟上,可能是因為檔案都比較大或是原本空間不足了,在這個情況下就可以使用 mount 來將新硬碟上的某個資料夾指定到原本 /var/www 的目錄底下!對於 Linux 中其他程序的認知來說,經過掛載的資料夾(捷徑)也視為正常的資料夾能夠使用。所以當我們把資料夾也掛載到 /var/www底下後,Apache就也同樣會當作普通的情況來讀取這個資料夾。
Mount
指令使用格式
# mount 模式 來源(原始目錄) 目標(存捷徑的位置)
☆ 掛載的目標位置,如果當前沒有資料夾的話會掛載失敗,因此需要先在你要掛載的目標處建立一個新的空資料夾。
建立資料夾指令: # mkdir 路徑 # mkdir /var/www/New <- 範例
如果在掛載的時後遇到權限不足的問題,請加上 su 在指令的最前頭,來透過root權限操作指令。
將某個資料夾指定到另一個資料夾 (有點類似 Windows 捷徑的概念)
mount --bind /home/RicharLin/www /var/www/RicharLin mount -B /home/RicharLin/www /var/www/RicharLin
以上的範例兩個模式都是同樣指在其他地方安裝子目錄
原始的目錄是 /home/RicharLin/www
將其掛載指向至 /var/www/RicharLin
我們就可以想像成是 /home/RicharLin/www 這個目錄建立一個捷徑到 /var/www/RicharLin 這個地方!
移除卸載 umount
# umount 掛載的目標 # umount /var/www/RicharLin
只要使用 umount 就可以卸載被掛載的這些設定
掛載 光碟機
當 Linux 系統有自己抓取到光碟機時,理論上來說 /dev 裡面應該會有一個 cdrom 的檔案,但因為是一個檔案的形式所以我們並沒有辦法將他當作資料夾打開,來存取光碟內的資料。
因此我們這時候就必須要將這個光碟機進行掛載到一個資料夾上的動作,這樣我們就可以透過這個資料夾存取到光碟機的內容了!
例如:
# mkdir /mnt/cdrom # mount -t iso9660 /dev/cdrom /mnt/cdrom
第一行:這邊不一定要使用cdrom這個名稱,但是要掛載前必須確認目標資料夾必須要是存在的,所以如果沒有的話使用 mkdir 建立。
第二行:掛載 /dev/cdrom 到 /mnt/cdrom 。這邊前面使用的參數 -t 代表的是 types的意思(亦可使用 –types),而 iso9660 就是指定使用光碟機的檔案系統形式來進行讀取。
掛載 ISO檔案
除了光碟機之外,這邊也可以直接掛載常見的光碟影像檔;在以前使用Windows的時後要掛載光碟影像檔都還得額外安裝軟體才能達成,但在Linux中只需要直接使用mount這條指令就可以輕易的將iso檔掛載到資料夾上,讀取裡面的內容!
例如:
# mount -t iso9660 -o loop /home/RicharLin/Install_CD.iso /mnt/Install_CD
同樣掛載的目標資料夾必須要先存在,如果尚未存在的話一樣使用mkdir建立。
以唯讀狀態掛載
使用 mount 指令所掛載的設備與目錄預設都是具有讀寫權限的,但我們可以在指令中增加上 -r 或是 –read-only 參數來限制這一個掛載是指能夠讀取的,就會達到唯讀的狀態。
例如:
# mount -B -r /home/RicharLin/www /var/www/RicharLin
如此一來就只能夠在 /home/RicharLin/www 的地方進行檔案的寫入或刪除動作,而在 /var/www/RicharLin 則只能夠讀取。
這也是一種另類控制權線的辦法!
參考資料
Linux 檔案系統掛載(mount)使用教學與範例 blog.gtwang.org G. T. Wang
延伸閱讀
Linux (CentOS) 的更多常用指令
[Linux] 從主機共享資料夾給 VirtualBox 中的 Linux – CentOS