Linux 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
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.