dd --help
will show all the options you have. The commands below use if for input file and of for output file.
Backup
A full hard disc copy can be created with any of these 3 commands:
dd if=/dev/hdx of=/dev/hdy
dd if=/dev/hdx of=/path/to/image
dd if=/dev/hdx | gzip > /path/to/image.gz
Where the x in hdx is the disc your want to copy and the y in hdy is the destination disc. The 1st one is basically copying the disc over to another disc. The last 2 make a file and the last one also zips the file.
Restore
dd if=/path/to/image of=/dev/hdx
gzip -dc /path/to/image.gz | dd of=/dev/hdx
Where the x in hdx is the disc your want to restore the copy to. The 1st one restores the file (backup option 2). The 2nd one restores the zip file (backup option 3).
dd does not make understand empty space and space filled with data but if you use the gzip version the file will be a lot smaller (it can be 10 times smaller).
Alternatives:

FSArchiver
is a system tool that allows you to save the contents of a file-system to a compressed archive file. The file-system can be restored on a partition which has a different size and it can be restored on a different file-system. Unlike tar/dar, FSArchiver also creates the file-system when it extracts the data to partitions. Everything is checksummed in the archive in order to protect the data. If the archive is corrupt, you just loose the current file, not the whole archive. As always ... ntfs support is considered experimental.