xxd
Este é o comando xxd que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
xxd - faça um hexdump ou faça o contrário.
SINOPSE
xxd -ajuda]
xxd [opções] [infile [outfile]]
xxd -r [evert] [options] [infile [outfile]]
DESCRIÇÃO
xxd cria um dump hexadecimal de um determinado arquivo ou entrada padrão. Ele também pode converter um dump hexadecimal
de volta à sua forma binária original. Gostar uuencode(1) e uudecode(1) permite o
transmissão de dados binários em uma representação ASCII `segura para e-mail ', mas tem a vantagem
de decodificação para saída padrão. Além disso, ele pode ser usado para executar patching de arquivo binário.
OPÇÕES
Se nenhum no arquivo é fornecido, a entrada padrão é lida. Se no arquivo é especificado como um `-' personagem,
então a entrada é obtida da entrada padrão. Se não arquivo de saída é dado (ou um `-'personagem está em
seu lugar), os resultados são enviados para a saída padrão.
Observe que um analisador "preguiçoso" é usado, o qual não verifica mais do que a primeira opção
letra, a menos que a opção seja seguida por um parâmetro. Espaços entre uma única opção
letter e seu parâmetro são opcionais. Os parâmetros das opções podem ser especificados em decimais,
notação hexadecimal ou octal. Assim -c8, -c 8, -c 010 e -cols 8 são todos equivalentes.
-a | - salto automático
toggle autoskip: Um único '*' substitui nul-linhas. Padrão desativado.
-b | -bits
Mude para dump de bits (dígitos binários), em vez de hexdump. Esta opção grava
octetos como oito dígitos "1" se "0" s em vez de um dump hexadecimal normal. Cada
a linha é precedida por um número de linha em hexadecimal e seguida por um ascii (ou
ebcdic) representação. As opções de linha de comando -r, -p, -i não funcionam com isso
modo.
-c cols | -cols cols
formatocols> octetos por linha. Padrão 16 (-i: 12, -ps: 30, -b: 6). 256 máx.
-E | -EBCDIC
Altere a codificação de caracteres na coluna direita de ASCII para EBCDIC. Esse
não altera a representação hexadecimal. A opção não tem sentido em
combinações com -r, -p ou -i.
-e Mude para little-endian hexdump. Esta opção trata grupos de bytes como palavras em
ordem de bytes little-endian. O agrupamento padrão de 4 bytes pode ser alterado usando -g.
Esta opção se aplica apenas ao hexdump, deixando a representação ASCII (ou EBCDIC)
inalterado. As opções de linha de comando -r, -p, -i não funcionam com este modo.
-g bytes | -Tamanho do grupo bytes
separar a saída de cadabytes> bytes (dois caracteres hexadecimais ou oito dígitos de bits
cada um) por um espaço em branco. Especificamos -g 0 para suprimir o agrupamento.Bytes> o padrão é 2
no modo normal, 4 no modo little-endian e 1 no modo de bits. O agrupamento não
aplicar ao postscript ou incluir estilo.
-h | -Socorro
imprima um resumo dos comandos disponíveis e saia. Nenhum hex dumping é executado.
-i | -incluir
a saída em C inclui o estilo de arquivo. Uma definição de array estática completa é escrita
(nomeado após o arquivo de entrada), a menos que xxd leia stdin.
-l len | -len len
pare depois de escreverlen> octetos.
-o compensar
adicionarcompensar> para a posição do arquivo exibida.
-p | -ps | -pós-escrito | -avião
saída em estilo hexdump contínuo PostScript. Também conhecido como estilo hexdump simples.
-r | -reverter
operação reversa: converter (ou corrigir) hexdump em binário. Se não estiver escrevendo para
stdout, xxd grava em seu arquivo de saída sem truncá-lo. Use a combinação
-r -p para ler lixeiras hexadecimais simples, sem informações de número de linha e sem um
layout de coluna particular. Espaços em branco e quebras de linha adicionais são permitidos
em qualquer lugar.
-procurar compensar
Quando usado depois -r: reverter comcompensar> adicionado às posições de arquivo encontradas em hexdump.
-s [+] [-] procuram
Começa ásprocurar> bytes abs. (ou rel.) deslocamento infil. + indica que a busca é
em relação à posição atual do arquivo stdin (sem sentido quando não está lendo de
padrão). - indica que a busca deve ter tantos caracteres a partir do final de
a entrada (ou se combinada com +: antes da posição do arquivo stdin atual). Sem
opção -s, xxd começa na posição atual do arquivo.
-u use letras hexadecimais maiúsculas. O padrão é minúsculas.
-v | -versão
mostrar string de versão.
RESSALVAS
xxd -r tem alguma mágica embutida ao avaliar as informações do número da linha. Se a saída
arquivo é pesquisável, então os números de linho no início de cada linha hexdump podem estar fora de
ordem, as linhas podem estar faltando ou sobrepostas. Nestes casos, xxd irá procurar(2) para o próximo
posição. Se o arquivo de saída não for pesquisável, apenas lacunas são permitidas, que serão preenchidas
por bytes nulos.
xxd -r nunca gera erros de análise. O lixo é ignorado silenciosamente.
Ao editar hexdumps, observe que xxd -r pula tudo na linha de entrada após
lendo colunas suficientes de dados hexadecimais (consulte a opção -c). Isso também significa que muda
para as colunas ascii (ou ebcdic) imprimíveis são sempre ignoradas. Revertendo um plano (ou
PostScript) o estilo hexdump com xxd -r -p não depende do número correto de colunas.
Aqui, qualquer coisa que se pareça com um par de dígitos hexadecimais é interpretada.
Observe a diferença entre
% xxd -i lima
e
% xxd -i < lima
xxd -s + buscar pode ser diferente de xxd -s procurar, como procurar(2) é usado para "retroceder" a entrada. UMA
'+' faz diferença se a fonte de entrada for stdin, e se a posição do arquivo stdin não for
no início do arquivo no momento em que xxd é iniciado e recebe sua entrada. A seguir
exemplos podem ajudar a esclarecer (ou confundir ainda mais!) ...
Rebobine stdin antes de ler; necessário porque o `gato 'já leu até o final de
padrão
% sh -c "gato > cópia_plana; xxd -s 0 > hex_copy " < lima
Hexdump da posição do arquivo 0x480 (= 1024 + 128) em diante. O sinal `+ 'significa" em relação ao
posição atual ", portanto,` 128 'soma-se a 1k onde o dd parou.
% sh -c "dd of = plain_snippet bs = 1k contagem = 1; xxd -s +128 > hex_snippet " < lima
Hexdump da posição de arquivo 0x100 (= 1024-768) em.
% sh -c "dd of = plain_snippet bs = 1k contagem = 1; xxd -s + -768 > hex_snippet " < lima
No entanto, esta é uma situação rara e o uso de `+ 'raramente é necessário. O autor prefere
para monitorar o efeito de xxd com traço(1) ou treliça(1), sempre que -s for usado.
EXEMPLOS
Imprime tudo, exceto as três primeiras linhas (bytes hexadecimais 0x30) de lima.
% xxd -s 0x30 lima
Imprimir 3 linhas (bytes hexadecimais de 0x30) a partir do final de lima.
% xxd -s -0x30 lima
Imprima 120 bytes como hexdump contínuo com 20 octetos por linha.
% xxd -l 120 -ps -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567
Hexdump os primeiros 120 bytes desta página do manual com 12 octetos por linha.
% xxd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 agosto de 1996 "
0000018: 224d 616e 7561 6c20 7061 6765 "Página do manual
0000024: 2066 6f72 2078 7864 220a 2e5c para xxd ".. \
0000030: 220a 2e5c 2220 3231 7374 204d ".. \" 21º M
000003c: 6179 2031 3939 360a 2e5c 2220 aa 1996 .. \ "
0000048: 4d61 6e20 7061 6765 2061 7574 Página de manual aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor: .. \ "
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
000006c: 3c74 6f6e 7940 7363 746e 7567
Mostra apenas a data do arquivo xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21 de maio de 1996
Copiar Arquivo de entrada para arquivo de saída e prefixar 100 bytes de valor 0x00.
% xxd Arquivo de entrada | xxd -r -s 100 > arquivo de saída
Corrigir a data no arquivo xxd.1
% eco "0000037: 3574 68 " | xxd -r - xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25 de maio de 1996
Crie um arquivo de 65537 bytes com todos os bytes 0x00, exceto o último que é 'A' (hex
0x41).
% eco "010000: 41 " | xxd -r > lima
Hexdump este arquivo com autoskip.
% xxd -a -c 12 lima
0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 .... A
Crie um arquivo de 1 byte contendo um único caractere 'A'. O número depois de '-r -s' adiciona a
os números de linho encontrados no arquivo; na verdade, os bytes iniciais são suprimidos.
% eco "010000: 41 " | xxd -r -s -0x10000 > lima
Use xxd como um filtro em um editor, como vitalidade(1) para fazer o hexdump de uma região marcada entre `a '
e `z '.
: 'a,' z! xxd
Use xxd como um filtro em um editor, como vitalidade(1) para recuperar um hexdump binário marcado
entre `a 'e` z'.
: 'a,' z! xxd -r
Use xxd como um filtro em um editor, como vitalidade(1) para recuperar uma linha de um hexdump.
Mova o cursor sobre a linha e digite:
!! xxd -r
Leia um único caractere de uma linha serial
% xxd -c1 < / dev / term / b &
% chiqueiro < / dev / term / b -eco -oposto -isig -icanon minutos 1
% eco -n Foo > / dev / term / b
RETORNO VALORES
Os seguintes valores de erro são retornados:
0 nenhum erro encontrado.
-1 operação não suportada ( xxd -r -i ainda impossível).
1 erro ao analisar opções.
2 problemas com arquivo de entrada.
3 problemas com o arquivo de saída.
4,5 a posição de busca desejada está inacessível.
Use xxd online usando serviços onworks.net