mount 的 bind 選項將第一個目錄克隆到第二個。一個目錄中的改變將會在另一個中出現 — 畢竟,它是同一磁盤上的同一個塊。
使用 bind 與對同一設備進行兩次掛載的區別在於:您可以掛載子目錄而無需掛載整個文件系統。
綁定掛載(bind mount)允許從任何其他位置訪問任何文件或目錄。
范例七:將 /home 這個目錄暫時掛載到 /mnt/home 底下:
[root@www ~]# mkdir /mnt/home [root@www ~]# mount --bind /home /mnt/home [root@www ~]# ls -lid /home/ /mnt/home 2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /home/ 2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /mnt/home [root@www ~]# mount -l /home on /mnt/home type none (rw,bind)
由上面的實驗可知,其實兩者連結到同一個 inode 。透過這個 mount --bind 的功能, 您可以將某個目錄掛載到其他目錄去喔!而並不是整塊 filesystem 的啦!所以從此進入 /mnt/home 就是進入 /home 的意思喔!
將文件系統中的一部分綁定掛載:
mount --bind olddir newdir
這里,olddir是一個已經掛載的掛載點中的某個子目錄。這樣操作之后,對於這個olddir,可以從原掛載點olddir進行訪問,也可以從newdir進行訪問,如果卸載了原掛載點olddir,newdir仍舊可以訪問原olddir的內容。此時要umount的話,那么就umount newdir.
這個功能在2.4的內核中支持,也可在fstab中添加:
/olddir /newdir none bind
這樣一來,同樣的內容可以在兩個地方被訪問。
也可remount單個的文件。
據說這只能夠掛一種文件系統,即不能掛載submount.
--bind--將已掛載的文件系統掛載到目錄樹的另一個位置。假定/dev/sda1已掛載到/mnt/mymount,鍵入下面的命令:
# mount --bind -v /mnt/mymount/ /tmp/mydir/
/mnt/mymount on /tmp/mydir type none (rw,bind)
現在從兩個位置都能訪問同一文件系統。新掛載點和原掛載點的掛載選項相同。
將文件系統中的某個單個文件綁定掛載:
mount --bind oldfile newfile
這里,oldfile是一個已經掛載的掛載點中的某個文件。這樣操作之后,對於這個oldfile,可以從掛載點的oldfile進行訪問,也可以從newfile進行訪問,如果卸載了oldfile的掛載點,newfile仍舊可以訪問原來oldfile的內容,想要恢復newfile原來的內容,那么就umount newfile.
把整個的文件系統(包括submount)掛載到第二個地方:
mount --rbind olddir newdir
注意,文件系統上面的掛載項將會保持和原來掛載點上面的項一樣,並且不能通過和--bind/--rbind一起的-o選項來改變。
*內核2.5以后的版本支持把被掛在的樹掛載到另一個位置:
mount --move olddir newdir
