Existe-t-il un moyen de sortir l'état de dd (sous OS X) pendant le processus de copie?

9

J'utilise dd pour copier des images iso sur une clé USB. Existe-t-il un moyen de sortir l'état de dd pendant le processus de copie?

lookyhooky
la source

Réponses:

23

Si vous utilisez OS X, vous pouvez appuyer sur CTRL-T et il vous donnera une mise à jour de progression.

zymhan
la source
si simple, je me demande pourquoi tout le monde choisit une magie de ligne de commande complexe à ce sujet
Dr Manhattan
Surtout parce que c'est spécifique à OS X / BSD, je pense.
zymhan
3

Vous pouvez utiliser n'importe quelle technique de ligne de commande accessible à tous les utilisateurs de * nix. Il existe de nombreux exemples:

  1. Demandez à Ubuntu
  2. http://pfynotes.blogspot.com/2011/05/monitoring-progress-of-dd-on-osx.html
  3. ligne de commande fu

Ils sont tous regroupés dans l'une des deux catégories suivantes: envoyer un signal de suppression (comme CTRL-T) ou diriger la sortie via un visualiseur comme pv. Je ne recommanderais pvque si vous utilisez déjà MacPorts ou HomeBrew. Exemple le plus simple:

dd if=file.iso | pv | dd of=/dev/sda3

Si vous avez plus d'un fichier à transférer et que vous souhaitez également% complet et ETA, vous devez fournir à pv la taille du flux qu'il regarde. Vous pouvez fournir la taille d'une arborescence de répertoires comme

 `SIZE=$(du -sb . | awk '{print $1}')` 

ou un système de fichiers complet

 `SIZE=$(df -B1 /dev/sda1 | tail -n1 | tr -s ' ' | cut -d' ' -f2)`  

puis passez la taille à pv:

dd if=file.iso | pv -s $SIZE | dd of=/dev/sda3
DaveParillo
la source