J'ai des problèmes pour copier des fichiers volumineux avec Nautilus (cela reste bloqué). J'ai besoin de copier, en utilisant cp
. J'aimerais savoir s'il existe des paramètres indiquant le pourcentage copié et la vitesse de transfert.
251
rsync
au lieu decp
. Il a une--progress
option.Midnight Commander
fonctionne également bien, et a une jolie interface utilisateur texte avec des barres de progression, mais peut ne pas être installé. Essayezmc
sur l'invite de commande. Aussi, évidemment, ce n'est pascp
.rsync
avec--progress
vient de me faire comprendre ce qui se passe. Il se coince quand il atteint les 100%, puis dure quelques minutes. Je pense que c'est la même chose qui se passe avec Nautilus. Quoi qu’il en soit, c’est déjà une autre question. La meilleure réponse à cette question est la suivantersync --progress
: elle indique la taille, le pourcentage, la vitesse et le temps écoulé.-W
option? sur tous mes hôtesrsync
est presque aussi rapide quecp
... si proche que j'utilise régulièrementrsync
au lieu decp
.Réponses:
rsync
a un drapeau appeléprogress2
qui montre le pourcentage global:la source
--info=progress2
enfin inclus surversion 3.1.0 protocol version 31
. Peut-être que vous pourriez modifier votre réponse, yzT.--info=progress2
que rsync est rapide! 200 Mo / s, alors que Windows ne va pas plus loin que 90 Mo / s!--progress
. rsync version 3.0.9Si vous autorisez d'autres outils que
cp
ce n'est sûrement possible. Pour un seul fichier, vous pouvez utiliserpv
. C'est un petit outil fournissant de bonnes statistiques.Si vous avez plusieurs fichiers ou répertoires, vous pouvez utiliser tar:
Vous pouvez l'envelopper dans une fonction shell. C'est moins de taper et vous obtenez une sémantique proche de celles de
cp
. Voici une fonction très simple (et non infaillible!):Notez que certaines versions de
tar
ne prennent pas en charge la syntaxe susmentionnée (par exemple, Solaristar
) et que vous devez utiliser la variante suivante:Vous l'appelez comme ça
Vous pouvez l'améliorer davantage, ce qui
pv
fournit une estimation du temps restant.Une autre solution (comme mentionné dans un commentaire de frostschutz) consiste à utiliser rsync avec l'
--progress
option:la source
pv
ne savez pas combien de données vont transiter par le tuyau. Vous pouvez spécifier ceci avec-s
. Par exemple , d' abord fairedu -sh sourceDirectory
pour obtenir une (rude) idée, et passer ensuite àpv
, comme ceci:pv -s 100m
.vbuf
(debian, ubuntu) est un peu plus rapide quepv
, probablement à cause de sa mémoire tampon virtuellevbuf
. Mais comme il semble que ce soit dans Debian, il est instable pour le moment et donc souvent non disponible sur les serveurs qui exécutent habituellement Debian stable.rsync
fonctionne le mieux pour montrer la progression pendant la progression de la copie.ex:
la source
Comme expliqué dans d'autres réponses, cp ne fournit pas cette fonctionnalité. Cependant, progress (anciennement appelé cv) est un petit outil très utile pour fournir cette fonctionnalité manquante.
Je l'utilise depuis quelques mois et c'est solide.
la source
Oui, il est possible d’afficher l’avancement de la commande
cp
sur le terminal.Méthode n ° 1: (utiliser
progress
)Ouvrez un nouveau terminal et tapez
progress
il affichera la progression de lacp
commande et d'autres commandes telles que:cp, mv, dd, tar, cat, rsync, grep, fgrep, egrep, cut, sort, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, adb, gzip, gunzip, bzip2, bunzip2, xz, unxz, lzma, unlzma, 7z, zcat, bzcat, lzcat, split, gpg
Si vous n'avez pas installé
progress
, vous pouvez l'installer à partir d'un référentiel, par exempleCentOS
avec la commande suivanteyum -y install progress
:.Ensuite, après avoir exécuté la
cp
commande en arrière-plan oucp
normalement, ouvrez un autre terminal, essayez donc cette commande:Voir la sortie:
Méthode n ° 2: (utilisez le correctif
cp
)Ou téléchargez le fichier GNU
coreutils
et corrigez-le.Courir:
Copiez les deux fichiers
cp
etmv
loacated souscoreutils-8.21/src/
à/usr/local/bin
:Ou copiez-le en utilisant votre gestionnaire de fichiers en tant que root
Ajoutez les lignes suivantes à votre
~/.bashrc
:Déconnexion et connexion
La barre de progression peut être affichée sans le
–g
ou–progress-bar
tel que recommandé par l'auteurVoir la sortie:
Source: linuxhelp
la source
cp
patch: web.archive.org/web/20131115171331/http://beatex.org/web/...progress
commandementRemarqué cette publication était un peu vieux. Mais au moment de résoudre le problème, je pensais publier ma solution.
Scénario: Nous souhaitons copier une très grande structure de répertoire. Nous émettons donc la commande cp -R sourcedir destdir dans une fenêtre de terminal.
Ouvrez une autre fenêtre de terminal ou placez le processus en arrière-plan
(Ctrl+Z,bg<CR>)
, puis définissons un indicateur de progression à la manière du ghetto:Nous obtenons d’abord la taille totale de la structure de répertoire que nous voulons copier, vous le faites avec:
du -sh /path/sourcedirectory/
Convertissez le résultat en gigaoctets (G), puis substituez le n au résultat obtenu dans la variable sourcesize. Une fois que vous avez inséré sourcesize et destdir (répertoire de destination), exécutez la commande ci-dessous.
Cela affichera la progression toutes les 10 secondes avec des messages tels que:
Je suis conscient que cette solution ne tient pas compte de la vitesse de copie, mais il serait possible de l'ajouter en développant les commandes ci-dessus, éventuellement en les transformant en script bash afin de faciliter leur lecture. Par exemple en vérifiant combien de données sont copiées pr. n unité de temps, la vitesse devrait être facile à calculer et à afficher.
la source
Pour améliorer la réponse de Marco, aujourd’hui, j’ai écrit cette version de
cpstat
, vous pouvez donc copier plusieurs répertoires et utiliser le dernier paramètre comme chemin de destination. Notez que si vous utilisez un chemin d'accès profond relatif comme source, vous pouveztar
, automatiquement, créer automatiquement la même arborescence de répertoires dépendante.la source
Pas dans une version standard de
cp
.Vous pouvez utiliser le cp en arrière-plan et lister la taille en attendant
cp
de terminer.J'utilise ce Perl pour surveiller la croissance d'un seul fichier mais il fonctionne en externe sur le cp (ou tout ce que je fais d'autre)
la source
J'ai trouvé cela à utiliser, a très bien fonctionné:
extrait d'un commentaire de Mike sur la question de savoir comment vérifier la progression de l'exécution de cp
la source
Même si
rsync
cela vous donnera des statistiques de progression, si vous voulez une barre de progression, vous devriez utiliserpv
.Vous pouvez utiliser
cpv
un wrapperpv
avec une syntaxe plus simple, plus similaire à celuicp
que vous pouvez utiliser pour copier de manière récursive des répertoiresVous pouvez l'obtenir ici
la source
pv
. Belle trouvaille!L'utilisation d'un outil tel que
mc
(commandant de minuit) peut être une bonne alternative à d'autres réponses.C'est un simple gestionnaire de fichiers qui vous montre les progrès de la copie / du déplacement.
la source
dd status=progress
Option ajoutée dans GNU Coreutils 8.24+ (Ubuntu 16.04):
Stdout est une ligne périodiquement mise à jour comme:
Voir aussi: Comment surveillez-vous la progression de jj? | Demandez à Ubuntu
la source
Une autre solution simple consiste à regarder le dossier de sortie comme suit:
Linux / Cygwin:
watch -n 10 --differences du -sk --apparent-size <WATCHED_FOLDER>
FreeBSD:
gnu-watch -n 10 --differences du -sk <WATCHED_FOLDER>
Cet utilitaire pratique sera exécuté
du
et soulignera les différences.Une autre solution potentielle serait d'écrire un script simple en boucle, appelant
du
et crachant une estimation approximative du débit.la source
Cet outil est une commande d’utilitaire Linux qui recherche les commandes de base coreutils (cp, mv, jj, tar, gzip / gunzip, cat, etc.) en cours d’exécution sur votre système et affiche le pourcentage de données copiées:
https://github.com/Xfennec/cv
la source
Je viens d'avoir un cas où cp était plus ou moins bloqué en raison d'un bogue FUSE dans le système de fichiers de réception.
Si vous ne pouvez pas simplement passer de cp (c'est-à-dire parce que --sparse = toujours) et que vous voulez quelque chose qui soit réellement fiable pour le progrès, passez par / proc.
la source
Page de manuel de VCP: https://linux.die.net/man/1/vcp
Téléchargez vcp-2.2.tar.gz à partir de:
http://distfiles.gentoo.org/distfiles/vcp-2.2.tar.gz
Dépendance: curses.h (libncurses-dev).
Sur Ubuntu, installez:
ou
INSTALLER vcp:
Manuel:
la source