Linux命令 losetup - 設(shè)定與控制循環(huán)(loop)設(shè)備

2021-11-22 17:25 更新

losetup

設(shè)定與控制循環(huán)(loop)設(shè)備

補(bǔ)充說明

losetup命令 用來設(shè)置循環(huán)設(shè)備。循環(huán)設(shè)備可把文件虛擬成塊設(shè)備,籍此來模擬整個文件系統(tǒng),讓用戶得以將其視為硬盤驅(qū)動器,光驅(qū)或軟驅(qū)等設(shè)備,并掛入當(dāng)作目錄來使用。

語法

losetup [ -e encryption ] [ -o offset ] loop_device file
losetup [ -d ] loop_device

選項(xiàng)

-a 顯示所有循環(huán)設(shè)備的狀態(tài)。
-d 卸除設(shè)備。
-e <加密選項(xiàng)> 啟動加密編碼 。
-f 尋找第一個未使用的循環(huán)設(shè)備。
-o <偏移量>設(shè)置數(shù)據(jù)偏移量,單位是字節(jié)。

參數(shù)

  • loop_device:循環(huán)設(shè)備可以是/dev/loop0, /dev/loop1 ... /dev/loop7。
  • file:要與循環(huán)設(shè)備相關(guān)聯(lián)的文件名,這個往往是一個磁盤鏡象文件,如 *.img

loop設(shè)備介紹

在類 UNIX 系統(tǒng)里,loop 設(shè)備是一種偽設(shè)備(pseudo-device),或者也可以說是仿真設(shè)備。它能使我們像塊設(shè)備一樣訪問一個文件。在使用之前,一個 loop 設(shè)備必須要和一個文件進(jìn)行連接。這種結(jié)合方式給用戶提供了一個替代塊特殊文件的接口。因此,如果這個文件包含有一個完整的文件系統(tǒng),那么這個文件就可以像一個磁盤設(shè)備一樣被 mount 起來。

上面說的文件格式,我們經(jīng)常見到的是 cd 或 DVD 的 ISO 光盤鏡像文件或者是軟盤(硬盤)的 *.img 鏡像文件。通過這種 loop mount (回環(huán)mount)的方式,這些鏡像文件就可以被 mount 到當(dāng)前文件系統(tǒng)的一個目錄下。

至此,順便可以再理解一下 loop 之含義:對于第一層文件系統(tǒng),它直接安裝在我們計算機(jī)的物理設(shè)備之上;而對于這種被 mount 起來的鏡像文件(它也包含有文件系統(tǒng)),它是建立在第一層文件系統(tǒng)之上,這樣看來,它就像是在第一層文件系統(tǒng)之上再繞了一圈的文件系統(tǒng),所以稱為 loop。

實(shí)例

創(chuàng)建空的磁盤鏡像文件,這里創(chuàng)建一個1.44M的軟盤:

dd if=/dev/zero of=floppy.img bs=512 count=2880

使用 losetup將磁盤鏡像文件虛擬成快設(shè)備:

losetup /dev/loop1 floppy.img

掛載塊設(shè)備:

mount /dev/loop0 /tmp

經(jīng)過上面的三步之后,我們就可以通過/tmp目錄,像訪問真實(shí)快設(shè)備一樣來訪問磁盤鏡像文件floppy.img。

卸載loop設(shè)備:

umount /tmp
losetup -d /dev/loop1


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號