Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I execute the following command:

cp -R /myfiles /mydestination

If myfiles contains several sub-directories and files, in what order will they be copied?

For example, directories might be named 0123a, 9993c, myfolder, xfolder.

They are not copied in alphabetical order OR in date order OR in the order they appear when using a standard ls command as far as I can tell, so what actually does determine the order?

Edit: I am trying to determine the order that the cp command uses in order to determine how far along my copy command made it before it stopped. For example, I was hoping to be able to determine it copied 3 of the 4 directories successfully.

share|improve this question
Remember that the ls command by default sorts the directory contents before displaying them. What you see printed by ls is not the actual directory enumeration order. – JdeBP Jun 26 '11 at 14:09
Use ls -U to get the unsorted directory order. This should be the order that cp uses. If you need more control over progress, order, etc., perhaps cp is not the tool for the job. – Daniel Andersson May 11 '12 at 8:16
up vote 1 down vote accepted

The order that they're stored/returned in the filesystem. For "unsorted" filesystems this would generally be their creation order. For "sorted" filesystems (e.g. ext3/4 with dir_index) this would be the order used in the filesystem index.

share|improve this answer
For unindexed filesystem formats it's a little more complex than that, if one has been deleting directory entries as well as creating them. (-: – JdeBP Jun 26 '11 at 14:05

We had EXACTLY the same problem. We copy large amounts of data to and from USB drives and it is annoying to be unable to tell how far through the process it has completed. We instead started using RSYNC.

Instead of using cp -Rv /source /destination

Use this instead rsync -av /source /destination

Now all of your folders and the contents of them will be processed in alphabetical order and you can easily see how the file copy is progressing.

We have a full description of this solution at our online backup website.

Moderators please note: I posted this once before but it got deleted, perhaps because I did not include enough detail in the answer, or because of the link. Maybe you'll accept this more detailed answer.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.