我有一個我不想安裝的閃存驅動器。相反,我只想用它在我的計算機之間傳輸文件。
有沒有辦法可以透過裝置目錄從終端存取我的隨身碟?或者是從終端存取閃存驅動器的唯一方法是先安裝它,然後訪問安裝點?
答案1
如果不先安裝驅動器,您將無法存取任何形式的儲存媒體。但是,您可以從終端完成整個過程。
首先,您需要分區 ID ( /dev/sdXY
)。您可以使用該lsblk
命令來查找它。一旦你有了這個 ID,你就可以運行sudo mount /dev/sdXY /mnt
.您的隨身碟的檔案系統現在將在終端上可用/mnt
並可從終端使用。
中的設備/dev
稱為區塊設備,是這些設備中包含的檔案系統的原始表示(如果適用)。雖然您可以直接從這些裝置讀取和寫入,但這通常是一個壞主意,因為您忽略了龐大的檔案系統抽象化和保護層。
對於大多數用例,您唯一一次讀取/寫入原始區塊設備是為了克隆或非常低階設備操作。檔案系統提供了一個巨大的抽象層、錯誤檢查和檔案安全性。
筆記:此文本區塊下方的部分僅用於教育目的。請不要在您關心的任何系統/驅動器上嘗試此操作,因為結果很容易是災難性的。如果您遵循我下面所說的任何內容,我對您的行為不承擔任何責任。
你被警告了。
有了這個警告,如果您不關心閃存驅動器的內容,理論上可以使用原始區塊操作從閃存驅動器讀取和寫入資料。
最簡單的是,您可以使用以下命令將檔案(比方說files.zip
)寫入快閃磁碟機:
dd if=files.zip of=/dev/sdd bs=1024
這會將 zip 檔案複製到快閃磁碟機的原始區塊,但也會(可能)損壞磁碟機上目前的任何分割區或相關資料。它還會記錄有多少“塊”被寫入驅動器——記下這一點。對於這個例子,我會說複製了 1234 個區塊。
當您想要將隨身碟中的檔案讀取到另一台電腦上時,可以使用反向命令來執行此操作:
dd if=/dev/sdd of=files.zip count=1234 bs=1024
這將從磁碟機(包含 ZIP 檔案)中提取前 1234 個區塊的原始區塊數據,並將其寫入files.zip
電腦的當前目錄中。另請注意,由於檔案末尾的損壞/垃圾資料或類似情況,該 ZIP 檔案實際上可能無法讀取。如有必要,請務必注意這一點。如果需要,您可以使用該head
命令來修剪 ZIP 檔案。
完成後,您可能需要格式化隨身碟並重新分割區等,這對於大型操作來說非常不可行。只需使用檔案系統即可。