Linux cksum command
On Unix-like operating systems, the cksum command calculates a cyclic redundancy check (CRC) and byte count for each input file, and writes it to standard output.
esta página cobre a versão GNU/Linux do cksum.
Descrição
o código de validação de um ficheiro é uma forma simples de verificar se os seus dados se corromperam ao serem transferidos de um lugar para outro. Se o valor do checksum do arquivo é o mesmo antes e depois de ser transferido, é improvável que qualquer corrupção de dados ocorreu acidentalmente — a partir de ruído de sinal, por exemplo.digamos que você tem um arquivo, myfile.txt, contendo o seguinte texto:
This is my original file.
pode calcular o código de validação usando o cksum:
cksum myfile.txt
…e esta será a saída:
4164605383 26 myfile.txt
Aqui, 4164605383 é o checksum, e 26 é a quantidade de dados, em bytes. Se você mudar o conteúdo do arquivo para este:
This is no longer my original file.
…e executar cksum novamente, você verá o seguinte:
cksum myfile.txt
632554699 36 myfile.txt
A soma de verificação é muito diferente, e também podemos ver que há mais de dez bytes de dados.
A soma de verificação será diferente, mesmo se o número de bytes é o mesmo que o original:
This is a corrupted file.
cksum myfile.txt
2256884274 26 myfile.txt
…e muda dramaticamente, mesmo que apenas um personagem seja diferente.:
This is my original file?
cksum myfile.txt
3832066352 26 myfile.txt
Simples somas de verificação, tais como aqueles produzidos pelo cksum ferramenta, só são úteis para a detecção acidental de corrupção de dados. Não é para proteger contra a alteração maliciosa de um arquivo. Foi provado que um atacante poderia cuidadosamente fazer alterações a um arquivo que produziria um cksum checksum idêntico. Portanto, se você precisa estar absolutamente certo de que um arquivo é idêntico ao original, use um método mais poderoso. Recomendamos o uso do algoritmo SHA256 para verificar a integridade dos dados. Você pode gerar e verificar as somas de hash do SHA256 usando ferramentas como o GNU rhash.
sintaxe
a sintaxe de comando do comando cksum é muito simples. Indique um ou mais ficheiros a verificar:
cksum ...
…ou uma opção:
cksum
Se executar o cksum sem nomes de ficheiros e sem opções, ele cria um código de validação para os dados lidos a partir da entrada-padrão.
Opções
FICHEIRO | O nome do arquivo que você deseja verificar. |
–help | Display a help message, and exit. |
–version | Display version information, and exit. |
Exemplos
cksum file.txt
Calcula a soma de verificação e bytecount de arquivo.txt e envia os valores com o nome do ficheiro. A saída será semelhante ao seguinte:
1740057581 19 file.txt
Aqui, 1740057581 é o código de validação, 19 é o número de bytes no arquivo e arquivo.txt é o nome do ficheiro.
cksum myfile.txt myfile2.txt
o comando acima gera códigos de validação e ‘bytecounts’ para os ficheiros myfile.txt e myfile2.txt. O resultado assemelha-se ao seguinte:
3832066352 26 myfile.txt3722946153 34 myfile2.txt
cksum < myfile.txt
o comando acima irá redireccionar o conteúdo do myfile.txt para cksum, que irá ler os dados de entrada e saída padrão de um checksum e bytecount.
cat myfile.txt | cksum
o comando acima irá Catar o conteúdo do meu ficheiro.txt e pipe a saída para o cksum, que a lê a partir da entrada padrão.
cksum
correr o cksum sem opções permite-lhe escrever o que quiser, carregando em Enter para novas linhas. Quando terminar de introduzir o texto, poderá carregar em Ctrl+D para assinalar o fim da entrada-padrão, e o cksum produz o código de validação e o número de bytecount do texto que introduziu.