Introdução

Introdução

O que você está lendo é apenas o primeiro dos muitos artigos da série “Learning Linux Comandos”. Por que queremos fazer uma coisa dessas? Porque é útil para você ter todas as opções e possível uso de um comando amplamente usado em um só lugar. Você encontrará algumas opções ou mesmo alguns comandos que você nem sabia que existia, e sua vida como usuário / administrador Linux ficará mais fácil. Se você não tem medo de abrir um terminal e conhecer o básico do uso de um sistema Linux, este artigo é para você.

Por que DD?

Escolhemos o DD como o primeiro candidato em nossa série, porque é uma ferramenta útil que tem muitas opções, como você verá. Isso o torna quase uma das facas do exército suíço do mundo Linux. Sim, este termo (faca do exército suíço) é usado mais do que deveria ser pelos escritores de artigo orientados para Linux, para que não pudéssemos passar a oportunidade de usá-lo.

Uso geral

Antes de começarmos, queríamos lhe dar uma idéia geral de como o DD é usado. Primeiro de tudo, o nome vem de "Data Duplicator", mas também se diz, brincando. Por isso, recomendamos um cuidado extra ao usar DD, porque um momento de descuido pode custar dados valiosos. A sintaxe geral de um comando dd é

 # dd if = $ input_data de = $ output_data [opções]

Os dados de entrada e saída podem ser discos, partições, arquivos, dispositivos ... principalmente tudo o que você pode escrever ou ler sobre. Como você verá, você pode usar o DD em um contexto em rede para enviar fluxos de dados em sua LAN, por exemplo. Você pode ter apenas a parte de entrada no seu comando dd, ou apenas no comando de saída, e você pode até eliminar ambos em alguns casos. Tudo isso será tratado na tabela abaixo.



Exemplos

Aprendendo o comando dd linux com exemplos
Sintaxe do comando linux Descrição do comando linux
Sistemas de arquivos
dd if =/dev/urandom de =/dev/sda bs = 4k
Preenche a unidade com dados aleatórios
dd if =/dev/sda de =/dev/sdb bs = 4096

Duplicação de acionamento a tração

dd if =/dev/zero de =/dev/sda bs = 4k
Limpe um disco rígido (pode precisar ser repetido)
dd if = inputfile de =/dev/st0 bs = 32k conv = sincronização
Copie de arquivo em fita dispositivo
dd if =/dev/st0 de = outfile bs = 32k conv = sincronizado
O acima, revertido
dd if =/dev/sda | hexdump -c | grep [^00]
Verifique se a unidade está realmente zerada
dd if =/dev/urandom de =/home/$ user/enormfile \ bs = 4096
Preenche uma partição (cuidadosa com partições do sistema!)
ls -l myfile -rw-r-r-- 6703104 31 de outubro 18:25 myfile dd if =/dev/urandom de = myfile bs = 6703104 contagem = 1
Scrad um arquivo (talvez antes de excluí -lo)
dd if =/dev/sda3 de =/dev/sdb3 bs = 4096 \ conv = notrunc, noerror
Copie uma partição para outra partição
dd if =/proc/filesystems | hexdump -c | menos
Exibir sistemas de arquivos disponíveis
dd if =/proc/partitions | hexdump -c | menos
Ver partições disponíveis em KB
dd if =/dev/sdb2 IBS = 4096 | gzip> partição.imagem.gz \ conv = Noerror
Cria uma imagem gzijada da segunda partição
do segundo disco
dd bs = 10240 cbs = 80 con.fora
Copie o conteúdo de uma unidade de fita para um arquivo, convertendo
de EBCDIC para ASCII
dd if =/dev/st0 ibs = 1024 obs = 2048 de =/dev/st1
Copie do dispositivo de bloco de 1kb para o dispositivo de bloco de 2kb
dd if =/dev/zero de =/dev/null bs = 100m contagem = 100 100+0 registros em 100+0 registros 10485760000 bytes (10 GB) copiados, 5.62955 S, 1.9 GB/s
Copie 10 GB de Zeros para a lata de lixo.
dd if =/dev/zero de =/dev/sda bs = 512 count = 2 fdisk -s/dev/sda dd if =/dev/zero de =/dev/sda seek = \ (number_of_sectors - 20) bs = 1k
Apagar GPT do disco. Desde que o GPT escreve dados no início
E no final da unidade, depois
Apagando desde o início, precisamos descobrir o número
de setores (segundo comando), depois apagar os últimos 20 setores.
dd if =/home/$ user/bootimage.img de =/dev/sdc
Crie unidade USB inicializável (aqui mostrado como /dev /sdc)
dd if =/dev/sda de =/dev/null bs = 1m
Uma boa maneira de verificar se há blocos ruins
Backup e sistema relacionado ao sistema
dd if =/dev/sda de =/dev/fd0 bs = 512 contagem = 1
Copia o MBR para um disquete
dd if =/dev/sda1 de =/dev/sdb1 bs = 4096
Duplicação de acionamento a tração
dd if =/dev/sr0 de =/home/$ user/mycdimage.iso \ bs = 2048 conv = Nosync
Crie uma imagem de um CD
Mount -o loop/home/$ user/mycdimage.iso \/mnt/cdimages/
Mount disse a imagem localmente
dd if =/dev/sda de =/dev/sdb bs = 64k conv = sincronização
Útil ao substituir um disco por outro tamanho idêntico
dd if =/dev/sda2 de =/home/$ user/hddimage1.img \ bs = 1m count = 4430 dd if =/dev/sda2 de =/home/$ user/hddimage2.img \ bs = 1m contagem = 8860 […]
Crie imagens de DVD de uma partição (útil para fazer backup)
dd if =/$ location/hddimage1.img de =/dev/sda2 \ bs = 1m dd if =/$ location/hddimage2.img de =/dev/sda2 \ Seek = 4430 bs = 1m dd if =/$ location/hddimage3.img de =/dev/sda2 \ Seek = 8860 bs = 1m [e assim por diante…]
Restaurar de acima backup
dd if =/dev/zero count = 1 bs = 1024 busca = 1 de =/dev/sda6
Destrua o superbloco
dd if =/dev/zero count = 1 bs = 4096 buscando = 0 de =/dev/sda5
Outra maneira de destruir o superbloco
dd if =/home/$ user/suspeito.Doc | Clamscan -
Verifique o arquivo quanto a vírus (precisa de clamav)
dd if =/home/$ user/binário arquivo | hexdump -c | menos
Veja o conteúdo de um arquivo binário (precisa de hexdump)
dd if =/home/$ user/bigfile de =/dev/null dd if =/dev/zero de =/home/$ user/bigfile \ bs = 1024 contagem = 1000000
Referência disco rígido para velocidade de leitura/gravação
dd if =/dev/sda de =/dev/sda
Dá uma nova vida a discos rígidos mais antigos que não são usados ​​há algum tempo (o disco deve ser desmontado)
dd if =/dev/mem | Strings | grep 'string_to_search'
Examine o conteúdo da memória (legível pelo homem, isto é)
dd if =/dev/fd0 de =/home/$ user/fluppy.Imagem \ bs = 2x80x18b conv = notrunc
Copie um disco de disquete
dd if =/proc/kcore | hexdump -c | menos
Veja a memória virtual
dd if =/proc/filesystems | hexdump -c | menos
Exibir sistemas de arquivos disponíveis
dd if =/proc/kallsyms | hexdump -c | menos
Exibir módulos carregados
dd if =/proc/interrupções | hexdump -c | menos
Ver tabela de interrupção
dd if =/proc/uptime | hexdump -c | menos
Ver tempo de atividade em segundos
dd if =/proc/partitions | hexdump -c | menos
Ver partições disponíveis em KB
dd if =/proc/meminfo | hexdump -c | menos
Ver Memstats
dd if =/dev/urandom de =/home/$ user/myrandom \ bs = 100 contagem = 1
Cria um arquivo de 1kb de bobagem aleatória
dd if =/dev/mem de =/home/$ user/mem/mem.bin \ bs = 1024
Cria uma imagem do estado real da memória do seu sistema
dd if =/home/$ user/myfile
Imprime o arquivo para stdout
dd if =/dev/sda2 bs = 16065 | hexdump -c \ | grep 'text_to_search'
Pesquise uma partição inteira para obter uma string; Mesmo que esteja garantido,
você pode inicializar um viveiro
dd if =/home/$ user/arquivo.bin pular = 64k bs = 1 \ de =/home/$ user/convfile.BIN
Arquivo de copiar.Bin para convocar.bin pulando os primeiros 64 kb
dd if =/home/$ user/bootimage.img de =/dev/sdc
Crie unidade USB inicializável (aqui mostrado como /dev /sdc)
dd if =/dev/mem bs = 1k pular = 768 contagem = 256 \ 2>/dev/null | Strings -N 8
Leia o BIOS.
dd bs = 1k if = imagefile.nrg de = imagefile.ISO SKIP = 300K
Converta a imagem Nero em imagem padrão ISO.
Isso é possível porque a única diferença entre
Os dois são um cabeçalho de 300 kb Nero adiciona a um arquivo ISO padrão.
eco -n "Hello Vertical World" | dd cbs = 1 \ conv = desbloqueio 2> /dev /null
Experimente, é seguro. 🙂
dd if =/dev/sda1 | gzip -c | Split -b 2000m - \/mnt/hdc1/backup.img.gz
Crie uma imagem de uma partição usando divisão
gato/mnt/hdc1/backup.img.gz.* | gzip -dc | \ dd de =/dev/sda1
Restaure o backup acima
dd if =/dev/zero de = myimage bs = 1024 contagem = 10240
Crie uma imagem de disco vazia
dd ibs = 10 pular = 1
Tira os primeiros 10 bytes de stdin
dd bs = 265b conv = noerror if =/dev/st0 \ of =/tmp/bad.fita.imagem
Faça a imagem de uma unidade de fita com pontos ruins
dd if =/dev/sda count = 1 | Hexdump -c
Veja seu MBR
dd if =/dev/sda | NC -L 10001 NC $ System_to_backup_IP 10001 | dd \ of = sysbackupsda.img
Backup de rede rápido usando o NetCat
dd if =/dev/zero de =/dev/sdx \ bs = 1024000 contagem = 1
Limpar os primeiros 10 MB da partição
dd if =/dev/zero de = tmpswap bs = 1k \ count = 1000000 chmod 600 tmpswap mkswap tmpswap swapon tmpswap
Crie espaço de troca temporária
dd if =/dev/sda de =/dev/null bs = 1024k \ count = 1024 1073741824 bytes (1.1 GB) copiado, 24.1684 S, 44.4 mb/s
Determine a velocidade de E/S seqüencial da sua unidade. Lendo o arquivo 1 GB
dd if =/dev/contagem aleatória = 1 2>/dev/null | od -t u1 | \ awk 'print $ 2' | Cabeça -1
Gerar número aleatório
dd if =/dev/mem de = myram bs = 1024
Copie a memória RAM para um arquivo
dd if =/dev/sda bs = 512 contagem = 1 | OD -XA
Veja o conteúdo do seu MBR em formato Hex e ASCII
dd if =/my/Old/mbr de =/dev/sda bs = 446 contagem = 1
Restaurar MBR sem perturbar o registro da tabela de partição
que está entre 447 e 511 bytes
dd if =/dev/sda1 | Split -B 700m -SDA1 -Image
Crie uma cópia de partição e salve imagens onde máximo
O tamanho do volume é de 700 MB
Manipulação de texto
ls -l | dd conv = ucase
Converter a saída de um comando em maiúsculas
eco "meu texto superior" | dd conv = lcase
Converter qualquer texto em minúsculas
dd if =/etc/passwd cbs = 132 conv = ebcdic de =/tmp/passwd.EBCDIC
Converta o arquivo de senha do sistema em arquivo de formato ebcdic de comprimento fixo
dd se = texto.ASCII de = texto.ebcdic conv = ebcdic
Converter de ASCII para EBCDIC
dd if = myfile de = myfile conv = ucase
Converta um arquivo em maiúsculas (substituição simples de SED ou TR)

Conclusão

Isso tem sido apenas uma pequena parte do que o DD pode fazer, e esperamos que este artigo tenha conseguido compreender os exemplos mais úteis para o usuário cotidiano. No entanto, antes de ir mais longe, recomendamos que você leia a documentação do seu disco rígido, procurando coisas como LBA Limitation e tome cuidado extra ao usar DD em um terminal raiz.
Claro, você já tem backups, mas um pouco de cuidado extra economizará horas de trabalho desnecessário.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Download do Linux
  • Coisas para instalar no Ubuntu 22.04
  • Ubuntu 20.04 Guia
  • Instale Arch Linux na estação de trabalho VMware
  • Como fazer bota dupla kali linux e windows 10
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…