Tentukan apakah file tertentu dikompresi

15

Bagaimana cara mengetahui di Linux apakah file tertentu dikompres atau tidak menggunakan perintah?

manalisha
sumber
6
Tentukan "terkompresi". Apakah file ogg, mp3, gz, zip, xz, rar, 7z, bz2, executable yang dipadatkan upx, deb, file rpm dikompresi oleh definisi Anda?
Stéphane Chazelas

Jawaban:

18

Anda dapat mencoba menggunakan file, misalnya:

$ file test.sh.gz
test.sh.gz: gzip compressed data, was "test.sh", from Unix, last modified: Wed Feb  6 14:35:33 2013
Leonid
sumber
Apakah ini berfungsi jika file tersebut merupakan symlink ke file yang dikompresi?
bli
@bli tidak, setidaknya tidak di Ubuntu saya di sini.
Leonid
2

Jalankan fileperintah di atasnya. Ini akan mengidentifikasi file terkompresi, serta format file umum lainnya.

Perhatikan bahwa ZIP adalah format wadah umum. Misalnya file EPUB dan OpenDocument sebenarnya file ZIP dengan konten tertentu. Versi saya filemengenali file OpenDocument - tetapi jika milik Anda tidak, itu mungkin mengatakan bahwa file OpenDocument Anda adalah file ZIP. Ini mungkin bukan hasil yang Anda pikirkan :).

Untuk menjadi bertele-tele, Anda mungkin tidak bermaksud "apakah file ini dikompresi", seperti OpenDocument, atau bahkan gambar yang dikompresi sebagai PNG atau JPEG. Anda mungkin bermaksud "apakah file ini arsip", seperti ZIP, unix tar, atau arsip satu file seperti gzip.

Namun biasanya, Anda hanya melihat ekstensi file, seperti pada Windows. Seperti .ZIP berarti file ZIP, .gz berarti gzip. Di Linux Anda juga akan melihat .bz2 (bunzip2) dan .xz (xz).

sourcejedi
sumber
1

Anda dapat menentukan apakah suatu file terlihat seperti format terkompresi dengan menjalankan fileperintah.

file lorem.txt lorem.txt.gz
lorem.txt:    ASCII text
lorem.txt.gz: gzip compressed data, from Unix, last modified: Thu Feb  7 02:10:44 2013, max compression

filehanya akan mengatakan "data" jika tidak mengenali format. Juga, terserah Anda untuk mencari tahu apa yang dikompresi atau tidak (misalnya "teks ASCII", "PPM", "audio WAVE" tidak terkompresi; "data terkompresi gzip", "gambar JPEG", "audio JPEG", "audio Vorbis" dikompresi) .

Cara lain untuk mendeteksi jika suatu file terlihat terkompresi adalah dengan mencoba untuk mengompresnya. Jika Anda tidak dapat mengurangi ukuran secara signifikan, file tersebut mungkin dikompresi atau dienkripsi.

wc -c somefile
gzip <somefile | wc -c
Gilles 'SO- berhenti menjadi jahat'
sumber