Dosyaları Linux Terminalinden Sıkıştırma veya Açma
ZIP dosyaları, Windows, macOS ve hatta Linux sistemlerinde yaygın olarak kullanılan evrensel bir arşivdir. Bazı yaygın Linux terminal komutlarıyla bir zip arşivi oluşturabilir veya birinden dosyaları açabilirsiniz.
ZIP Sıkıştırılmış Arşiv Dosyası Biçimi
ZIP formatının Windows dünyasındaki hakimiyeti sayesinde, ZIP dosyaları muhtemelen dünyadaki en yaygın sıkıştırılmış arşiv biçimidir.
Linux'ta .tar.gz ve tar.bz2 dosyaları yaygın olsa da, Windows kullanıcıları muhtemelen size ZIP biçiminde bir arşiv gönderecektir. Ve bazı dosyaları arşivlemek ve bir Windows kullanıcısına göndermek istiyorsanız, ZIP formatı herkes için en kolay ve en uyumlu çözüm olacaktır.
İLGİLİ: Linux'ta .tar.gz veya .tar.bz2 Dosyasından Dosyaları Çıkarma
zip, unzip ve Diğer Yardımcı Programlar
Zaten bu tür MacOS olarak Linux ve işletme Unix benzeri sistemleri, onlardan denilen ZIP dosyalarını ve özü dosyaları oluşturmak için izin araçlara sahip olduğunu biliyor olabilir zip
ve unzip
. Ama böyle gibi ilgili araçlardan bir bütün aile var zipcloak
, zipdetails
, zipsplit
ve zipinfo
.
Bazı Linux dağıtımlarını standart kuruluma bu yardımcı programları dahil edip etmediklerini kontrol ettik. Tüm yardımcı programlar Ubuntu 19.04, 18.10 ve 18.04'te mevcuttu. Manjaro 18.04'te de hazır bulundu. Fedora 29, zip
ve unzip
diğer yardımcı programların hiçbirini içermiyordu ve bu aynı zamanda CentOS için de geçerliydi.
Eksik öğeleri Fedora 29'a yüklemek için aşağıdaki komutu kullanın:
sudo dnf kur perl-IO-Sıkıştır
Eksik öğeleri CentOS 7'ye yüklemek için aşağıdaki komutu kullanın:
sudo yum install perl-IO-Compress
Yukarıda bahsedilmeyen bir Linux dağıtımında zip yardımcı programlarından herhangi biri eksikse, gerekli paketi yüklemek için o Linux dağıtımının paket yönetim aracını kullanın.
Zip Komutu ile ZIP Dosyası Nasıl Oluşturulur
Bir ZIP dosyası oluşturmak için zip
, arşiv dosyasının adını ve bu dosyaya hangi dosyaların dahil edileceğini söylemeniz gerekir. Arşiv adına “.zip” uzantısını eklemenize gerek yoktur, ancak yaparsanız herhangi bir zararı yoktur.
source_code.zip
Geçerli dizindeki tüm C kaynak kodu dosyalarını ve başlık dosyalarını içeren adlı bir dosya oluşturmak için şu komutu kullanırsınız:
zip kaynak_kodu * .c * .h
Her dosya eklendikçe listelenir. Dosyanın adı ve o dosyada elde edilen sıkıştırma miktarı gösterilir.
Yeni ZIP arşivine bakarsanız, ".zip" dosya uzantısının tarafından otomatik olarak eklendiğini görebilirsiniz zip
.
ls -l kaynak_kodu.zip
zip
ZIP dosyası oluşturulurken çıktısını görmek istemiyorsanız , -q
(sessiz) seçeneğini kullanın.
zip -q kaynak_kodu * .c * .h
Dizinleri ZIP Dosyalarına Dahil Etme
ZIP dosyasına alt dizinleri dahil etmek için, -r
(özyinelemeli) seçeneğini kullanın ve alt dizinin adını komut satırına ekleyin. Önceden olduğu gibi bir ZIP dosyası oluşturmak ve ayrıca arşiv alt dizinini dahil etmek için bu komutu kullanın.
zip -r -q kaynak_kod arşivi / * .c * .h
Oluşturmakta olduğunuz ZIP dosyasından dosyaları çıkaracak kişiye karşı düşünceli olmak için, içindeki dosyalar bir dizinde bulunan ZIP dosyaları oluşturmak genellikle kibarlıktır. ZIP dosyasını alan kişi dosyayı çıkardığında, tüm dosyalar bilgisayarındaki bir dizine düzgün bir şekilde yerleştirilir.
Aşağıdaki komutta work
dizini ve tüm alt dizinleri arşivleyeceğiz . Bu komutun klasörün üst dizininden verildiğine dikkat edin work
.
zip -r -q kaynak_kod çalışması /
Sıkıştırma Düzeyini Ayarlama
ZIP arşivine eklendiklerinde dosyalara ne kadar sıkıştırma uygulanacağını ayarlayabilirsiniz. Aralık 0 ile 9 arasındadır ve 0 hiç sıkıştırma değildir. Sıkıştırma ne kadar yüksek olursa, ZIP dosyasını oluşturmak o kadar uzun sürer. Mütevazı boyuttaki ZIP dosyaları için, zaman farkı önemli bir ceza değildir. Ancak, orta büyüklükteki ZIP dosyaları için varsayılan sıkıştırma (seviye 6) muhtemelen yeterince iyidir.
Almak için zip
“-”, sıkıştırma belirli seviyesini kullandığınız bir ile, komut satırında bir seçenek olarak numarayı geçmesine böyle:
zip -0 -r -q kaynak_kod çalışması /
Varsayılan sıkıştırma düzeyi 6'dır. -6
Seçeneği sağlamanıza gerek yoktur , ancak yaparsanız herhangi bir zararı yoktur.
zip -r -q kaynak_kod çalışması /
Maksimum sıkıştırma seviyesi 9. seviyedir.
zip -9 -r -q kaynak_kod çalışması /
Burada arşivlenen dosya ve dizinlerle, sıkıştırma yok (düzey 0) ile varsayılan sıkıştırma (düzey 6) arasındaki fark 400K'dır. Varsayılan sıkıştırma ile en yüksek sıkıştırma düzeyi (düzey 9) arasındaki fark yalnızca 4K'dır.
Bu çok fazla görünmeyebilir, ancak yüzlerce hatta binlerce dosya içeren arşivler için, dosya başına az miktardaki fazladan sıkıştırma, önemli bir yerden tasarruf sağlar.
ZIP Dosyalarına Parola Ekleme
ZIP dosyalarına şifre eklemek kolaydır. -e
(Şifrele) seçeneğini kullanın, parolanızı girmeniz ve doğrulama için yeniden girmeniz istenir.
zip -e -r -q kaynak_ kodu çalışma /
Zip Dosyasını Unzip Komutu ile Açma
Dosyaları bir ZIP dosyasından çıkarmak için unzip komutunu kullanın ve ZIP dosyasının adını girin. Not Bunu yapmak “.zip” uzantısı sağlamak için ihtiyaç.
source_code.zip dosyasını açın
Dosyalar çıkartıldıkça terminal penceresinde listelenirler.
ZIP dosyaları, dosya sahipliğinin ayrıntılarını taşımaz. Çıkarılan tüm dosyaların sahibi, onları çıkaran kullanıcıya ayarlanır.
Tıpkı zip
, unzip
bir sahip -q
dosyaların ayıklanma olarak dosya listesini görmek gerekmez böylece, (sessiz) seçeneği.
unzip -q kaynak_kodu.zip
Dosyaları Hedef Dizine Çıkarma
Dosyaları belirli bir dizine -d
çıkarmak için (dizin) seçeneğini kullanın ve arşivin çıkarılmasını istediğiniz dizine giden yolu belirtin.
unzip -q kaynak_kodu.zip -d ./development
Parola Korumalı ZIP Dosyalarını Çıkarın
Şifre ile bir ZIP dosyası oluşturulmuşsa, unzip
sizden şifreyi soracaktır. Doğru şifreyi unzip
girmezseniz, dosyalar çıkartılmaz.
unzip -q kaynak_kodu.zip
Parolanızın başkaları tarafından görülmesini veya komut geçmişinizde saklanmasını önemsemiyorsanız, parolayı komut satırında -P
(parola) seçeneğiyle sağlayabilirsiniz . (Büyük "P" kullanmalısınız)
unzip -P elli.treacle.cutlass -q kaynak_kodu.zip
Dosyaları Hariç Tutma
Belirli bir dosyayı veya dosya grubunu çıkarmak istemiyorsanız, -x
(hariç tut) seçeneğini kullanın. Bu örnekte, ".h" uzantısıyla bitenlerin dışındaki tüm dosyaları çıkarmak istiyoruz.
unzip -q kaynak_kodu.zip -x * .h
Dosyaların Üzerine Yazma
Bir arşiv çıkardığınızı, ancak çıkarılan dosyalardan birkaçını yanlışlıkla sildinizi varsayalım.
Bunun için hızlı bir düzeltme, dosyaları bir kez daha çıkarmak olacaktır. Ancak ZIP dosyasını daha önce olduğu gibi aynı dizine çıkarmaya çalışırsanız unzip
, dosyaların üzerine yazma konusunda bir karar vermenizi isteyecektir. Aşağıdaki yanıtlardan birini bekleyecektir.
Bunun dışında r
(adlandırma) yanıtı, bu tepkiler harf duyarlıdır.
- y: Evet, bu dosyanın üzerine yaz
- n: Hayır, bu dosyanın üzerine yazma
- A: Hepsi, tüm dosyaların üzerine yaz
- N: Yok, hiçbir dosyanın üzerine yazma
- r: Yeniden adlandırın, bu dosyayı çıkartın ama ona yeni bir isim verin. Yeni bir isim girmeniz istenecektir.
unzip
Mevcut dosyaların üzerine yazmaya zorlamak için -o
(üzerine yaz) seçeneğini kullanın.
unzip -o -q kaynak_kodu.zip
Eksik dosyaları değiştirmenin en etkili yolu, unzip
yalnızca arşivdeki hedef dizinde olmayan dosyaları ayıklamaktır . Bunu yapmak için -n
(asla üzerine yazma) seçeneğini kullanın.
unzip -n kaynak_kodu.zip
ZIP Dosyasına Bakmak
Çıkartmadan önce ZIP dosyasındaki dosyaların bir listesini görmek genellikle yararlı ve öğreticidir. Bunu -l
(arşiv listesi) seçeneği ile yapabilirsiniz. Yoluyla taşınıyor less
çıkış yönetilebilir hale getirmek için.
unzip -l kaynak_kodu.zip | az
Çıktı, ZIP dosyası içindeki dizinleri ve dosyaları, uzunluklarını ve arşive eklendikleri saat ve tarihi gösterir. Çıkmak için “q” ya basın less
.
İleride göreceğimiz gibi, farklı türde bilgiler veren bir ZIP dosyasının içine göz atmanın başka yolları da vardır.
Zipcloak Komutu ile Parola Ekleyin
Bir ZIP dosyası oluşturduysanız, ancak bir şifre eklemeyi unuttuysanız, ne yapabilirsiniz? zipcloak
Komutu kullanarak ZIP dosyasına hızlı bir şekilde şifre ekleyebilirsiniz . ZIP dosyasının adını komut satırına aktarın. Bir şifre girmeniz istenecektir. Parolayı ikinci kez girerek doğrulamanız gerekir.
zipcloak source_code.zip
Zipdetails Komutu ile Dosya Ayrıntılarını Görüntüle
zipdetails
Komut size gösterecektir çok ZIP dosyası ile ilgili bilgi. Bu komutun verebileceği çıktı miktarını işlemenin tek mantıklı yolu, onu yönlendirmektir less
.
zipdetails source_code.zip | az
ZIP dosyası parola korumalı olsa bile bilgilerin dosya adlarını içereceğini unutmayın. Bu tür bilgiler ZIP dosyasında meta veri olarak saklanır ve şifrelenmiş verilerin bir parçası değildir.
Zipgrep Komutu ile Dosyanın İçinde Ara
zipgrep
Komut arama yapmanızı sağlar dosyaları içinde bir ZIP dosyası. Aşağıdaki örnekte, ZIP dosyasındaki hangi dosyaların içinde “keyval.h” metninin bulunduğunu bilmek istiyoruz.
zipgrep keyval.h source_code.zip
Biz dosyaları görebilirsiniz slang.c
ve getval.c
.Biz de ZIP dosyası içinde farklı dizinlerde bu dosyaların her iki kopyası olduğunu görebilirsiniz dize “keyval.h” içerirler.
Zipinfo Komutu ile Bilgileri Görüntüleyin
zipinfo
Komut size bir ZIP dosyası içine bakmak için bir başka yol verir. Daha önce olduğu gibi, çıktıyı yönlendiriyoruz less
.
zipinfo source_code.zip | az
Soldan sağa çıktı şunu gösterir:
- Dosya izinleri
- ZIP dosyasını oluşturmak için kullanılan aracın sürümü
- Orijinal dosya boyutu
- Bir dosya tanımlayıcı (aşağıda açıklanmıştır)
- Sıkıştırma yöntemi (bu durumda deflasyon)
- Veri ve zaman damgası
- Dosyanın ve herhangi bir dizinin adı
Dosya tanımlayıcı iki karakterden oluşur. İlk karakter, bir metin veya ikili dosyayı belirtmek için "t" veya "b" olacaktır. Büyük harf ise dosya şifrelenir. İkinci karakter dört karakterden biri olabilir. Bu karakter, bu dosya için hangi tür meta verilerin dahil edildiğini temsil eder: yok, genişletilmiş yerel başlık, "ekstra alan" veya her ikisi.
- -: Hiçbiri yoksa, karakter bir kısa çizgi olacaktır
- l: genişletilmiş bir yerel başlık varsa ancak fazladan alan yoksa
- x: genişletilmiş yerel başlık yoksa ancak fazladan bir alan varsa
- X: genişletilmiş bir yerel başlık varsa ve fazladan bir alan varsa
Dosyayı zipsplit Komutuyla Böl
ZIP dosyasını başka birine göndermeniz gerekiyorsa ancak dosyanın aktarımında boyut kısıtlamaları veya problemleri varsa zipsplit
, orijinal ZIP dosyasını daha küçük ZIP dosyalarına bölmek için komutu kullanabilirsiniz .
-n
(Boyut) seçeneği Yeni ZIP dosyaların her biri için maksimum boyutunu ayarlamak için izin verir. Bu örnekte, source_code.zip
dosyayı bölüyoruz . Yeni ZIP dosyalarının hiçbirinin 100 KB'den (102400 bayt) büyük olmasını istemiyoruz.
zipsplit -n 102400 kaynak_kodu.zip
Seçtiğiniz boyut, ZIP dosyasındaki herhangi bir dosyanın boyutundan daha küçük olamaz.
Bu komutları kullanarak kendi ZIP dosyalarınızı oluşturabilir, aldığınız ZIP dosyalarını açabilir ve Linux terminalinden hiç çıkmadan bunlarda çeşitli diğer işlemleri gerçekleştirebilirsiniz.