Think of it this way: blocks are “containers for data”. Or, let’s pretend they are dominos, and the “data” are the dots painted on each one.
line up 20 dominos. See the little dots on the tops of them?
a file-level copy will read those dots, and go to the destination, and write the same dots. Think copy/paste.
A block level copy pays no attention whatsoever to the dots. It takes the individual dominoes and creates them anew on the destination. The dots happen to come along for the ride.
The upshot of this is that if you use a file-level copier to create a clone to a blank drive, the result will be a very neat, nice continuous placement of all the files on the destination. If you use a block-level copy, the files will be in the same physical place on the destination as they were on the source.
If your source drive files look like this:
*** ——– ************** 8 &&&&& ^^^^^^^^^^^ $$ 3
then when you use file-level copying, the destination drive will look like this:
***——–**************8&&&&&^^^^^^^^^^^$$3
but the block-level will look like this:
*** ——– ************** 8 &&&&& ^^^^^^^^^^^ $$ 3
Block-level copies also take longer, because they are coping ALL the blocks, regardless of whether or not there’s any data stored in them.