While copying, below question might have flashed in your mind as well.
What is the effect of copying a file say fileA.big (900mb) from location B to location C. If during that cp operation, say 35% through the process, fileA.big is appended with new information and grows from 900mb to 930mb. What is the result of the end copy (i.e. fileA.big at location C)?
What if the copy is about 70% through, and the original file is updated but this time truncated to 400mb (i.e. the progress of the copy is beyond the truncation point), what is the result of the end copy?
This article tries to clarify it.
The way you copy a file under UNIX/Linux works like this:
Try to read some (more) bytes from fileA.
If we failed to get bytes because we're at (or past) the end of the file, we're done; quit.
Otherwise, write the bytes to fileB and loop back to step 1.
Knowing that, and knowing it's as simple as that, lets us see some corner cases.
Data appended at end
As soon as we find the end of the file, the copy is done. So let's say our file is growing during the copy, but is growing more slowly than we're copying it. The copy program will keep going past the original file size, because by the time it gets there, there is more to the file. But at some point, it catches up with the end of the file, and it knows it's at the end because it can't read any more bytesright now. So it quits right there, even if the file is about to grow further.
Data truncated
If the file is truncated, the copy program says "Whoa, I'm past the end of the file!" and quits.
Data modified randomly
And if pieces of the file are being updated at random by, say, a database program :-), then your copy is going to be some mix of old and new data, because the data is not all copied at the same time. The result will probably be a corrupt copy, which is why it's not generally a good idea to make copies of live databases.
http://unix.stackexchange.com/questions/6924/what-happens-if-a-file-is-modified-while-youre-copying-it