493 votes

Comment afficher la progression du transfert et la vitesse lors de la copie de fichiers avec cp?

Sinon, y a-t-il une autre utilitaire en ligne de commande qui puisse réaliser cela?

1 votes

2 votes

Au cas où vous auriez déjà lancé la commande cp et que vous ne voulez pas l'arrêter maintenant, vous pouvez watch la taille de la destination augmenter comme ceci: askubuntu.com/a/1275972/327339 (watch 'du -hs'), pour savoir qu'elle augmente vraiment et que la copie fonctionne.

1voto

ciekawy Points 111

Une autre option pour conserver les attributs pourrait être (si source est un dossier, il sera créé dans destination)

tar -c source | pv -e -t -p -r | tar -C destination -x

Je espère que cela pourra être utile à quelqu'un. Pour avoir une estimation du temps de transfert, cela peut être réalisé en exécutant du -s source à l'avance et en le passant en tant que paramètre -s à pv.

0 votes

-f - est redondant. La sortie par défaut de tar pour c et l'entrée pour x sont stdout et stdin.

0 votes

Cela peut dépendre de la version du système d'exploitation ou de tar ? Je sais que c'est un site Ubuntu mais cela pourrait être utile pour d'autres propriétaires de système d'exploitation comme macOS.

1 votes

Non. Toutes les implémentations saines (y compris le tar de libarchive, utilisé par macOS) ont ce comportement.

1voto

mvxxx Points 111

Vous pouvez surveiller votre progression en utilisant watch

cp -r /chemin/vers/votre/fichier/ou/répertoire ./dst

et dans le deuxième terminal, vous pouvez suivre votre progression

watch -n 0.1 du -h --max-depth=1

1voto

Leo Points 111

J'utilise xcp pour obtenir une barre de progression élégante :

xcp -r mondossier /chemin/vers/dossier/destination

Si vous avez déjà rust installé, installez-le avec cargo install xcp.

0voto

shamess Points 435

Vous pouvez copier utiliser n'importe quel programme. En même temps, vous pouvez démarrer sudo iotop et voir la vitesse réelle de lecture/écriture sur le disque sans progression.

0voto

Clock ZHONG Points 671

Comme la commande cp d'origine de linux n'a pas cette fonctionnalité, j'ai utilisé la solution suivante pour obtenir des informations sur la progression :

cp -a répertoire_source répertoire_destination

Pendant que la copie est en cours, ouvrez un autre terminal de commande et allez dans le répertoire_source comme suit :

cd répertoire_source
du -sm .

Après avoir obtenu la taille totale du répertoire_source, allez ensuite dans le répertoire_destination pour faire le même travail :

cd répertoire_destination
du -sm .

Je pouvais obtenir la progression de la copie en comparant la différence de taille totale entre le répertoire_destination et le répertoire_source, le seul travail supplémentaire que vous devez faire est d'ouvrir un autre terminal en plus du terminal cp, pour taper "du -sm ." pour obtenir la taille totale du répertoire que vous copiez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X