ZIP dosyaları, Windows, macOS ve hatta Linux sistemlerinde yaygın olarak kullanılan evrensel bir arşivdir. Bazı yaygın Linux terminal komutları ile bir zip arşivi oluşturabilir veya birinden dosyaları açabilirsiniz.
ZIP Sıkıştırılmış Arşiv Dosya Biçimi
Windows alanındaki ZIP biçiminin 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 ZIP biçiminde bir arşiv gönderir. Bazı dosyaları arşivlemek ve bir Windows kullanıcısına göndermek istiyorsanız, ZIP biçimi herkes için en kolay ve en uyumlu çözüm olacaktır.
İLİŞKİLİ: Linux'ta bir .tar.gz veya .tar.bz2 Dosyasından Dosyaları Ayıklama
zip, unzip ve Diğer Yardımcı Programlar
Linux ve macOS gibi Unix benzeri işletim sistemlerinin ZIP dosyaları oluşturmanıza ve bunlardan dosya çıkarmanıza izin veren araçlara sahip olduğunu zaten biliyor olabilirsiniz. zip
ve unzip
. Ancak, aşağıdakiler gibi ilgili tüm yardımcı programlar ailesi vardır: zipcloak
, zipdetails
, zipsplit
, ve zipinfo
.
Bazı Linux dağıtımlarını, bu yardımcı programları standart yüklemeye dahil edip etmediklerini kontrol ettik. Tüm yardımcı programlar Ubuntu 19.04, 18.10 ve 18.04'te mevcuttu. Ayrıca Manjaro 18.04'te de mevcutlardı. Fedora 29 dahil zip
ve unzip
, ancak diğer yardımcı programların hiçbiri ve CentOS için de durum böyle değildi.
Eksik öğeleri Fedora 29'a yüklemek için aşağıdaki komutu kullanın:
sudo dnf install perl-IO-Compress
Eksik öğeleri CentOS 7'ye yüklemek için aşağıdaki komutu kullanın:
sudo yum install perl-IO-Compress
Zip yardımcı programlarından herhangi biri yukarıda belirtilmeyen bir Linux dağıtımında yoksa, gerekli paketi yüklemek için bu 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 şunu söylemeniz gerekir: zip
arşiv dosyasının adı ve içine eklenecek dosyalar. Arşiv adına “.zip” uzantısını eklemenize gerek yoktur, ancak yaparsanız zarar vermez.
Adlı bir dosya oluşturmak için source_code.zip
geçerli dizindeki tüm C kaynak kodu dosyalarını ve başlık dosyalarını içeren bu komutu kullanırsınız:
zip source_code *.c *.h
Her dosya eklendiği gibi listelenir. Dosyanın adı ve bu dosyada gerçekleştirilen 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 source_code.zip
Çıktısını görmek istemiyorsanız zip
ZIP dosyası oluşturulurken, -q
(sessiz) seçeneği.
zip -q source_code *.c *.h
ZIP Dosyalarına Dizin Ekleme
ZIP dosyasına alt dizinler eklemek için -r
(özyinelemeli) seçeneğini belirleyin ve komut satırına alt dizinin adını ekleyin. Daha önce olduğu gibi bir ZIP dosyası oluşturmak ve ayrıca arşiv alt dizinini eklemek için bu komutu kullanın.
zip -r -q source_code archive/ *.c *.h
Oluşturduğunuz ZIP dosyasından dosyaları ayıklayacak kişiye dikkat etmek için, içinde bir dizinde bulunan dosyalarla ZIP dosyaları oluşturmak genellikle kibar olur. ZIP dosyasını alan kişi dosyayı çıkardığında, tüm dosyalar bilgisayarlarındaki bir dizine düzgün bir şekilde yerleştirilir.
Aşağıdaki komutta, work
dizin ve tüm alt dizinler. Bu komutun Ana Dizin … work
Klasör.
zip -r -q source_code work/
Sıkıştırma Seviyesini Ayarlama
ZIP arşivine eklendikçe, dosyalara ne kadar sıkıştırma uygulanacağını ayarlayabilirsiniz. Aralık 0 ila 9 arasındadır, 0 hiç sıkıştırma değildir. Sıkıştırma ne kadar yüksek olursa ZIP dosyası oluşturmak o kadar uzun sürer. Orta büyüklükte ZIP dosyaları için, zaman farkı önemli bir ceza değildir. Ancak, mütevazı boyutta ZIP dosyaları için, varsayılan sıkıştırma (seviye 6) muhtemelen yeterince iyidir.
Almak zip
belirli bir sıkıştırma düzeyini kullanmak için, sayıyı komut satırında seçenek olarak “-” ile aşağıdaki gibi iletin:
zip -0 -r -q source_code work/
Varsayılan sıkıştırma seviyesi 6'dır. -6
seçeneğini, ancak yaparsanız zarar vermez.
zip -r -q source_code work/
Maksimum sıkıştırma seviyesi seviye 9'dur.
zip -9 -r -q source_code work/
Burada arşivlenen dosya ve dizinlerin seçimiyle, sıkıştırma yok (seviye 0) ile varsayılan sıkıştırma (seviye 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.
Çok fazla görünmeyebilir, ancak yüzlerce, hatta binlerce dosya içeren arşivler için, dosya başına az miktarda ekstra sıkıştırma, yerden tasarruf etmenizi sağlayabilir.
ZIP Dosyalarına Parola Ekleme
ZIP dosyalarına şifre eklemek kolaydır. Kullan -e
(şifreleme) seçeneğini seçtiğinizde şifrenizi girmeniz ve doğrulama için yeniden girmeniz istenir.
zip -e -r -q source_code work/
Bir ZIP Dosyasını unzip Komutuyla Açma
Dosyaları bir ZIP dosyasından ayıklamak için, unzip komutunu kullanın ve ZIP dosyasının adını girin. Unutmayın yapmak “.zip” uzantısını sağlamanız gerekir.
unzip source_code.zip
Dosyalar çıkarılırken terminal penceresine listelenir.
ZIP dosyaları, dosya sahipliğinin ayrıntılarını taşımaz. Çıkarılan tüm dosyaların sahibi, onları ayıklayan kullanıcıya ayarlanmıştır.
Tıpkı zip
, unzip
var -q
(sessiz) seçeneği ile dosyalar çıkarılırken dosya listesini görmenize gerek kalmaz.
unzip -q source_code.zip
Hedef Dizine Dosya Çıkarma
Belirli bir dizinde dosyaların ayıklanması için, -d
(dizin) seçeneğini belirleyin ve arşivin çıkarılmasını istediğiniz dizinin yolunu belirtin.
unzip -q source_code.zip -d ./development
Şifre Korumalı ZIP Dosyalarını Çıkarın
Parola ile bir ZIP dosyası oluşturulduysa, unzip
sizden şifreyi soracaktır. Doğru şifreyi girmezseniz, unzip
dosyaları ayıklamaz.
unzip -q source_code.zip
Parolanızın başkaları tarafından görülmesini veya komut geçmişinizde saklanmasını umursamıyorsanız, parolayı komut satırında -P
(şifre) seçeneğini seçin. (Büyük bir “P.” harfi kullanmalısınız)
unzip -P fifty.treacle.cutlass -q source_code.zip
Dosyaları Hariç Tutma
Belirli bir dosyayı veya dosya grubunu çıkarmak istemiyorsanız, -x
(hariç tut) seçeneğini tıklayın. Bu örnekte, “.h” uzantısıyla bitenlerin dışındaki tüm dosyaları ayıklamak istiyoruz.
unzip -q source_code.zip -x *.h
Dosyaların Üzerine Yazma
Bir arşivi çıkardığınızı ancak ayıklanan dosyaların birkaçını yanlışlıkla sildiğinizi varsayalım.
Bunun için hızlı bir düzeltme dosyaları bir kez daha ayıklamak olacaktır. Ancak ZIP dosyasını daha önce olduğu gibi aynı dizinde ayıklamaya çalışırsanız, unzip
dosyaların üzerine yazma ile ilgili bir karar vermenizi isteyecektir. Aşağıdaki yanıtlardan birini bekler.
Dışında r
(yeniden adlandır) yanıtı varsa, bu yanıtlar büyük / küçük harfe duyarlıdır.
- y: Evet, bu dosyanın üzerine yaz
- n: Hayır, bu dosyanın üzerine yazma
- A: Tümü, tüm dosyaların üzerine yaz
- K: Hiçbiri, dosyaların hiçbirinin üzerine yaz
- r: Yeniden adlandırın, bu dosyayı ayıklayın ancak yeni bir ad verin. Yeni bir ad girmeniz istenir.
Zorlamak unzip
varolan dosyaların üzerine yazmak için -o
(üzerine yazma) seçeneği.
unzip -o -q source_code.zip
Eksik dosyaları değiştirmenin en etkili yolu, unzip
arşivdeki tüm dosyaları yalnızca değil hedef dizinde. Bunu yapmak için, -n
(asla üzerine yazma) seçeneğini kullanmayın.
unzip -n source_code.zip
ZIP Dosyasının İçine Bakma
Bir ZIP dosyasının içindeki dosyaları çıkarmadan önce görmek genellikle yararlı ve öğreticidir. Bunu ile yapabilirsiniz -l
(liste arşivi) seçeneği. Borulu less
çıktıyı yönetilebilir yapmak için.
unzip -l source_code.zip | less
Çıktı ZIP dosyasındaki dizinleri ve dosyaları, uzunluklarını ve arşive eklendikleri saat ve tarihi gösterir. Çıkmak için “q” ya basın less
.
Göreceğimiz gibi, farklı türdeki bilgileri veren bir ZIP dosyasının içine bakmanın başka yolları da vardır.
Zipcloak Komutuyla Parola Ekleme
Bir ZIP dosyası oluşturduysanız ancak bir şifre eklemeyi unuttuysanız ne yapabilirsiniz? Hızlı bir şekilde kullanarak ZIP dosyasına bir şifre ekleyebilirsiniz zipcloak
Komut. ZIP dosyasının adını komut satırına iletin. Bir parola girmeniz istenir. Şifreyi ikinci kez girerek doğrulamanız gerekir.
zipcloak source_code.zip
Zipdetails Komutu ile Dosya Ayrıntılarını Görüntüleme
zipdetails
komutu size bir çok ZIP dosyası ile ilgili bilgi. Bu komutun verebileceği çıktı miktarını işlemenin tek mantıklı yolu, less
.
zipdetails source_code.zip | less
ZIP dosyası parola korumalı olsa bile bilgilerin dosya adları 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 Komutuyla Dosyanın İçinde Ara
zipgrep
komutu aramanıza izin verir dosyaların içinde bir ZIP dosyasında. 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
Dosyaların slang.c
ve getval.c
“keyval.h” dizesini içerir. Ayrıca ZIP dosyasındaki farklı dizinlerde bu dosyaların her birinin iki kopyası olduğunu görebiliriz.
Zipinfo Komutu ile Bilgileri Görüntüleme
zipinfo
command size bir ZIP dosyasının içine bakmanın başka bir yolunu sunar. Daha önce olduğu gibi, çıkışı less
.
zipinfo source_code.zip | less
Soldan sağa çıktı şunları 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 metni veya ikili dosyayı belirtmek için bir “t” veya “b” olacaktır. Büyük harfse, dosya şifrelenir. İkinci karakter dört karakterden biri olabilir. Bu karakter, bu dosya için ne tür meta veri içerdiğini gösterir: yok, genişletilmiş yerel üstbilgi, “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 boyut kısıtlamaları veya dosyanın iletilmesiyle ilgili sorunlar varsa, zipsplit
orijinal ZIP dosyasını daha küçük ZIP dosyalarına bölme komutu.
-n
(size) seçeneği, yeni ZIP dosyalarının her biri için bir maksimum boyut belirlemenize olanak tanır. Bu örnekte, source_code.zip
dosya. Yeni ZIP dosyalarının hiçbirinin 100 KB'tan (102400 bayt) daha büyük olmasını istemiyoruz.
zipsplit -n 102400 source_code.zip
Seçtiğiniz boyut ZIP dosyasındaki dosyaların boyutundan küçük olamaz.
Bu komutları kullanarak kendi ZIP dosyalarınızı oluşturabilir, aldığınız ZIP dosyalarının sıkıştırmasını açabilir ve Linux terminalinden ayrılmadan üzerinde çeşitli işlemler yapabilirsiniz.