13.1 C
New York
Saturday, October 1, 2022
Array

Linux’ta Gzip ile dosyalar nasıl sıkıştırılır ve açılır

fatmawati achmad zaenuri / Shutterstock.com

Birçok dosya sıkıştırma aracı vardır, ancak bunları her Linux dağıtımında bulmanız garantidir. gzip. Yalnızca bir sıkıştırma aracı kullanmayı öğreniyorsanız, bu bir zorunluluktur. gzip .

İLİŞKİLİ: Dosya sıkıştırma nasıl çalışır?

Algoritmalar ve ağaçlar

bu gzip Veri sıkıştırma aracı 1990'ların başında yazılmıştır ve hala her Linux dağıtımında bulunmaktadır. Kullanılabilecek başka sıkıştırma araçları da var, ancak hangi Linux bilgisayarda çalışmanız gerektiğine bakılmaksızın bir tane bulabilirsiniz. gzip üzerinde. Yani kullanmayı biliyorsan gziphiçbir şey yüklemeye gerek kalmadan gitmek daha iyidir.

gzip icat edilmiş DEFLATE algoritmasının uygulaması—ve patentli– tarafından Phil Katz ile ilgili PKZIP Şöhret. DEFLATE algoritması, tümü konunun varyasyonları üzerinde çalışan önceki sıkıştırma algoritmalarına göre geliştirilmiştir. Sıkıştırılacak veriler taranır ve benzersiz satırlar belirlenir ve ikili ağaca eklenir.

Benzersiz çizgiler, benzersiz kimlik işaretini ayırır ağaçtaki pozisyon. Belirteçler, verilerdeki satırları değiştirmek için kullanılır ve belirteçler değiştirdikleri verilerden daha küçük olduğu için dosya sıkıştırılır. Orijinal satırlar için belirteçlerin değiştirilmesi, sıkıştırılmamış verileri döndürür.

DEFLATE algoritması, en küçük karakterlerin en yaygın satırlara ve daha büyük karakterlerin en az ortak satırlara atandığı bir sır ekledi. DEFLATE algoritması ayrıca önceki iki sıkıştırma yönteminden gelen fikirleri birleştirir, Huffman kodlaması ve LZ77 sıkıştırma.

Yazma sırasında, DEFLATE algoritması yaklaşık otuz yıllıktır. Otuz yıl önce, veri depolama maliyetleri yüksekti ve iletim hızları yavaştı. Veri sıkıştırma hayati önem taşıyordu.

Veri depolama bugün daha ucuz ve iletim hızları daha hızlı. Ancak depolayacak daha fazla bilgiye sahibiz ve dünyanın her yerinden insanlar bulut depolama ve akış hizmetlerine erişiyor. Veri sıkıştırma hala devam ediyor hayati önemli, yaptığınız her şey indirmeniz veya aktarmanız gerekenleri daraltıyor olsa veya yerel sabit sürücünüzde biraz yer kaplamaya çalışsanız bile.

gzip komutu

Dosya ne kadar büyük olursa, sıkıştırma o kadar iyi olur. Bunun iki nedeni var. İlk olarak, büyük bir dosyada birçok tekrarlayan, özdeş bayt dizisi olacaktır. İkinci neden, açma işleminin gerçekleşmesi için satır ve belirteç listesinin sıkıştırılmış bir dosyada saklanması gerektiğidir. Çok küçük bir dosya ile sıkıştırmanın faydalarını silebilirsiniz. Ancak dosya yeterince küçük olsa bile boyutta hafif bir küçülme olabilir.

Dosya Sıkıştırması

Dosyayı sıkıştırmak için tek yapmanız gereken dosya adını dosyaya aktarmaktır. gzip emretmek. Dosyanın orijinal boyutunu kontrol edeceğiz, sıkıştıracağız ve ardından sıkıştırılmış dosyanın boyutunu kontrol edeceğiz.

ls -lh calc-sheet.ods
gzip calc-sheet.ods
ls -lh cal-*

E-tablo sıkıştırma

Calc-sheet.ods adlı bir elektronik tablo olan orijinal dosya 11 KB'dir ve arşiv dosyası olarak bilinen sıkıştırılmış dosya 9.3 KB'dir. Arşiv dosyasının adının, “.gz” eklenmiş orijinal dosyanın adı olduğuna dikkat edin.

İlk kullanım ls Komut, özel bir dosyayı, bir elektronik tabloyu hedefler. İkinci kullanım ls “Calc-” ile başlayan tüm dosyaları arar, ancak yalnızca sıkıştırılmış dosyayı bulur. Bunun nedeni, varsayılan olarak, gzip bir arşiv dosyası oluşturur ve orijinal dosyayı siler.

Bu bir sorun değil. Orijinal dosyaya ihtiyacınız varsa, onu arşiv dosyasından alabilirsiniz. Ancak orijinal dosyayı kaydetmek istiyorsanız, onu kullanabilirsiniz. -k (kaydet) seçeneği.

gzip -k calc-sheet.ods
ls -lh calc-sheet.*

Dosyayı sıkıştırın ve orijinal dosyayı kaydedin

Bu sefer orijinal ODS dosyası kaydedilir.

Dosyayı aç

GZ arşiv dosyasını açmak için kullanın -d (dekompresyon) seçeneği. Bu, sıkıştırılmış dosyayı arşivden çıkaracak ve orijinal dosyadan ayırt edilemeyecek şekilde açacaktır.

ls calc-sheet.*
gzip -d calc-sheet.ods.gz
ls calc-sheet.*

Dosyayı gzip ile açın

Bu sefer görebiliriz gzip orijinal dosyayı çıkardıktan sonra arşiv dosyasını sildi. Arşiv dosyasını kaydetmek için kullanmalıyız -k (kaydet) seçeneği de tekrar -d (dekompresyon) seçeneği.

ls calc-sheet.*
gzip -d calc-sheet.ods.gz
ls calc-sheet.*

Dosyayı açın ve arşiv dosyasını kaydedin

Bu sefer gzip arşiv dosyasını silmez.

İLİŞKİLİ: Silinen dosyaları neden kurtarabilirsiniz ve nasıl önleyebilirsiniz?

Sıkıştırmayı aç ve üzerine yaz

Orijinal dosyanın veya aynı dosyanın bulunduğu bir klasörden bir dosya çıkarmaya çalışırsanız, gzip ayıklamayı devre dışı bırakmanızı veya mevcut dosyanın üzerine yazmanızı isteyecektir.

gzip -d text-file.txt.gz

Arşivdeki dosya zaten dizindeyse, sorguya gzip yazın

Arşivdeki dosyanın klasördeki dosyanın üzerine yazdığını zaten biliyorsanız, -f (zorla) seçeneğini kullanın.

gzip -df text-file.txt.gz

Mevcut bir dosyanın üzerine yazmaya zorla

Dosyanın üzerine yazar ve sessizce komut satırına dönersiniz.

Katalog ağaçlarının sıkıştırılması

bu -r (özyinelemeli) değişken nedenler gzip tüm dizin ağacındaki dosyaları sıkıştırmak için. Ancak sonuç beklediğiniz gibi olmayabilir.

Bu, bu örnekte kullanacağımız dizin ağacıdır. Her dizinin bir metin dosyası vardır.

tree level1

Katalog ağaç yapısını test edin

hadi kullanalım gzip dizin ağacında ve ne olduğunu görün.

gzip -r level1/
tree level1

Üzerinde gzip çalıştırıldıktan sonra katalog yapısı

Sonuç aşağıdaki gibidir gzip dizin yapısındaki her metin dosyası için bir arşiv dosyası oluşturdu. Tüm katalog ağacının bir arşivini oluşturmadı. Doğrusu, gzip arşive yalnızca bir dosya yerleştirebilir.

Dizin ağacını ve tüm dosyalarını içeren bir arşiv dosyası oluşturabiliriz, ancak başka bir komut çalıştırmamız gerekiyor. bu tar Program, birçok dosyadan oluşan bir arşiv oluşturmak için kullanılır, ancak kendi sıkıştırma modlarına sahip değildir. Ancak uygun seçenekleri kullanarak tarneden olabilir tar arşiv dosyasını itmek için gzip. Böylece sıkıştırılmış bir arşiv dosyası ve çok dosyalı veya çok klasörlü bir arşiv elde ederiz.

tar -czvf level1.tar.gz level1

bu tar Seçenekler şunlardır:

  • c: Bir arşiv oluşturun.
  • z: Dosyaları itin gzip.
  • v: Ayrıntılı mod. Terminal penceresinde ne yazdırılır tar kadar.
  • f level1.tar.gz: Arşiv dosyası için kullanılacak dosya adı.

Tardan çıkış, dizin ağacından geçer

Dizin ağacının yapısını ve dizin ağacındaki tüm dosyaları arşivler.

İLİŞKİLİ: Linux'ta tar komutunu kullanarak dosyalar nasıl sıkıştırılır ve çıkarılır

Arşivler hakkında bilgi edinin

bu -l (Liste) seçeneği, arşiv dosyası hakkında bazı bilgiler sağlar. Bu size arşivdeki dosyanın sıkıştırılmış ve sıkıştırılmamış boyutlarını, sıkıştırma oranını ve dosya adını gösterir.

gzip -l leve1.tar.gz
gzip -l text-file.txt.gz

Arşiv için sıkıştırma istatistiklerini görmek için -l liste seçeneğini kullanın

Arşiv dosyasının bütünlüğünü kontrol edebilirsiniz. -t (test) seçeneği.

gzip -t level1.tar.gz

Arşivi -t seçeneğiyle test edin

Her şey yolundaysa, sessizce komut satırına dönersiniz. Hiçbir haber iyi haber değildir.

Arşiv hasarlı veya hasarlı ise tarafınıza bilgi verilecektir.

gzip -t not-an-archive.gz

Arşivlenmemiş bir dosyayı kontrol etmek için -t seçeneğini kullanın

Sıkıştırmaya karşı hız

Arşivin oluşturulma hızına veya sıkıştırma oranına öncelik verebilirsiniz. Bunu, bir seçenek olarak bir numara sağlayarak yaparsınız. -1 üstten -9. bu -1 Seçim, sıkıştırma kurbanında en yüksek hızı verir ve -9 hız kurbanında en yüksek sıkıştırmayı verir.

Bu seçeneklerden birini sağlamazsanız, gzip kullanın. -6.

gzip -1 calc-sheet.ods
ls -lh calc-sheet.ods.gz
gzip -9 calc-sheet.ods
ls -lh calc-sheet.ods.gz
gzip -6 calc-sheet.ods
ls -lh calc-sheet.ods.gz

Hız ve sıkıştırma için gzip'i farklı önceliklere sahip kullanın

Bu kadar küçük bir dosya ile yürütme hızında önemli bir fark görmedik, ancak sıkıştırmada küçük bir fark vardı.

İlginç bir şekilde, seviye 9 sıkıştırma kullanımı ile seviye 6 sıkıştırma kullanımı arasında hiçbir fark yoktur. Herhangi bir dosyadan ancak bu kadar sıkıştırma yapabilirsiniz ve bu durumda sıkıştırma seviyesi 6 ile bu seviyeye ulaşılmıştır. 9'a getirmek dosya boyutunu daha da küçültmedi. Daha büyük dosyalarla, Düzey 6 ve Düzey 9 arasındaki fark daha belirgin olacaktır.

Sıkıştırılmış, Korumasız

Sıkıştırmayı şifreleme veya herhangi bir koruma biçimiyle karıştırmayın. Dosyayı sıkıştırmak, dosyaya herhangi bir güvenlik veya gelişmiş gizlilik sağlamaz. Dosyanıza erişimi olan herkes onu kullanabilir gzip açmak için.

İLİŞKİLİ: Linux'taki en büyük 10 dosya veya klasörü listeleyin

Tienhttps://tumsozluk.com
I am a web developer who is working as a freelancer.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

13 − nine =

Stay Connected

0FansLike
42FollowersFollow
0SubscribersSubscribe
- Advertisement -

Latest Articles