(write file checksums and sizes)
Das Kommando cksum führt für jede Eingabedatei eine CRC-Prüfung (cyclic redundancy check) durch und schreibt die Anzahl der in den einzelnen Dateien enthaltenen Oktetts in die Standardausgabe. Welche CRC-Prüfung verwendet wird, hängt vom Polynom ab, das im Ethernet-Standard, auf den verwiesen wird, zur CRC-Fehlerprüfung verwendet wird.
Syntax
cksum[ -C][ datei] |
-C berechnet die Prüfsumme wie in früheren Versionen datei Der Pfadname einer zu prüfenden Datei. Die Dateien können von beliebigen Dateityp sein. datei nicht angegeben: |
Codierung
Die Codierung der CRC-Prüfsumme wird von dem Polynom definiert, das die Prüfsumme erstellt:
Mathematisch wird der CRC-Wert für eine bestimmte Datei mit folgender Prozedur definiert:
|
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos cksum: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten). LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Stdout (Standardausgabe)
Für jede erfolgreich verarbeitete Datei erzeugt das Kommando cksum eine Ausgabe in folgendem Format:
Wurde keine Datei angegeben, werden der Pfadname und sein führendes Leerzeichen ausgelassen. |
Endestatus
0 | Alle Dateien wurden erfolgreich verarbeitet. |
>0 | Ein Fehler ist aufgetreten. |
Hinweis
Das Kommando cksum wird in der Regel für den schnellen Vergleich einer verdächtigen Datei mit einer „sicheren“ Version dieser Datei verwendet. Dadurch kann beispielsweise geprüft werden, ob Dateien, die über eine durch Geräusche gestörte Leitung übertragen wurden, intakt sind. Dieser Vergleich ist jedoch keineswegs kryptografisch sicher. Die Wahrscheinlichkeit, dass eine beschädigte Datei dieselbe Prüfsumme übergibt wie die Originaldatei ist jedoch minimal. Eine beabsichtigte Täuschung ist äußerst schwierig, aber keineswegs undenkbar. Das Kommando cksum kann zwar Eingabedateien eines beliebigen Typs verwenden, die Ergebnisse müssen jedoch nicht dem entsprechen, was bei einer zeichenorientierten Datei oder bei einem nicht in den XSH-Spezifikationen beschriebenen Dateityp erwartet wird. Da dieses Dokument nicht die bei der Eingabe verwendete Blockgröße angibt, müssen bei der CRC-Prüfung von zeichenorientierten Dateien nicht alle Daten in diesen Dateien verarbeitet werden. Der Algorithmus ist ein in Oktetts unterteilter Bitstrom. Wird eine Datei zwischen zwei Systemen übertragen und werden die Daten dabei geändert (z.B. bei der Übertragung von 8-Bit-Zeichen in 9-Bit-Bytes), können keine identischen CRC-Werte erwartet werden. Implementierungen, die solche Umformungen durchführen, können cksum so erweitern, dass auch diese Fälle berücksichtigt werden. |
Beispiel
Für die Datei test, die eine Aufzählung der Wochentage enthält, wird die Prüfsumme berechnet.
|
Siehe auch
sum |