Belirli bir dosyanın sıkıştırılıp sıkıştırılmadığını belirleme


15

Linux'ta belirli bir dosyanın sıkıştırılıp sıkıştırılmadığını bir komut kullanarak nasıl öğrenebilirim?


7
"Sıkıştırılmış" tanımlayın. OGG, mp3, gz, zip, xz, rar, 7z, bz2, upx sıkıştırılmış yürütülebilir dosyalar, deb, rpm dosyaları tanımınıza göre sıkıştırılmış mı?
Stéphane Chazelas

Yanıtlar:


18

fileÖrneğin kullanmayı deneyebilirsiniz :

$ file test.sh.gz
test.sh.gz: gzip compressed data, was "test.sh", from Unix, last modified: Wed Feb  6 14:35:33 2013

Dosya sıkıştırılmış bir dosyaya sembolik bağlantıysa bu işe yarar mı?
bli

@bli no, en azından burada Ubuntu'mda değil.
Leonid

3

fileÜzerinde komutu çalıştırın . Sıkıştırılmış dosyaları ve diğer yaygın dosya biçimlerini tanımlayacaktır.

ZIP kodunun yaygın bir kapsayıcı biçimi olduğuna dikkat edin. Örneğin, EPUB ve OpenDocument dosyaları aslında belirli içeriğe sahip ZIP dosyalarıdır. Benim filesürümüm OpenDocument dosyalarını tanır - ancak sizinkine sahip değilse OpenDocument dosyanızın bir ZIP dosyası olduğunu söyleyebilir. Bu aklınızdaki sonuç olmayabilir :).

Bilgiçlikçi olmak için, muhtemelen bir OpenDocument gibi "bu dosya sıkıştırılmış mı?", Hatta PNG veya JPEG olarak sıkıştırılmış bir görüntü anlamına gelmez. Muhtemelen ZIP, unix tar gibi "bu dosya bir arşivdir" veya gzip gibi tek dosyalı bir arşivdir.

Ancak genellikle, Windows'ta olduğu gibi dosya uzantısına bakarsınız. .ZIP, ZIP dosyası, .gz ise gzip anlamına gelir. Linux'ta da .bz2 (bunzip2) ve .xz (xz) değerlerini göreceksiniz.


1

fileKomutu çalıştırarak bir dosyanın sıkıştırılmış biçime benzip benzemediğini belirleyebilirsiniz .

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

filebiçimi tanımıyorsa yalnızca "veri" diyecek. Ayrıca neyin sıkıştırıldığını veya neyin sıkıştırılmadığını bulmak size kalmıştır (örn. “ASCII metin”, “PPM”, “WAVE ses” sıkıştırılmamıştır; “gzip sıkıştırılmış veriler”, “JPEG görüntüsü”, “Vorbis ses” sıkıştırılmıştır) .

Bir dosyanın sıkıştırılmış görünüp görünmediğini tespit etmenin başka bir yolu da sıkıştırmaya çalışmaktır. Boyutu önemli ölçüde azaltamazsanız, dosya muhtemelen sıkıştırılmış veya şifrelenmiştir.

wc -c somefile
gzip <somefile | wc -c

0

bash dilinde

if (file yourTestFile | grep -q commpressed ) ; then
     echo "Yes, yourTestFile is compressed"
fi

1
Parantez gerekmez ve "sıkıştırılmış" yazım hatasını düzeltmek istersiniz
Jeff Schaller
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.