Ich habe die Frage gefunden Wie lässt sich feststellen, ob die Daten in einer tar-Datei gültig sind, ohne dass eine Datei vorhanden ist? aber ich habe mich gefragt: Gibt es eine fertige Kommandozeilenlösung?
Antworten
Zu viele Anzeigen?Dies sind alles sehr suboptimale Lösungen. Von der GZIP-Spezifikation
ID2 (ID-Identifikation 2)
Diese haben die festen Werte ID1 = 31 (0x1f, \037 ), ID2 = 139 (0x8b, \213 ), um die Datei als im gzip-Format vorliegend zu kennzeichnen.
Muss in der von Ihnen verwendeten Sprache kodiert werden.
> verwenden Sie die Option -O. [...] Wenn die tar-Datei beschädigt ist, wird der Prozess mit einem Fehler abgebrochen.
Manchmal ja, manchmal aber auch nicht. Schauen wir uns ein Beispiel für eine beschädigte Datei an:
echo Pete > my_name
tar -cf my_data.tar my_name
# // Simulate a corruption
sed < my_data.tar 's/Pete/Fool/' > my_data_now.tar
# // "my_data_now.tar" is the corrupted file
tar -xvf my_data_now.tar -O
Sie zeigt:
my_name
Fool
Auch wenn Sie die
echo $?
Teer sagte, dass es keinen Fehler gab:
0
aber die Datei wurde beschädigt, sie enthält jetzt "Fool" statt "Pete".
- See previous answers
- Weitere Antworten anzeigen