Articles

Commande Linux cksum

Mise à jour: 13/03/2021 par Computer Hope

commande cksum

Sur les systèmes d’exploitation de type Unix, la commande cksum calcule un contrôle de redondance cyclique (CRC) et un nombre d’octets pour chaque fichier d’entrée, et l’écrit sur la sortie standard.

Cette page couvre la version GNU/Linux de cksum.

Description

La somme de contrôle d’un fichier est un moyen simple de vérifier si ses données sont corrompues lors du transfert d’un endroit à un autre. Si la valeur de somme de contrôle du fichier est la même avant et après le transfert, il est peu probable qu’une corruption de données se soit produite accidentellement — à partir du bruit du signal, par exemple.

Disons que vous avez un fichier, myfile.txt, contenant le texte suivant:

This is my original file.

Vous pouvez calculer la somme de contrôle en utilisant cksum:

cksum myfile.txt

…et ce sera la sortie:

4164605383 26 myfile.txt

Ici, 4164605383 est la somme de contrôle et 26 est la quantité de données, en octets. Si vous changez le contenu du fichier en ceci:

This is no longer my original file.

…et exécutez à nouveau cksum, vous verrez ce qui suit:

cksum myfile.txt
632554699 36 myfile.txt

La somme de contrôle est très différente, et nous pouvons également voir qu’il y a dix octets de données supplémentaires.

La somme de contrôle sera différente même si le nombre d’octets est le même que l’original :

This is a corrupted file.
cksum myfile.txt
2256884274 26 myfile.txt

…et cela change radicalement même si un seul personnage est différent:

This is my original file?
cksum myfile.txt
3832066352 26 myfile.txt
Important

Les sommes de contrôle simples, telles que celles produites par l’outil cksum, ne sont utiles que pour détecter la corruption accidentelle de données. Il n’est pas destiné à protéger contre l’altération malveillante d’un fichier. Il a été prouvé qu’un attaquant pouvait apporter soigneusement des modifications à un fichier qui produirait une somme de contrôle cksum identique. Par conséquent, si vous devez être absolument certain qu’un fichier est identique à l’original, utilisez une méthode plus puissante. Nous vous recommandons fortement d’utiliser l’algorithme SHA256 pour vérifier l’intégrité des données. Vous pouvez générer et vérifier des sommes de hachage SHA256 à l’aide d’outils tels que GNU rhash.

Syntaxe

La syntaxe de commande de la commande cksum est très simple. Spécifiez un ou plusieurs fichiers à vérifier :

cksum ...

…ou une option:

cksum 

Si vous exécutez cksum sans noms de fichier et sans options, cela crée une somme de contrôle pour les données lues à partir de l’entrée standard.

Options

FILE Le nom du fichier que vous souhaitez vérifier.
helphelp Affiche un message d’aide et quitte.
versionversion Affiche les informations de version et quitte.

Exemples

cksum file.txt

Calculez la somme de contrôle et le nombre d’octets du fichier.txt et affiche les valeurs avec le nom du fichier. La sortie sera similaire à ce qui suit:

1740057581 19 file.txt

Ici, 1740057581 est la somme de contrôle, 19 est le nombre d’octets dans le fichier et le fichier.txt est le nom du fichier.

cksum myfile.txt myfile2.txt

La commande ci-dessus génère des sommes de contrôle et des comptes octets pour les fichiers myfile.txt et monfile2.txt. La sortie ressemble à ce qui suit :

3832066352 26 myfile.txt3722946153 34 myfile2.txt
cksum < myfile.txt

La commande ci-dessus redirigera le contenu de mon fichier.txt à cksum, qui lira les données de l’entrée standard et produira une somme de contrôle et un nombre partiel.

cat myfile.txt | cksum

La commande ci-dessus va cat le contenu de myfile.txt et achemine la sortie vers cksum, qui la lit à partir de l’entrée standard.

cksum

L’exécution de cksum sans options vous permet de taper tout ce que vous voulez, en appuyant sur Entrée pour les nouvelles lignes. Lorsque vous avez terminé la saisie de texte, vous pouvez appuyer sur Ctrl + D pour signaler la fin de l’entrée standard, et cksum affiche la somme de contrôle et le nombre partiel du texte que vous avez entré.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *