twitter
    Seja Livre você Também!! :)

terça-feira, 22 de março de 2011

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 e um clássico dos ambientes Unix-Like, com ele você pode fazer uma copia exata de um arquivo, ou seja uma copia 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 feita uma cópia do arquivo "netbeans-6.9.1-ml-linux.sh" localizada 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 copia 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 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 do HD para o HD
# dd if=/dev/sda9 of=/dev/sda11
Será feita copia do /dev/sda9 para o /dev/sda11.

Fazendo uma copia 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 ISO

#dd if=diretorio.tar.gz 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
# 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

2 comentários: