2015-12-27 09:58:53 +00:00
|
|
|
# dd
|
|
|
|
|
2016-01-07 17:31:27 +00:00
|
|
|
> Convert and copy a file.
|
2023-01-01 04:34:56 +00:00
|
|
|
> More information: <https://keith.github.io/xcode-man-pages/dd.1.html>.
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2023-01-01 04:34:56 +00:00
|
|
|
- Make a bootable USB drive from an isohybrid file (such like `archlinux-xxx.iso`) and show the progress:
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
`dd if={{path/to/file.iso}} of={{/dev/usb_drive}} status=progress`
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2023-01-01 04:34:56 +00:00
|
|
|
- Clone a drive to another drive with 4 MB block, ignore error and show the progress:
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
`dd bs=4m conv=noerror if={{/dev/source_drive}} of={{/dev/dest_drive}} status=progress`
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
- Generate a file with a specific number of random bytes by using kernel random driver:
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
`dd bs={{100}} count={{1}} if=/dev/urandom of={{path/to/random_file}}`
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2016-01-07 17:31:27 +00:00
|
|
|
- Benchmark the write performance of a disk:
|
2015-12-27 09:58:53 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
`dd bs={{1024}} count={{1000000}} if=/dev/zero of={{path/to/1GB_file}}`
|
2023-01-01 04:34:56 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
- Create a system backup, save it into an IMG file (can be restored later by swapping `if` and `of`), and show the progress:
|
2023-01-01 04:34:56 +00:00
|
|
|
|
2024-06-10 18:27:34 +01:00
|
|
|
`dd if={{/dev/drive_device}} of={{path/to/file.img}} status=progress`
|
2023-01-01 04:34:56 +00:00
|
|
|
|
2024-06-09 15:48:08 +01:00
|
|
|
- Check the progress of an ongoing `dd` operation (run this command from another shell):
|
2023-01-01 04:34:56 +00:00
|
|
|
|
|
|
|
`kill -USR1 $(pgrep ^dd)`
|