Introdução
- 711
- 119
- Mrs. Willie Beahan
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…