dd
est une merveille. Il vous permet de dupliquer un disque dur sur un autre, de remettre complètement à zéro un disque dur, etc. Mais une fois que vous lancez un dd
commande, il n'y a rien pour vous informer de sa progression. Il reste juste à côté du curseur jusqu'à ce que la commande se termine. Alors comment suivre la progression de dd ?
Réponses
Trop de publicités?Mise à jour 2016 : Si vous utilisez GNU coreutils >= 8.24 (par défaut dans Ubuntu Xenial 16.04 et plus), consultez la méthode 2 ci-dessous pour une autre façon d'afficher la progression.
Méthode 1 : En utilisant pv
Installer pv
et le mettre entre l'entrée et la sortie seulement dd
des commandes.
Nota : vous ne pouvez pas l'utiliser lorsque vous avez déjà commencé dd
.
pv
- Pipe Viewer - est un outil basé sur un terminal permettant de surveiller les la progression des données dans un pipeline. Il peut être inséré dans n'importe quel pipeline normal entre deux processus pour donner une indication visuelle de la vitesse à laquelle les données passent, le temps qu'il a fallu, la proximité de l'achèvement. l'état d'avancement du processus et une estimation du temps qu'il reste à parcourir jusqu'à l'achèvement du processus. l'achèvement.
Installation
sudo apt-get install pv
Ejemplo
dd if=/dev/urandom | pv | dd of=/dev/null
Salida
1,74MB 0:00:09 [ 198kB/s] [ <=> ]
Vous pouvez spécifier la taille approximative avec l'option --size
si vous voulez une estimation du temps.
Exemple Supposons qu'un disque de 2GB soit copié depuis /dev/sdb
Commande sans pv
serait :
sudo dd if=/dev/sdb of=DriveCopy1.dd bs=4096
Commande avec pv
:
sudo dd if=/dev/sdb | pv -s 2G | dd of=DriveCopy1.dd bs=4096
Sortie :
440MB 0:00:38 [11.6MB/s] [======> ] 21% ETA 0:02:19
Autres utilisations
Vous pouvez bien sûr utiliser pv
directement pour diriger la sortie vers stdout :
pv /home/user/bigfile.iso | md5sum
Salida
50,2MB 0:00:06 [8,66MB/s] [=======> ] 49% ETA 0:00:06
Notez que dans ce cas, pv
reconnaît automatiquement la taille.
Méthode 2 : Nouveau status
option ajoutée à dd
(GNU Coreutils 8.24+)
dd
dans GNU Coreutils 8.24+ (Ubuntu 16.04 et plus récent) a obtenu un nouveau status
pour afficher la progression :
Ejemplo
dd if=/dev/urandom of=/dev/null status=progress
Salida
462858752 bytes (463 MB, 441 MiB) copied, 38 s, 12,2 MB/s
De Comment faire : Suivre les progrès de dd
Vous pouvez suivre l'évolution de dd
une fois qu'il est en cours d'exécution, sans l'arrêter en utilisant la fonction kill
pour envoyer un signal au processus.
Après avoir commencé dd
Ouvrez un autre terminal et entrez soit :
sudo kill -USR1 $(pgrep ^dd$)
Ou si vous êtes sous BSD ou OS X :
sudo kill -INFO $(pgrep ^dd$)
Cela permettra d'afficher la progression dans le dd
sans arrêter le processus (en l'imprimant sur son flux stderr). Par exemple :
# dd if=/dev/urandom of=rando bs=1024 count=1048576
335822+0 records in
335821+0 records out
343880704 bytes (344 MB, 328 MiB) copied, 6.85661 s, 50.2 MB/s
Si vous souhaitez recevoir des mises à jour régulières de l'initiative dd
la progression, puis entrer :
watch -n5 'sudo kill -USR1 $(pgrep ^dd$)'
watch
va sonder le dd
toutes les -n secondes ( -n5
= 5 secondes) et le signaler sans l'interrompre.
Notez les guillemets simples appropriés dans les commandes ci-dessus.
Quelques exemples pratiques d'utilisation avec pv
et moins de frappe ou plus de progrès que les autres réponses :
Vous devez d'abord installer pv
avec la commande :
sudo apt-get install pv
Voici quelques exemples :
pv -n /dev/urandom | dd of=/dev/null
pv -tpreb source.iso | dd of=/dev/BLABLA bs=4096 conv=notrunc,noerror
Note : le premier échantillon comporte 5 caractères de moins que le second. dd if=/dev/urandom | pv | dd of=/dev/null
.
Et mon préféré pour cloner un lecteur de disque (remplacez X par des lettres de lecteur) :
(pv -n /dev/sdX | dd of=/dev/sdX bs=128M conv=notrunc,noerror) 2>&1 | dialog --gauge "Running dd command (cloning), please wait..." 10 70 0
source : http://www.cyberciti.biz/faq/linux-unix-dd-command-show-progress-while-coping/
Aussi pour m'archiver.
Dans un souci d'exhaustivité :
Version 8.24 de la GNU coreutils inclut un patch pour dd introduisant un paramètre pour imprimer la progression.
Le commit introduisant ce changement a le commentaire :
dd : nouveau status=progress niveau pour imprimer les statistiques périodiquement
De nombreuses distributions, dont Ubuntu 16.04.2 LTS utiliser cette version.
- Réponses précédentes
- Plus de réponses