Gerenciamento de Disco

Comando Linux dd

Comando Linux dd
“Dd” é uma ferramenta linux CLI. Agora, a versão atual do “dd” é uma parte do GNU coreutils, é aquela que cada sistema UNIX / Linux apresenta. O objetivo principal desta ferramenta é converter e copiar arquivos. No entanto, é bastante diferente de outras ferramentas de cópia de arquivo como “cp”.

características dd

“Dd” pode ser usado para vários fins:

uso de dd

Aqui estão alguns dos usos mais comuns e interessantes de “dd”. Claro, "dd" é muito mais capaz do que essas coisas. Se você estiver interessado, sempre recomendo verificar outros recursos detalhados em “dd”.

Localização

qual dd

Como a saída indica, sempre que executar “dd”, ele inicia em “/ usr / bin / dd”.

Uso básico

Aqui está a estrutura que “dd” segue.

dd if = de =

Por exemplo, vamos criar um arquivo com dados aleatórios. Existem alguns arquivos especiais integrados no Linux que aparecem como arquivos normais como “/ dev / zero” que produz um fluxo contínuo de NULL, “/ dev / random” que produz dados aleatórios contínuos.

dd if = / dev / urandom de = ~ / Desktop / random.txt bs = 1M contagem = 5

As primeiras opções são autoexplicativas. Significa usar “/ dev / urandom” como fonte de dados e “~ / Desktop / random.txt ”como destino. Quais são as outras opções?

Aqui, “bs” significa “tamanho do bloco”. Quando o dd está gravando dados, ele grava em blocos. Usando esta opção, o tamanho do bloco pode ser definido. Neste caso, o valor “1M” indica que o tamanho do bloco é de 1 megabyte.

“Contagem” decide o número de blocos a serem escritos. Se não for corrigido, “dd” continuará o processo de gravação, a menos que o fluxo de entrada termine. Neste caso, “/ dev / urandom” continuará gerando dados infinitamente, então esta opção foi primordial neste exemplo.

Backup de dados

Usando este método, “dd” pode ser usado para despejar os dados de uma unidade inteira! Tudo que você precisa é dizer ao drive como a fonte.

dd if = de =

Se você está indo para tais ações, certifique-se de que sua fonte não é um diretório. “Dd” não tem ideia de como processar um diretório, então as coisas não funcionarão.

“Dd” só sabe trabalhar com arquivos. Então, se você precisar fazer backup de um diretório, use o tar para arquivá-lo primeiro, depois use “dd” para transferi-lo para um arquivo.

demonstração tar cvJf.alcatrão.xz DemoDir /

dd if = demo.alcatrão.xz de = ~ / Desktop / backup.img

No próximo exemplo, estaremos realizando uma operação muito sensível: fazer backup do MBR! Agora, se o seu sistema está usando MBR (Master Boot Record), ele está localizado nos primeiros 512 bytes do disco do sistema: 466 bytes para o carregador de inicialização, outros para a tabela de partição.

Execute este comando para fazer backup do registro MBR.

dd if = / dev / sda de = ~ / Desktop / mbr.img bs = 512 contagem = 1

Restauração de dados

Para qualquer backup, a forma de restaurar os dados é necessária. No caso de “dd”, o processo de restauração é um pouco diferente de qualquer outra ferramenta. Você deve reescrever o arquivo de backup em uma pasta / partição / dispositivo semelhante.

Por exemplo, eu tenho este “backup.arquivo img ”contendo o“ demo.alcatrão.arquivo xz ”. Para extraí-lo, usei o seguinte comando.

dd if = backup.img of = demo.alcatrão.xz

Novamente, certifique-se de que você está gravando a saída em um arquivo. “Dd” não é bom com diretórios, lembre-se?

Da mesma forma, se "dd" foi usado para criar um backup de uma partição, restaurá-lo exigiria o seguinte comando.

dd if = de =

Por exemplo, que tal restaurar o MBR do qual fizemos backup anteriormente?

dd if = mbr.img de = / dev / sda

Opções “dd”

Em algum ponto deste guia, você se deparou com algumas opções de “dd” como “bs” e “contar”, certo? Bem, há mais deles. Aqui está uma lista resumida do que são e como usá-los.

  • obs: Determina o tamanho dos dados a serem gravados por vez. O valor padrão é 512 bytes.

  • cbs: determina o tamanho dos dados a serem convertidos de cada vez.

  • ibs: determina o tamanho dos dados a serem lidos por vez.
  • contagem: copiar apenas N blocos

  • buscar: pula N blocos no início da saída

  • pular: pula N blocos no início da entrada

conv = ascii: converte a entrada do arquivo de EBCDIC em ASCII

conv = ebcdic: Converte a entrada do arquivo de ASCII para EBCDIC

conv = ibm: converte a entrada do arquivo de ASCII em EBCDIC alternativo

conv = lcase: converte a entrada do arquivo de maiúsculas para minúsculas

conv = ucase: converte a entrada do arquivo de minúsculas para maiúsculas

conv = swab: Troca cada par de entrada

Opções adicionais:

  • nocreat: Não crie o arquivo de saída
  • notruc: Não truncar o arquivo de saída
  • noerror: Continue a operação, mesmo depois de encontrar o erro
  • fdatasync: Grava dados no armazenamento físico antes que o processo termine
  • fsync: semelhante ao fdatasync, mas também grava os metadados
  • iflag: ajuste a operação com base em vários sinalizadores. Os sinalizadores disponíveis incluem: anexar para anexar dados à saída

Opções adicionais:

  • diretório: Frente a um diretório irá falhar a operação
  • dsync: E / S sincronizada para dados
  • sync: Semelhante ao dsync, mas inclui metadados
  • nocache: solicitações para descartar o cache.
  • nofollow: Não siga nenhum link simbólico

Opções adicionais:

  • count_bytes: Semelhante a “count = N”
  • buscar_bytes: Semelhante a “buscar = N”
  • skip_bytes: Semelhante a “skip = N”

Como você viu, é possível empilhar vários sinalizadores e opções em um único comando “dd” para ajustar o comportamento da operação.

dd if = demo.txt de = demo1.txt bs = 10 contagem = 100 conv = ebcdic
iflag = append, nocache, nofollow, sync

Pensamentos finais

O fluxo de trabalho do “dd” é muito simples. No entanto, para que o “dd” realmente brilhe, depende de você. Existem inúmeras maneiras criativas de "dd" ser usado para realizar interações inteligentes.

Para obter informações detalhadas sobre “dd” e todas as suas opções, consulte a página man e info.

homem dd
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...
Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...