在Linux下面,光驅,軟驅都是設備,在Linux對應於一個位於/dev/下面的設備文件。如果你細心的話,你會在/dev/下面發現裏面有一系列的設備loop0,loop2……。這些設備是什麼設備?有什麼作用的呢?這些設備統稱爲迴環設備(Loop device)。
迴環設備可以與當前文件系統的一個文件相關聯,並把迴環設備虛擬成一個塊設備(硬盤,光盤,軟盤等)。如果關聯文件包含有特定文件系統(iso的文件系統是iso9660,虛擬軟盤img也有特定的文件系統),則該設備可以用mount命令掛載到某個目錄下。這樣我們就可以像普通文件系統一樣訪問這個文件系統了。
通過上面的迴環設備的定義,我們可以知道迴環設備相當於Windows下面的虛擬光驅,虛擬軟驅。Windows下面我們可能只有一個虛擬光驅,但是在Linux下面我們可以同時加載多個虛擬光驅,因爲Linux中有多個迴環設備。這點兒Linux做的比Windows要出色。
那麼我們怎麼使用迴環設備呢?下面我一個光盤鏡像a.iso爲例來說明怎麼使用。
1、迴環設備關聯文件。
losetup /dev/loop0 a.iso
losetup命令用來實現迴環設備和文件的關聯。這個命令還可以實現文件系統的加密,有興趣的朋友可以查看手冊。
2、掛載迴環設備到特定目錄,我們假設要掛載到/mnt/下面。
mount /dev/loop0 /mnt/
這樣/mnt/下面就是a.iso的內容了。可以通過shell去訪問它了。
3、用完之後,需要卸載會換設備。
umount /mnt/
這樣設備就卸載,/mnt/下面就不是a.iso的文件了。
4、迴環設備和關聯文件分離。雖然已經在系統中卸載了迴環設備,但是這個設備和文件的關聯還存在。假如你還要用這個設備關聯其他的文件,系統會提示這個設備正在忙。所以需要讓迴環設備和關聯文件分離。
losetup -d /dev/loop0
這樣一個光盤鏡像的使用就完成了。當然同理也可以通過迴環設備掛載其他的虛擬文件,比如虛擬軟盤img等,如果你發現有項功能Windows能實現而Linux不能,那肯定是你的沒有找到方法。我們要相信Linux可以做任何事情,前提是我們要多加學習。
原文鏈接