Dans quel ordre les fichiers et les répertoires sont-ils copiés lors de l'utilisation de Linux cp -R?

11

Si j'exécute la commande suivante:

cp -R /myfiles /mydestination

Si myfiles contient plusieurs sous-répertoires et fichiers, dans quel ordre seront-ils copiés?

Par exemple, les répertoires peuvent être nommés 0123a, 9993c, myfolder, xfolder.

Ils ne sont pas copiés dans l'ordre alphabétique OU dans l'ordre des dates OU dans l'ordre dans lequel ils apparaissent lors de l'utilisation d'une norme ls commande aussi loin que je peux dire, alors qu'est-ce qui détermine réellement l'ordre?

Modifier:   J'essaie de déterminer l'ordre utilisé par la commande cp afin de déterminer la distance parcourue par ma commande de copie avant son arrêt. Par exemple, j'espérais pouvoir déterminer si 3 des 4 répertoires avaient été copiés avec succès.

Scott Szretter
la source
Rappelez-vous que le ls commande par défaut trie le contenu du répertoire avant de les afficher. Ce que vous voyez imprimé par ls n'est pas l'ordre d'énumération du répertoire réel.
JdeBP
1
Utilisation ls -U pour obtenir la commande de répertoire non triée. Cela devrait être l'ordre qui cp les usages. Si vous avez besoin de plus de contrôle sur les progrès, l'ordre, etc., peut-être cp n'est pas l'outil pour le travail.
Daniel Andersson

Réponses:

2

L'ordre dans lequel ils sont stockés / retournés dans le système de fichiers. Pour les systèmes de fichiers "non triés", il s'agira généralement de leur ordre de création. Pour les systèmes de fichiers "triés" (par exemple ext3 / 4 avec dir_index ) ce serait l'ordre utilisé dans l'index du système de fichiers.

Ignacio Vazquez-Abrams
la source
Pour les formats de système de fichiers non indexés, c'est un peu plus complexe que de supprimer des entrées de répertoire et de les créer. (-:
JdeBP
10

Nous avons eu EXACTEMENT le même problème. Nous copions de grandes quantités de données vers et depuis des clés USB et il est agaçant de ne pouvoir dire à quel point le processus s’est terminé. Nous avons plutôt commencé à utiliser RSYNC.

À la place d'utiliser cp -Rv /source /destination

Utilisez ceci à la place rsync -av /source /destination

Désormais, tous vos dossiers et leur contenu seront traités par ordre alphabétique et vous pourrez facilement voir comment progresse la copie du fichier.

Nous avons une description complète de cette solution à notre site de sauvegarde en ligne .

Remarque: les modérateurs ont déjà posté cette annonce mais elle a été supprimée, peut-être parce que je n’ai pas fourni suffisamment de détails dans la réponse ou à cause du lien. Peut-être accepterez-vous cette réponse plus détaillée.

Michael Klimczak
la source