Linux cksum Commando
op Unix-achtige besturingssystemen berekent het cksum commando een cyclische redundancy check (CRC) en byte count voor elk invoerbestand, en schrijft het naar standaard uitvoer.
deze pagina behandelt de GNU / Linux-versie van cksum.
Description
de controlesom van een bestand is een eenvoudige manier om te controleren of de gegevens beschadigd zijn geraakt wanneer ze van de ene plaats naar de andere worden overgebracht. Als de controlesomwaarde van het bestand hetzelfde is voor en na de overdracht, is het onwaarschijnlijk dat er per ongeluk gegevenscorruptie is opgetreden — van bijvoorbeeld Signaalruis.
stel dat je een bestand hebt, myfile.txt, met de volgende tekst:
This is my original file.
u kunt de checksum berekenen met behulp van cksum:
cksum myfile.txt
…en dit zal de uitvoer zijn:
4164605383 26 myfile.txt
Hier is 4164605383 de checksum, en 26 is de hoeveelheid data, in bytes. Als u de inhoud van het bestand naar dit:
This is no longer my original file.
…en voer cksum opnieuw uit, je ziet het volgende:
cksum myfile.txt
632554699 36 myfile.txt
de checksum is heel anders, en we kunnen ook zien dat er nog tien bytes aan data zijn.
de controlesom zal verschillen, zelfs als het aantal bytes gelijk is aan het origineel:
This is a corrupted file.
cksum myfile.txt
2256884274 26 myfile.txt
…en het verandert dramatisch, zelfs als slechts één personage anders is:
This is my original file?
cksum myfile.txt
3832066352 26 myfile.txt
eenvoudige checksums, zoals die geproduceerd door de cksum tool, zijn alleen nuttig voor het detecteren van toevallige data corruptie. Het is niet bedoeld om te beschermen tegen kwaadaardige wijziging van een bestand. Het is bewezen dat een aanvaller zorgvuldig wijzigingen kan aanbrengen in een bestand dat een identieke cksum checksum zou produceren. Daarom, als je absoluut zeker moet zijn dat een bestand identiek is aan het origineel, gebruik dan een krachtigere methode. We raden ten zeerste aan om het SHA256-algoritme te gebruiken voor het verifiëren van gegevensintegriteit. U kunt SHA256 hash sommen genereren en verifiëren met behulp van tools zoals GNU rhash.
syntaxis
De opdrachtsyntaxis van het cksum commando is zeer eenvoudig. Geef één of meer te controleren bestanden op:
cksum ...
…of een optie:
cksum
Als u cksum uitvoert zonder bestandsnamen en zonder opties, maakt het een controlesom aan voor gegevens die worden gelezen van standaardinvoer.
opties
bestand | de naam van het bestand dat u wilt controleren. |
–help | een helpbericht tonen en afsluiten. |
–version | versieinformatie tonen en afsluiten. |
voorbeelden
cksum file.txt
Bereken de checksum en bytecount van het bestand.txt en de uitvoer van de waarden met de bestandsnaam. De uitvoer zal vergelijkbaar zijn met de volgende:
1740057581 19 file.txt
Hier is 1740057581 de checksum, 19 is het aantal bytes in het bestand en het bestand.txt is de bestandsnaam.
cksum myfile.txt myfile2.txt
het bovenstaande commando genereert checksums en bytecounts voor de bestanden mijnbestand.txt en myfile2.txt. Uitvoer lijkt op het volgende:
3832066352 26 myfile.txt3722946153 34 myfile2.txt
cksum < myfile.txt
het bovenstaande commando zal de inhoud van mijn bestand omleiden.txt naar cksum, die de gegevens van standaardinvoer zal lezen en een checksum en bytecount zal uitvoeren.
cat myfile.txt | cksum
het bovenstaande commando zal de inhoud van mijn bestand bepalen.txt en pijp de uitvoer naar cksum, die het leest van de standaardinvoer.
cksum
Als u cksum zonder opties uitvoert, kunt u alles typen wat u wilt, door op Enter te drukken voor nieuwe regels. Wanneer u klaar bent met het invoeren van tekst, kunt u op CTRL+D drukken om het einde van de standaardinvoer aan te geven, en cksum voert de checksum en bytecount uit van de ingevoerde tekst.