ddposix - Online na nuvem

Este é o comando ddposix 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


dd - converte e copia um arquivo

SINOPSE


dd [operando...]

DESCRIÇÃO


A dd utilitário deve copiar o arquivo de entrada especificado para o arquivo de saída especificado com
possíveis conversões usando tamanhos de bloco de entrada e saída específicos. Deve ler a entrada
um bloco de cada vez, usando o tamanho de bloco de entrada especificado; deve então processar o bloco
de dados realmente retornados, que podem ser menores do que o tamanho do bloco solicitado. Deve
aplique quaisquer conversões que tenham sido especificadas e grave os dados resultantes na saída
em blocos do tamanho de bloco de saída especificado. Se o bs=expr operando é especificado e não
conversões diferentes de sincronizar, noerrorou não executado são solicitados, os dados retornados de
cada bloco de entrada deve ser escrito como um bloco de saída separado; se a leitura retornar menos
do que um bloco completo e o sincronizar conversão não for especificada, o bloco de saída resultante
deve ser do mesmo tamanho que o bloco de entrada. Se o bs=expr operando não é especificado, ou um
conversão diferente de sincronizar, noerrorou não executado é solicitada, a entrada deve ser processada
e coletados em blocos de saída de tamanho normal até que o final da entrada seja alcançado.

A ordem de processamento deve ser a seguinte:

1. Um bloco de entrada é lido.

2. Se o bloco de entrada for menor do que o tamanho do bloco de entrada especificado e o sincronizar
conversão for especificada, bytes nulos devem ser acrescentados aos dados de entrada até o
tamanho especificado. (Se algum quadra or desobstruir também é especificado, personagens
devem ser anexados em vez de bytes nulos.) As conversões e saídas restantes devem ser
inclua os caracteres do teclado como se tivessem sido lidos na entrada.

3. Se o bs=expr operando é especificado e nenhuma conversão diferente de sincronizar or noerror is
solicitados, os dados resultantes devem ser gravados na saída como um bloco único, e
as etapas restantes são omitidas.

4. Se o cotonete conversão for especificada, cada par de bytes de dados de entrada deve ser trocado.
Se houver um número ímpar de bytes no bloco de entrada, o último byte na entrada
registro não deve ser trocado.

5. Quaisquer conversões restantes (quadra, desobstruir, caso e ukase) deve ser realizada. Esses
as conversões devem operar nos dados de entrada independentemente do bloqueio de entrada; um
O registro de comprimento fixo de entrada ou saída pode ultrapassar os limites do bloco.

6. Os dados resultantes da entrada ou conversão ou ambos devem ser agregados na saída
blocos do tamanho especificado. Após o final da entrada ser alcançado, qualquer saída restante
deve ser escrito como um bloco sem preenchimento se conv=sincronizar não é especificado; Assim, o
o bloco de saída final pode ser menor do que o tamanho do bloco de saída.

OPÇÕES


Nenhum.

OPERANDOS


Todos os operandos devem ser processados ​​antes de qualquer entrada ser lida. Os seguintes operandos
deve ser suportado:

if=lima Especifique o nome do caminho de entrada; o padrão é a entrada padrão.

of=lima Especifique o nome do caminho de saída; o padrão é a saída padrão. Se o procurar=expr
a conversão também não for especificada, o arquivo de saída deve ser truncado antes do
a cópia começa se um explícito of=lima operando é especificado, a menos que conv=não executado is
Especificadas. Se procurar=expr é especificado, mas conv=não executado não é, o efeito do
cópia deve ser para preservar os blocos no arquivo de saída sobre os quais dd procura, mas
nenhuma outra parte do arquivo de saída deve ser preservada. (Se o tamanho da busca
mais o tamanho do arquivo de entrada é menor que o tamanho anterior da saída
arquivo, o arquivo de saída deve ser reduzido pela cópia. Se o arquivo de entrada estiver vazio
e o tamanho da busca é maior do que o tamanho anterior da saída
arquivo ou o arquivo de saída não existia anteriormente, o tamanho do arquivo de saída
deve ser definido para o deslocamento do arquivo após a busca.)

ibs=expr Especifique o tamanho do bloco de entrada, em bytes, por expr (o padrão é 512).

obs=expr Especifique o tamanho do bloco de saída, em bytes, por expr (o padrão é 512).

bs=expr Defina os tamanhos de bloco de entrada e saída para expr bytes, substituindo ibs= e obs=.
Se nenhuma conversão diferente de sincronizar, noerror e não executado é especificado, cada entrada
bloco deve ser copiado para a saída como um único bloco sem agregar curto
blocos.

cbs=expr Especifique o tamanho do bloco de conversão para quadra e desobstruir em bytes por expr
(o padrão é zero). Se cbs= é omitido ou recebe um valor zero, usando quadra or
desobstruir produz resultados não especificados.

O aplicativo deve garantir que este operando também seja especificado se o conv=
operando é especificado com um valor de ascii, ebcdicou ibm. Para conv= operando
com um ascii valor, a entrada é tratada conforme descrito para o desobstruir valor,
exceto que os caracteres são convertidos em ASCII antes de qualquer
caracteres são excluídos. Para conv= operandos com ebcdic or ibm valores, a entrada
é tratado conforme descrito para o quadra valor, exceto que os caracteres são
convertido para EBCDIC ou IBM EBCDIC, respectivamente, após qualquer
caracteres são adicionados.

pular=n pular n blocos de entrada (usando o tamanho do bloco de entrada especificado) antes de começar a
cópia de. Em arquivos buscáveis, a implementação deve ler os blocos ou buscar passado
eles; em arquivos não buscáveis, os blocos devem ser lidos e os dados devem ser
descartado.

procurar=n pular n blocos (usando o tamanho do bloco de saída especificado) desde o início do
arquivo de saída antes de copiar. Em arquivos não pesquisáveis, os blocos existentes devem ser lidos
e o espaço do final do arquivo atual para o deslocamento especificado, se houver, preenchido
com bytes nulos; em arquivos buscáveis, a implementação deve buscar o
deslocamento especificado ou ler os blocos conforme descrito para arquivos não procuráveis.

contar=n Copiar apenas n blocos de entrada.

conv=valor[,valor ...]
Onde valors são - símbolos separados da seguinte lista:

ascii Converter EBCDIC em ASCII; Vejo mesa 4-7, ASCII para EBCDIC Conversão.

ebcdic Converter ASCII em EBCDIC; Vejo mesa 4-7, ASCII para EBCDIC Conversão.

ibm Converta ASCII para um conjunto EBCDIC diferente; Vejo mesa 4-8, ASCII para IBM
EBCDIC Conversão.

A ascii, ebcdic e ibm os valores são mutuamente exclusivos.

quadra Trate a entrada como uma sequência de -terminado ou fim-de-arquivo-
registros de comprimento variável terminados independentes do bloco de entrada
limites. Cada registro deve ser convertido em um registro com uma
comprimento especificado pelo tamanho do bloco de conversão. Algum deverá ser
removido da linha de entrada; caracteres devem ser anexados a
linhas que são mais curtas do que seu tamanho de bloco de conversão para preencher o
bloquear. As linhas que são mais longas do que o tamanho do bloco de conversão devem ser
truncado para o maior número de caracteres que cabem naquele tamanho;
o número de linhas truncadas deve ser relatado (ver o STDERR
seção).

A quadra e desobstruir os valores são mutuamente exclusivos.

desobstruir Converta registros de comprimento fixo em comprimento variável. Leia vários bytes
igual ao tamanho do bloco de conversão (ou o número de bytes restantes em
a entrada, se menor que o tamanho do bloco de conversão), exclua todos os
caracteres e acrescente um .

caso Mapeie os caracteres maiúsculos especificados pelo LC_CTYPE palavra chave abaixar para
o caractere minúsculo correspondente. Caracteres para os quais nenhum mapeamento
é especificado não deve ser modificado por esta conversão.

A caso e ukase os símbolos são mutuamente exclusivos.

ukase Mapeie os caracteres minúsculos especificados pelo LC_CTYPE palavra chave tupper para
o caractere maiúsculo correspondente. Caracteres para os quais nenhum mapeamento
é especificado não deve ser modificado por esta conversão.

cotonete Troque cada par de bytes de entrada.

noerror Não pare o processamento em um erro de entrada. Quando ocorre um erro de entrada, um
a mensagem de diagnóstico deve ser escrita no erro padrão, seguida pelo
contagens de blocos de entrada e saída atuais no mesmo formato usado em
conclusão (consulte a seção STDERR). Se o sincronizar conversão é
especificado, a entrada ausente deve ser substituída por bytes nulos e
processado normalmente; caso contrário, o bloco de entrada deve ser omitido de
a saída.

não executado Não trunque o arquivo de saída. Preservar blocos no arquivo de saída não
explicitamente escrito por esta invocação do dd Utilitário. (Veja também o
precedente of=lima operando.)

sincronizar Preencha cada bloco de entrada com o tamanho do ibs= buffer, acrescentando nulo
bytes. (Se algum quadra or desobstruir também é especificado, anexar
caracteres, em vez de bytes nulos.)

O comportamento não é especificado se operandos diferentes de conv= são especificados mais de uma vez.

Para o bs=, cbs=, ibs=, e obs= operandos, o aplicativo deve fornecer uma expressão
especificando um tamanho em bytes. A expressão, expr, pode ser:

1. Um número decimal positivo

2. Um número decimal positivo seguido por k, especificando a multiplicação por 1024

3. Um número decimal positivo seguido por b, especificando a multiplicação por 512

4. Dois ou mais números decimais positivos (com ou sem k or b) separado por x,
especificando o produto dos valores indicados

Todos os operandos são processados ​​antes de qualquer entrada ser lida.

As duas tabelas a seguir exibem os valores de caracteres de número octal usados ​​para o ascii e
ebcdic conversões (primeira tabela) e para o ibm conversão (segunda tabela). Em ambos
tabelas, os valores ASCII são os cabeçalhos de linha e coluna e os valores EBCDIC são encontrados em
seus cruzamentos. Por exemplo, ASCII 0012 (LF) é a segunda linha, terceira coluna,
rendendo 0045 em EBCDIC. As tabelas invertidas (para conversão EBCDIC em ASCII) não são
mostrado, mas estão em correspondência um a um com essas tabelas. As diferenças entre o
duas tabelas são destacadas por pequenas caixas desenhadas em torno de cinco entradas.

mesa 4-7: ASCII para EBCDIC Conversão

mesa 4-8: ASCII para IBM EBCDIC Conversão

STDIN


Se nenhum if= operando é especificado, a entrada padrão deve ser usada. Veja os ARQUIVOS DE ENTRADA
seção.

INPUT ARQUIVOS


O arquivo de entrada pode ser qualquer tipo de arquivo.

MEIO AMBIENTE VARIÁVEIS


As seguintes variáveis ​​de ambiente devem afetar a execução de dd:

GRANDE Forneça um valor padrão para as variáveis ​​de internacionalização que não estão definidas ou
nulo. (Veja o volume de Definições de Base de POSIX.1‐2008, Seção 8.2,
Internacionalização Variáveis pela precedência de internacionalização
variáveis ​​usadas para determinar os valores das categorias de local.)

LC_ALL Se definido como um valor de string não vazio, substitui os valores de todos os outros
variáveis ​​de internacionalização.

LC_CTYPE Determine o local para a interpretação de sequências de bytes de dados de texto
como caracteres (por exemplo, caracteres de byte único em oposição a caracteres de bytes múltiplos em
argumentos e arquivos de entrada), a classificação dos caracteres em maiúsculas ou
letras minúsculas e o mapeamento de caracteres de um caso para outro.

LC_MESSAGES
Determine a localidade que deve ser usada para afetar o formato e o conteúdo do
mensagens de diagnóstico escritas para erro padrão e mensagens informativas escritas
para a saída padrão.

NLSPAT Determine a localização dos catálogos de mensagens para o processamento de LC_MESSAGES.

ASSÍNCRONO EVENTOS


Para SIGINT, o dd utilitário deve interromper seu processamento atual, status de gravação
informações para o erro padrão e sair como se encerrado por SIGINT. Deve levar o
ação padrão para todos os outros sinais; veja a seção EVENTOS ASSÍNCRONOS em Seção 1.4,
Utilidade Descrição Padrões.

STDOUT


Se nenhum of= operando é especificado, a saída padrão deve ser usada. A natureza do
a saída depende dos operandos selecionados.

STDERR


Na conclusão, dd deve escrever o número de blocos de entrada e saída para o erro padrão. No
a localidade POSIX, os seguintes formatos devem ser usados:

"% u +% u registros Pousada", <número of inteiro entrada blocos>,
<número of parcialmente entrada blocos>

"% u +% u registros de saída \ n",número of inteiro saída blocos>,
<número of parcialmente saída blocos>

Um bloco de entrada parcial é aquele para o qual ler() retornou menos que o tamanho do bloco de entrada. UMA
bloco de saída parcial é aquele que foi escrito com menos bytes do que o especificado pela saída
tamanho do bloco.

Além disso, quando há pelo menos um bloco truncado, o número de blocos truncados
deve ser escrito com o erro padrão. No local POSIX, o formato deve ser:

"%você truncado % s \ n ", <número of truncado blocos>, "registro" (se
<número of truncado blocos> é um) "registros" (caso contrário)

As mensagens de diagnóstico também podem ser gravadas no erro padrão.

SAÍDA ARQUIVOS


Se o of= operando é usado, a saída deve ser a mesma descrita no STDOUT
seção.

ESTENDIDO DESCRIÇÃO


Nenhum.

SAIR STATUS


Os seguintes valores de saída devem ser retornados:

0 O arquivo de entrada foi copiado com sucesso.

> 0 Ocorreu um erro.

CONSEQUÊNCIAS OF ERROS


Se um erro de entrada for detectado e o noerror conversão não foi especificada, qualquer
bloco de saída parcial deve ser escrito no arquivo de saída, uma mensagem de diagnóstico deve ser
escrito, e a operação de cópia deve ser interrompida. Se algum outro erro for detectado, um
a mensagem de diagnóstico deve ser escrita e a operação de cópia deve ser interrompida.

A seguinte seções e guarante que os mesmos estão informativo.

APLICAÇÃO USO


O tamanho do bloco de entrada e saída pode ser especificado para tirar vantagem da E / S física bruta.

Existem muitas versões diferentes dos conjuntos de códigos EBCDIC. As conversões ASCII e EBCDIC
especificado para o dd utilitário executa conversões para a versão especificada pelas tabelas.

EXEMPLOS


O seguinte comando:

dd if = / dev / rmt0h de = / dev / rmt1h

cópias da unidade de fita 0 para a unidade de fita 1, usando uma nomenclatura de dispositivo histórico comum
convenção.

O seguinte comando:

dd ibs = 10 pular = 1

retira os primeiros 10 bytes da entrada padrão.

Este exemplo lê uma fita EBCDIC bloqueada dez imagens de cartão EBCDIC de 80 bytes por bloco em
o arquivo ASCII x:

dd if = / dev / tape de = x ibs = 800 cbs = 80 conv = ascii, lcase

JUSTIFICATIVA


A seção OPÇÕES está listada como `` Nenhuma '' porque não há opções reconhecidas por
histórico dd Serviços de utilidade pública. Certamente, muitos dos operandos poderiam ter sido projetados para usar
as Diretrizes de sintaxe de utilitários, o que teria resultado na opção clássica hifenizada
cartas. Nesta versão deste volume de POSIX.1‐2008, dd mantém seu curioso estilo JCL
sintaxe devido ao grande número de aplicativos que dependem do histórico
implementação.

Uma técnica de implementação sugerida para conv=noerror,sincronizar é zero (ou -preencher, se
quadraing ou desobstruiring) o buffer de entrada antes de cada leitura e para escrever o conteúdo do
buffer de entrada para a saída, mesmo após um erro. Desta forma, quaisquer dados transferidos para
o buffer de entrada antes de o erro ser detectado é preservado. Outro ponto é que um
falha de leitura em um arquivo regular ou disco geralmente não incrementa o deslocamento do arquivo, e
dd deve então buscar além do bloco em que ocorreu o erro; caso contrário, o erro de entrada
ocorre repetidamente. Quando a entrada é uma fita magnética, no entanto, a fita normalmente tem
passou o bloco que contém o erro quando o erro é relatado e, portanto, nenhuma busca é
necessário.

O padrão ibs= e obs= tamanhos são especificados como 512 bytes porque há históricos
scripts (amplamente portáteis) que assumem esses valores. Se eles não foram especificados,
resultados incomuns podem ocorrer se uma implementação escolher um tamanho de bloco ímpar.

Implementações históricas de dd usava creat() ao processar of=lima. Isso torna o
procurar= operando inutilizável exceto em arquivos especiais. o conv=não executado recurso foi adicionado porque
mais recentes implementações baseadas em BSD usam aberto() (sem O_TRUNC) em vez de creat(), mas
eles falham em excluir o conteúdo do arquivo de saída após os dados copiados.

A w multiplicador (historicamente significando palavra), é usado no Sistema V para significar 2 e em 4.2 BSD
para significar 4. Desde palavra é inerentemente não portátil, seu uso não é suportado por este volume
de POSIX.1‐2008.

EBCDIC padrão não possui os caracteres '[' e ']'. Os valores usados ​​na tabela
são retirados de um trem de impressão comum que os contém. Além desses personagens,
os valores do trem de impressão não são preenchidos, mas parecem fornecer algumas das motivações para
a escolha histórica das traduções refletida aqui.

A tabela EBCDIC padrão fornece uma tradução 1: 1 para todos os 256 bytes.

A tabela IBM EBCDIC não fornece essa tradução. As células marcadas nas tabelas
diferem de tal forma que:

1. EBCDIC0112 ('¢') e 0152 (tubo quebrado) não aparecem na tabela.

2. EBCDIC0137 ('¬') se traduz de / para ASCII 0236 ('^') Na tabela padrão, EBCDIC
0232 (sem gráfico) é usado.

3. EBCDIC0241 ('~') se traduz de / para ASCII 0176 ('~') Na tabela padrão, EBCDIC
0137 ('¬') é usado.

4 ('[') e 0275 (']') aparecem duas vezes, uma vez no mesmo lugar que para o padrão
mesa e uma vez no lugar de 0112 ('¢') e 0241 ('~').

No resultado líquido:

EBCDIC0275 (']') EBCDIC 0241 deslocado ('~') na célula 0345.

Isso deslocou EBCDIC 0137 ('¬') na célula 0176.

Isso deslocou EBCDIC 0232 (sem gráfico) na célula 0136.

Isso substituiu EBCDIC 0152 (tubo quebrado) na célula 0313.

EBCDIC0255 ('[') substituiu EBCDIC 0112 ('¢').

Esta tradução, no entanto, reflete a prática histórica que (ASCII) '~' e '¬' foram
frequentemente mapeados entre si, como eram '[' e '¢'; e ']' e (EBCDIC) '~'.

A cbs operando é necessário se qualquer um dos ascii, ebcdicou ibm operandos são especificados.
Para o ascii operando, a entrada é tratada conforme descrito para o desobstruir operando exceto
que os caracteres são convertidos para ASCII antes do final caracteres são excluídos.
Para o ebcdic e ibm operandos, a entrada é tratada conforme descrito para o quadra operando
exceto que os caracteres são convertidos em EBCDIC ou IBM EBCDIC após o
caracteres são adicionados.

A quadra e desobstruir palavras-chave são da prática histórica do BSD.

O uso consistente da palavra registro em mensagens de erro padrão corresponde à maioria dos históricos
prática. Uma versão anterior do System V usada quadra, mas isso foi atualizado em mais
lançamentos recentes.

As primeiras propostas permitiam apenas dois números separados por x para ser usado em um produto quando
especificando bs=, cbs=, ibs=, e obs= tamanhos. Isso foi alterado para refletir o histórico
prática de permitir vários números no produto, conforme fornecido pela Versão 7 e todos
versões do System V e BSD.

Uma mudança no cotonete a conversão é necessária para coincidir com a prática histórica e é o resultado
das Interpretações IEEE PASC 1003.2 # 03 e # 04, submetido para o ISO POSIX ‐ 2: 1993
padrão.

Uma mudança no manuseio do SIGINT é necessária para coincidir com a prática histórica e é o
resultado da Interpretação IEEE PASC 1003.2 # 06 submetido para o padrão ISO POSIX ‐ 2: 1993.

FUTURO INSTRUÇÕES


Nenhum.

Use ddposix online usando serviços onworks.net



Programas online mais recentes para Linux e Windows