1.) Become root:
su
2.) Plug in your SD card, HDD, or other block device and then use the following command to see which /dev/diskN node it’s located on:
diskutil list
3.) Unmount the disk where “N” is the number of the disk taken from the above command:
diskutil unmountDisk /dev/diskN
If the above command was successful, you will see:
Unmount of all volumes on diskN was successful
4.) Use the ‘dd’ command to copy the image file (.dd or .img generally) to the entire disk:
dd if=myImage.dd of=/dev/diskN
Also, you can write the image to particular partitions of the disk with (N is the disk number and P is the partition number):
dd if=myPartitionImage.dd of=/dev/diskNsP
The process to do this under Linux is very similar except that it’s not required to un-mount the drive before using the ‘dd’ command and the commands are a little different. For example, you would use “fdisk -l” instead of “diskutil list”, your device node would be located at “/dev/sda” instead of “/dev/disk” and the un-mount command is “umount” instead of “diskutil unmountDisk”.