Linux運維基礎之dd命令詳解

Linux運維基礎之dd命令詳解

Linux 命令 dd  用於檔案轉換和複製。 dd 這個名字代表 “Data Duplicator(資料複製器)”,反映了它的主要功能–複製和轉換原始資料。

它能處理其他類似命令無法有效執行的任務,如建立可啟動 USB 驅動器、在硬碟之間複製資料,甚至從損壞的硬碟中挽救資料,因此而聞名。

不過,使用 dd 時一定要謹慎。因為它的操作級別較低,一不小心就會覆蓋重要資料。

下面是一些使用 dd 命令的方法:

1. 複製檔案

複製檔案的基本語法是 dd if=inputfile of=outputfile

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=input.txt of=output.txt
dd if=input.txt of=output.txt
dd if=input.txt of=output.txt

2. 從 CD/DVD 建立 ISO 映像

您可以使用 dd 從 CD 或 DVD 建立 ISO 映像。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/path/to/linux.iso of=/dev/sdb bs=4M
dd if=/path/to/linux.iso of=/dev/sdb bs=4M
dd if=/path/to/linux.iso of=/dev/sdb bs=4M

3. 建立可啟動 U 盤

如果你有 Linux 發行版的 ISO 映像,可以將其寫入 USB 驅動器,建立可啟動 U 盤。

用 USB 驅動器的路徑替換 /dev/sdb

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/path/to/linux.iso of=/dev/sdb bs=4M
dd if=/path/to/linux.iso of=/dev/sdb bs=4M
dd if=/path/to/linux.iso of=/dev/sdb bs=4M

4. 備份整個硬碟

您可以使用 dd 建立整個硬碟的備份。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/dev/sda of=/path/to/backup.img
dd if=/dev/sda of=/path/to/backup.img
dd if=/dev/sda of=/path/to/backup.img

5. 從備份映像還原硬碟

您可以從使用 dd 建立的備份映像中還原硬碟。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/path/to/backup.img of=/dev/sda
dd if=/path/to/backup.img of=/dev/sda
dd if=/path/to/backup.img of=/dev/sda

6. 複製分割槽

您可以使用 dd 將一個分割槽複製到另一個分割槽。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/dev/sda1 of=/dev/sdb1
dd if=/dev/sda1 of=/dev/sdb1
dd if=/dev/sda1 of=/dev/sdb1

7. 建立一定大小的檔案

您可以使用 dd 建立一定大小的檔案,並將其填充為零位元組。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/dev/zero of=file.txt bs=1M count=100
dd if=/dev/zero of=file.txt bs=1M count=100
dd if=/dev/zero of=file.txt bs=1M count=100

該命令將建立一個大小為 100MB 的檔案,檔名為 file.txt

8. 安全擦除磁碟

您可以使用 dd 以隨機位元組覆蓋磁碟,從而安全地擦除磁碟。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/dev/urandom of=/dev/sda bs=4M
dd if=/dev/urandom of=/dev/sda bs=4M
dd if=/dev/urandom of=/dev/sda bs=4M

dd vs. cp 

Linux 中的 ddcp 命令都用於複製資料,但它們的目的不同,功能也不同。

 cp 命令是複製的簡稱,用於複製檔案和目錄。它通常用於常規任務,如建立檔案副本或將檔案從一個目錄複製到另一個目錄。它在檔案級別進行操作,以複製檔案內容的方式讀寫資料。

另一方面,dd 命令的操作層次較低,可以直接從裝置或檔案讀寫原始資料。該命令通常用於建立和寫入磁碟映象、備份和恢復整個分割槽,甚至建立可啟動 USB 驅動器等任務。

cp 不同,dd 可用於在不同檔案系統的裝置間複製資料,並可複製目錄或裝置檔案等非規則檔案。

因此,總的來說,cp 是一種更通用的複製檔案和目錄的命令,而 dd 則是一種更專業的工具,用於涉及原始資料的底層操作。

更多 Linux 命令

下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:

目錄操作 rmdir · cd · pwd · exa · ls
檔案操作 cat · cp · dd · less · touch · ln · rename · more · head
檔案系統操作 chown · mkfs · locate
網路 ping · curl · wget · iptables · mtr
搜尋和文字處理 find · grep · sed · whatis · ripgrep · fd · tldr
系統資訊和管理 env · history · top · who · htop · glances · lsof
使用者和會話管理 screen · su · sudo · open

此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。

評論留言