mount 本身是用來掛載目錄與硬碟,比方說 /root 這是一個掛載名稱,它掛載到一個硬碟的磁區(dev/sda1),我們就可以在 /root 裡作讀寫

而 mount 有一個 –bind 功能 ,它是什麼 …

它的指令是 (只能掛載目錄)

mount –bind /old_dir /new_dir

man的說明真是有看沒有懂

Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else.

後來實作了,發現它其實就是 hard link 嘛 (從 ls -li 上看到它的inode是一樣的)

而作 hard link 還可以用

cp -al /old_dir /new_dir

ln /old_dir /new_dir

不過 mount –bind 與 cp -al 的不同是

cp -al 只有目錄是不同 inode ,而檔案才是同一個 inode

而 mount –bind 真的是全部 (檔案 或 目錄) 都是同一個 inode

而且更要注意的是 如果我刪除了 mount –bind 作的 /new_dir 目錄,old_dir目錄裡面的檔案就也會被刪了

(new_dir 需要 umount 後才刪得掉,不然它會說 rm: cannot remove directory ‘new_dir’: 裝置或系統資源忙碌中)

cp -al 的 new_dir 刪了,則 old_dir 是還在的,不會被刪

 

 

Related posts 相關文章

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。