Saya menemukan pertanyaan Bagaimana menentukan apakah data adalah file tar yang valid tanpa file? , tetapi saya bertanya-tanya: apakah ada solusi baris perintah yang sudah jadi?
gzip
validation
tar
gunzip
understack
sumber
sumber
-v
jika Anda hanya menyalurkan output ke/dev/null
?-z
opsi juga tidak dibutuhkan. Itu tidak melakukan apa pun dalam mode ekstrak atau daftar.-z
Itu benar-benar kasus dengan GNU tar - apakah Anda tahu apakah ini benar di tempat lain (BSD, dll.)?tar.gz
? Ada informasi dukungan?Anda mungkin dapat menggunakan opsi gzip -t untuk menguji integritas file
http://linux.about.com/od/commands/l/blcmdl1_gzip.htm
dari: http://unix.ittoolbox.com/groups/technical-functional/shellscript-l/how-to-test-file-integrity-of-targz-1138880
Untuk menguji file gzip tidak rusak:
Untuk menguji file tar di dalamnya tidak rusak:
Sebagai bagian dari pencadangan, Anda mungkin dapat menjalankan perintah terakhir dan memeriksa nilai $? setelah itu untuk nilai 0 (berhasil). Jika tar atau gzip bermasalah, $? akan memiliki nilai bukan nol.
sumber
bzip2 -t file.bz2
untuk file bz2.tar -t > /dev/null
(catatan:t
vs-t
)?Jika Anda ingin melakukan uji coba ekstrak file tar tanpa mengekstrak ke disk, gunakan opsi -O. Ini memuntahkan ekstrak ke keluaran standar, bukan ke sistem berkas. Jika file tar rusak, proses akan dibatalkan dengan kesalahan.
Contoh tes bola tar yang gagal ...
Contoh Kerja ...
sumber
> /dev/null
contoh kerja juga.Anda juga dapat memeriksa konten file * .tag.gz menggunakan
pigz
(parallel gzip) untuk mempercepat pemeriksaan arsip:sumber
Saya telah mencoba perintah berikut dan mereka bekerja dengan baik.
Namun, kami dapat menemukan dua perintah ini memakan waktu. Mungkin kita membutuhkan cara yang lebih cepat untuk menentukan utuh dari file kompres.
sumber
Pilihan yang bagus adalah menggunakan
tar -tvvf <filePath>
yang menambahkan baris yang melaporkan jenis file.Contoh dalam file .tar yang valid:
File .tar rusak:
sumber
Ini semua adalah solusi yang sangat kurang optimal. Dari spesifikasi GZIP
Harus dikodekan ke dalam bahasa apa pun yang Anda gunakan.
sumber
Terkadang ya, terkadang tidak. Mari kita lihat contoh file yang rusak:
Itu menunjukkan:
Bahkan jika Anda mengeksekusi
tar mengatakan bahwa tidak ada kesalahan:
tetapi file tersebut rusak, sekarang menjadi "Bodoh" bukan "Pete".
sumber