Usando o comando dd
Dica publicada em Linux / Comandos
Usando o comando dd
Uns meses atrás, estudando para a LPI me deparei com o comando dd e resolvi compartilhar como faço o
uso do mesmo.
O comando dd é um clássico dos ambientes Unix-Like, com ele você pode fazer uma cópia exata de um arquivo, ou seja uma cópia bit a bit. Sintaxe básica:
Exemplo:
dd if=/home/felipe/Downloads/netbeans-6.9.1-ml-linux.sh of=/home/felipe/netbeans.sh
543986+0 registros de entrada
543986+0 registros de saída
278520832 bytes (279 MB) copiados, 11,7956 s, 23,6 MB/s
O que foi feito?
Foi feito uma cópia do arquivo "netbeans-6.9.1-ml-linux.sh", localizado em "/home/felipe/Downloads/", onde o arquivo copiado foi para /home/felipe, com o nome de netbeans.sh.
Cópia do HD para um arquivo:
# dd if=/dev/sda of=~/backup_hd.img
Será feita uma cópia exata do HD dentro do diretório do root com o nome "backup_hd.img". Se quiser restaurar o "backp_hd.img" no /dev/sda2 (lembre que o sda2 deve ter pelo menos o mesmo tamanho do arquivo "backup.hd" se não os resultados poderão ser desastrosos):
# dd if=backup_hd.img of=/dev/sda2
Cópia de partição para o partição:
# dd if=/dev/sda9 of=/dev/sda11
Será feita cópia da partição /dev/sda9 para a /dev/sda11.
Fazendo uma cópia do HD para um arquivo compactado:
# dd if=/dev/sda1 | gzip > backup_hd.img.gz
e para descompactar:
# gzip -d -c backup_hd.img.gz | dd of=/dev/sda2
O comando acima está descompactando o arquivo beckup_hd.img.gz no HD em /dev/sda2.
Criar uma imagem ISO:
# dd if=diretorio of=iso_do_diretorio.iso
Para visualizar progresso de cópia de arquivos, vá em outro terminal e execute:
watch df -h
Para converter todos as letras maiúsculas de um documento para letras minúsculas:
dd if=ficheiro1 of=ficheiro2 conv=lcase
Se quisermos converter todas as letras do ficheiro2 para maiúsculas:
dd if=ficheiro2 of=ficheiro3 conv=ucase
Para zerar (formatar) o seu HD (use com cuidado!):
# dd if=/dev/zero of=/dev/hda
Gerar senhas de forma (pseudo) aleatória:
dd if=/dev/random bs=2 count=6 | base64 -
r2KWFW83e9nTniVR
6+0 registros de entrada
6+0 registros de saída
12 bytes (12 B) copiados, 0,000100641 s, 119 kB/s
Espero ter ajudado!
www.iniciolinux.blogspot.com
O comando dd é um clássico dos ambientes Unix-Like, com ele você pode fazer uma cópia exata de um arquivo, ou seja uma cópia bit a bit. Sintaxe básica:
dd if=origem of=destino
Exemplo:
dd if=/home/felipe/Downloads/netbeans-6.9.1-ml-linux.sh of=/home/felipe/netbeans.sh
543986+0 registros de entrada
543986+0 registros de saída
278520832 bytes (279 MB) copiados, 11,7956 s, 23,6 MB/s
O que foi feito?
Foi feito uma cópia do arquivo "netbeans-6.9.1-ml-linux.sh", localizado em "/home/felipe/Downloads/", onde o arquivo copiado foi para /home/felipe, com o nome de netbeans.sh.
Cópia do HD para um arquivo:
# dd if=/dev/sda of=~/backup_hd.img
Será feita uma cópia exata do HD dentro do diretório do root com o nome "backup_hd.img". Se quiser restaurar o "backp_hd.img" no /dev/sda2 (lembre que o sda2 deve ter pelo menos o mesmo tamanho do arquivo "backup.hd" se não os resultados poderão ser desastrosos):
# dd if=backup_hd.img of=/dev/sda2
Cópia de partição para o partição:
# dd if=/dev/sda9 of=/dev/sda11
Será feita cópia da partição /dev/sda9 para a /dev/sda11.
Fazendo uma cópia do HD para um arquivo compactado:
# dd if=/dev/sda1 | gzip > backup_hd.img.gz
e para descompactar:
# gzip -d -c backup_hd.img.gz | dd of=/dev/sda2
O comando acima está descompactando o arquivo beckup_hd.img.gz no HD em /dev/sda2.
Criar uma imagem ISO:
# dd if=diretorio of=iso_do_diretorio.iso
Para visualizar progresso de cópia de arquivos, vá em outro terminal e execute:
watch df -h
Para converter todos as letras maiúsculas de um documento para letras minúsculas:
dd if=ficheiro1 of=ficheiro2 conv=lcase
Se quisermos converter todas as letras do ficheiro2 para maiúsculas:
dd if=ficheiro2 of=ficheiro3 conv=ucase
Para zerar (formatar) o seu HD (use com cuidado!):
# dd if=/dev/zero of=/dev/hda
Gerar senhas de forma (pseudo) aleatória:
dd if=/dev/random bs=2 count=6 | base64 -
r2KWFW83e9nTniVR
6+0 registros de entrada
6+0 registros de saída
12 bytes (12 B) copiados, 0,000100641 s, 119 kB/s
Espero ter ajudado!
www.iniciolinux.blogspot.com
Então eu dumpava o conteúdo do cartão com o comando para o disco, montava a imagem, modificava (copiando, apagando, colando os arquivos) e depois desmontava e copiava tudo de volta para o cartão de memória (que estava dentro do mobile, detalhe), também com o dd.
Ás vezes alguns arquivos do cartão ficavam corrompidos, mas 90% das vezes dava certo.