Existe uma maneira de gerar o status de dd (no OS X) durante o processo de cópia?

9

Estou usando o dd para copiar imagens ISO para um pen drive. Existe uma maneira de gerar o status de dd durante o processo de cópia?

lookyhooky
fonte

Respostas:

23

Se você estiver usando o OS X, poderá pressionar CTRL-T e ele fornecerá uma atualização de progresso.

zymhan
fonte
tão simples, eu quero saber por que todo mundo escolhe algum complexo magia linha de comando durante este
Dr. Manhattan
Principalmente porque isso é específico do OS X / BSD, eu acho.
Zymhan
3

Você pode usar qualquer técnica de linha de comando disponível genialmente para qualquer usuário * nix. Existem muitos exemplos:

  1. Ask Ubuntu
  2. http://pfynotes.blogspot.com/2011/05/monitoring-progress-of-dd-on-osx.html
  3. linha de comando fu

Todos eles basicamente se agrupam em uma de duas categorias: envia um sinal de interrupção (como CTRL-T) ou canaliza a saída através de um visualizador pv. Eu recomendaria pvapenas se você já usa o MacPorts ou o HomeBrew. Exemplo mais simples:

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

Se você tiver mais de um arquivo para transferir e também desejar% complete ee ETA, precisará fornecer ao PV o tamanho do fluxo que está assistindo. Você pode fornecer o tamanho de uma árvore de diretórios como

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

ou um sistema de arquivos inteiro como

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

e depois passe o tamanho para pvcomo:

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