Articles

Linux cksum-kommando

uppdaterad: 03/13/2021 av Computer Hope

cksum-kommando

på Unix-liknande operativsystem beräknar cksum-kommandot en cyklisk redundanskontroll (CRC) och byte-räkning för varje inmatningsfil och skriver den till standardutmatning.

denna sida täcker GNU / Linux-versionen av cksum.

beskrivning

kontrollsumman för en fil är ett enkelt sätt att kontrollera om dess data har skadats när de överförs från en plats till en annan. Om kontrollsummans värde för filen är detsamma före och efter överföringen är det osannolikt att någon datakorruption har inträffat av misstag — till exempel från Signalbrus.

låt oss säga att du har en fil, myfile.txt, som innehåller följande text:

This is my original file.

Du kan beräkna kontrollsumman med cksum:

cksum myfile.txt

…och detta kommer att vara utgången:

4164605383 26 myfile.txt

Här är 4164605383 kontrollsumman och 26 är mängden data i byte. Om du ändrar innehållet i filen till detta:

This is no longer my original file.

…och kör cksum igen, du kommer att se följande:

cksum myfile.txt
632554699 36 myfile.txt

kontrollsumman är väldigt annorlunda, och vi kan också se att det finns tio fler byte av data.

kontrollsumman kommer att vara annorlunda även om antalet byte är samma som originalet:

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

…och det förändras dramatiskt även om bara ett tecken är annorlunda:

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

enkla kontrollsummor, som de som produceras av cksum-verktyget, är endast användbara för att upptäcka oavsiktlig datakorruption. Det är inte avsett att skydda mot skadlig ändring av en fil. Det har bevisats att en angripare noggrant kan göra ändringar i en fil som skulle ge en identisk cksum-kontrollsumma. Därför, om du behöver vara helt säker på att en fil är identisk med originalet, använd en kraftfullare metod. Vi rekommenderar starkt att du använder SHA256-algoritmen för att verifiera dataintegritet. Du kan generera och verifiera SHA256 hashsummor med hjälp av verktyg som GNU rhash.

Syntax

kommandosyntaxen för kommandot cksum är mycket enkel. Ange antingen en eller flera filer som ska kontrolleras:

cksum ...

…eller ett alternativ:

cksum 

om du kör cksum utan filnamn och inga alternativ skapar det en kontrollsumma för data som läses från standardinmatning.

alternativ

fil namnet på filen du vill kontrollera.
–help visa ett hjälpmeddelande och avsluta.
–version visa versionsinformation och avsluta.

exempel

cksum file.txt

beräkna kontrollsumman och bytecount av filen.txt och mata ut värdena med filnamnet. Utgången kommer att likna följande:

1740057581 19 file.txt

Här är 1740057581 kontrollsumman, 19 är antalet byte i filen och filen.txt är filnamnet.

cksum myfile.txt myfile2.txt

ovanstående kommando genererar kontrollsummor och bytecounts för filerna myfile.txt och myfile2.txt. Produktionen liknar följande:

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

ovanstående kommando omdirigerar innehållet i myfile.txt till cksum, som kommer att läsa data från standard input och output en kontrollsumma och bytecount.

cat myfile.txt | cksum

ovanstående kommando kommer att cat innehållet i myfile.txt och rör utmatningen till cksum, som läser den från standardingången.

cksum

Om du kör cksum utan alternativ kan du skriva vad du vill genom att trycka på Enter för nya rader. När du är klar med att skriva in text kan du trycka på Ctrl + D för att signalera slutet på standardinmatningen, och cksum matar ut kontrollsumman och bytecount för texten du angav.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *