Linux cksum command
w systemach operacyjnych uniksopodobnych polecenie cksum oblicza cykliczną kontrolę nadmiarowości (CRC) i liczbę bajtów dla każdego pliku wejściowego i zapisuje je na standardowe wyjście.
Ta strona opisuje cksum w wersji GNU/Linux.
opis
suma kontrolna pliku to prosty sposób na sprawdzenie, czy jego dane nie zostały uszkodzone podczas przesyłania z jednego miejsca do drugiego. Jeśli suma kontrolna pliku jest taka sama przed i po przesłaniu, jest mało prawdopodobne, aby doszło do przypadkowego uszkodzenia danych — na przykład z powodu szumu sygnału.
Załóżmy, że masz plik, myfile.txt, zawierający następujący tekst:
This is my original file.
sumę kontrolną można obliczyć za pomocą sumy kontrolnej:
cksum myfile.txt
…a to będzie wyjście:
4164605383 26 myfile.txt
tutaj, 4164605383 to suma kontrolna, A 26 to ilość danych w bajtach. Jeśli zmienisz zawartość pliku na:
This is no longer my original file.
…i uruchom ponownie cksum, zobaczysz co następuje:
cksum myfile.txt
632554699 36 myfile.txt
suma kontrolna jest bardzo inna i możemy również zobaczyć, że jest jeszcze dziesięć bajtów danych.
suma kontrolna będzie inna, nawet jeśli liczba bajtów będzie taka sama jak oryginał:
This is a corrupted file.
cksum myfile.txt
2256884274 26 myfile.txt
…i zmienia się dramatycznie, nawet jeśli tylko jedna postać jest inna:
This is my original file?
cksum myfile.txt
3832066352 26 myfile.txt
proste sumy kontrolne, takie jak te generowane przez narzędzie cksum, są przydatne tylko do wykrywania przypadkowego uszkodzenia danych. Nie ma na celu ochrony przed złośliwą zmianą pliku. Udowodniono, że atakujący może ostrożnie wprowadzać zmiany w pliku, który wytworzy identyczną sumę kontrolną cksum. Dlatego, jeśli chcesz mieć całkowitą pewność, że plik jest identyczny z oryginałem, użyj bardziej wydajnej metody. Zalecamy korzystanie z algorytmu SHA256 do weryfikacji integralności danych. Możesz generować i weryfikować sumy skrótu SHA256 za pomocą narzędzi takich jak GNU rhash.
składnia
składnia polecenia cksum jest bardzo prosta. Wybierz jeden lub więcej plików do sprawdzenia:
cksum ...
…lub opcja:
cksum
jeśli uruchomisz cksum bez nazw plików i bez opcji, utworzy on sumę kontrolną dla danych odczytywanych ze standardowego wejścia.
opcje
plik | nazwa pliku, który chcesz sprawdzić. |
–help | wyświetla komunikat pomocy i kończy działanie. |
–wersja | wyświetla informacje o wersji i kończy działanie. |
przykłady
cksum file.txt
Oblicz sumę kontrolną i liczbę bajtów pliku.txt i wypisuje wartości z nazwą pliku. Wynik będzie podobny do następującego:
1740057581 19 file.txt
tutaj, 1740057581 to suma kontrolna, 19 to liczba bajtów w pliku i Pliku.txt to nazwa pliku.
cksum myfile.txt myfile2.txt
powyższe polecenie generuje sumy kontrolne i liczby bajtów dla plików myfile.txt i myfile2.txt. Wyjście wygląda następująco:
3832066352 26 myfile.txt3722946153 34 myfile2.txt
cksum < myfile.txt
powyższe polecenie przekieruje zawartość pliku myfile.txt do cksum, który odczyta dane ze standardowego wejścia i wyjścia sumy kontrolnej i liczby bajtów.
cat myfile.txt | cksum
powyższe polecenie wyświetli zawartość pliku myfile.txt i podłącz wyjście do cksum, który odczytuje je ze standardowego wejścia.
cksum
uruchamianie cksum bez opcji pozwala na wpisanie dowolnego tekstu, naciskając Enter dla nowych linii. Po zakończeniu wprowadzania tekstu możesz nacisnąć Ctrl + D, aby zasygnalizować koniec standardowego wejścia, a cksum wyświetli sumę kontrolną i liczbę bajtów wprowadzonego tekstu.