Linux'ta .tar.gz veya .tar.bz2 Dosyasından Dosya Çıkarma
Tar dosyaları sıkıştırılmış arşivlerdir. Ubuntu gibi bir Linux dağıtımını kullanırken veya hatta macOS'ta terminali kullanırken bunlarla sık sık karşılaşacaksınız. Tarball olarak da bilinen bir tar dosyasının içeriğini nasıl ayıklayacağınız veya kaldıracağınız aşağıda açıklanmıştır.
.Tar.gz ve .tar.bz2 Ne Anlama Geliyor?
Bir .tar.gz
veya .tar.bz2
uzantıya sahip dosyalar sıkıştırılmış arşiv dosyalarıdır. Yalnızca bir .tar
uzantıya sahip bir dosya sıkıştırılmamıştır, ancak bunlar çok nadir olacaktır.
.tar
Dosya uzantısının kısmı açılımı t maymun ar chive ve bu dosya türlerinin her ikisi katran dosyaları dendiğini nedenidir. Tar dosyaları tar
, sistem yöneticilerinin dosyaları teybe arşivlemesine izin vermek için komutun oluşturulduğu 1979 yılına kadar uzanır . Kırk yıl sonra hala tar
tar dosyalarını sabit disklerimize çıkarmak için bu komutu kullanıyoruz. Muhtemelen bir yerlerde birileri hala tar
kaset kullanıyor .
.gz
Veya .bz2
uzatma eki arşivi kullanılarak, ya sıkıştırılmış olduğunu gösterir gzip
veya bzip2
sıkıştırma algoritması. tar
Kullanıldığı-edildi ve bir Bash kabuğu vardır her yerde kullanılabilir olması gereken sıkıştırma yöntemi fark etmez, böylece komut, dosyanın her iki tür ile mutlu bir çalışacaktır. Sadece uygun tar
komut satırı seçeneklerini kullanmanız gerekir .
Tar Dosyalarından Dosyaları Çıkarma
Diyelim ki iki müzik notası dosyası indirdiniz. Bir dosya çağrılır ukulele_songs.tar.gz
, diğeri denir guitar_songs.tar.bz2
. Bu dosyalar İndirilenler dizinindedir.
Ukulele şarkılarını çıkaralım:
tar -xvzf ukulele_songs.tar.gz
Dosyalar çıkarıldıkça terminal penceresinde listelenirler.
Kullandığımız komut satırı seçenekleri şunlardır:
- -x : Dosyaları tar dosyasından ayıklayın, alın.
- -v : Ayrıntılı, dosyaları çıkarılırken listeleyin.
- -z : Gzip, tar dosyasını açmak için gzip kullanın.
- -f : Dosya,
tar
çalışmak istediğimiz tar dosyasının adı . Bu seçeneğin ardından tar dosyasının adı gelmelidir.
Dizindeki dosyaları ile listeleyin ve ls
Ukulele Şarkıları adlı bir dizinin oluşturulduğunu göreceksiniz. Çıkarılan dosyalar bu dizindedir. Bu rehber nereden geldi? Bu yer aldığını tar
dosyası ve dosyalarıyla birlikte ekstre edildi.
Şimdi gitar şarkılarını çıkaralım. Bunu yapmak için öncekiyle hemen hemen aynı komutu kullanacağız, ancak önemli bir farkla. .bz2
Uzatma eki o bzip2 komutunu kullanarak sıkıştırılmış olmuştur söyler. Bunun yerine kullanmanın -z
(gzip) seçeneğini, biz kullanacağız -j
(bzip2) seçeneğini.
tar -xvjf guitar_songs.tar.bz2
Bir kez daha, dosyalar çıkarılırken terminale listelenir. Açık olmak gerekirse tar
, .tar.bz2
dosya için kullandığımız komut satırı seçenekleri şunlardı:
- -x : Dosyaları tar dosyasından çıkartın, geri alın.
- -v : Ayrıntılı, dosyaları çıkarılırken listeleyin.
- -j : Bzip2, tar dosyasını açmak için bzip2'yi kullanın.
- -f : Dosya, tar ile çalışmak istediğimiz tar dosyasının adı.
Dosyaları İndirme dizininde listelersek, Gitar Şarkıları adlı başka bir dizinin oluşturulduğunu göreceğiz.
Dosyaların Nereye Çıkarılacağını Seçme
Dosyaları mevcut dizinden farklı bir konuma çıkarmak istiyorsak, -C
(belirtilen dizin) seçeneğini kullanarak bir hedef dizin belirleyebiliriz .
tar -xvjf guitar_songs.tar.gz -C ~ / Belgeler / Şarkılar /
Belgeler / Şarkılar dizinimize baktığımızda Gitar Şarkıları dizininin oluşturulduğunu göreceğiz.
Hedef dizinin zaten mevcut olması gerektiğini, tar
yoksa onu oluşturmayacağını unutmayın. Bir dizin oluşturmanız ve tar
dosyaları tek bir komutla içine çıkarmanız gerekiyorsa, bunu aşağıdaki gibi yapabilirsiniz:
mkdir -p ~ / Belgeler / Şarkılar / İndirilen && tar -xvjf guitar_songs.tar.gz -C ~ / Belgeler / Şarkılar / İndirilen /
-p
(Veliler) seçeneği neden mkdir
hedef dizin oluşturulur sağlanması gereklidir herhangi bir ana dizinleri oluşturun.
Tar Dosyalarını Çıkarmadan Önce İçine Bakmak
Şimdiye kadar az önce bir inanç sıçraması yaptık ve görünmeyen dosyaları çıkardık. Atlamadan önce bakmak isteyebilirsiniz. (Liste) seçeneğini tar
kullanarak bir dosyanın içeriğini çıkarmadan önce gözden geçirebilirsiniz -t
. Çıktıyı less
komut aracılığıyla yönlendirmek genellikle uygundur .
tar -tf ukulele_songs.tar.gz | az
-z
Dosyaları listeleme seçeneğini kullanmamız gerekmediğine dikkat edin . Biz sadece eklemeniz gerekir -z
biz ediyoruz seçeneği ayıklanması bir dosya .tar.gz
dosyası. Aynı şekilde, -j
dosyaları bir tar.bz2
dosyada listeleme seçeneğine ihtiyacımız yok .
Çıktıya baktığımızda, tar dosyasındaki her şeyin Ukulele Şarkıları adlı bir dizinde tutulduğunu görebiliriz ve bu dizin içinde dosyalar ve diğer dizinler vardır.
Ukulele Şarkıları dizininin Rastgele Şarkılar, Ramonlar ve Olasılıklar adlı dizinler içerdiğini görebiliriz.
Tüm dosyaları bir tar dosyası içindeki bir dizinden çıkarmak için aşağıdaki komutu kullanın. Yolda boşluklar olduğundan, yolun tırnak işaretleri içine alındığına dikkat edin.
tar -xvzf ukulele_songs.tar.gz "Ukulele Şarkıları / Ramones /"
Tek bir dosyayı çıkarmak için dosyanın yolunu ve adını belirtin.
tar -xvzf ukulele_songs.tar.gz "Ukulele Şarkıları / 023 - My Babe.odt"
*
Herhangi bir karakter dizesini ve ?
herhangi bir tek karakteri temsil eden joker karakterleri kullanarak bir dizi dosya ayıklayabilirsiniz . Joker karakterlerin kullanılması, --wildcards
seçeneğin kullanılmasını gerektirir .
tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Şarkıları / Olasılıkları / B *"
Dizinleri Ayıklamadan Dosyaları Ayıklama
Tar dosyasındaki dizin yapısının sabit sürücünüzde yeniden oluşturulmasını istemiyorsanız, --strip-components
seçeneği kullanın. --strip-components
Seçenek sayısal parametre gerekir. Sayı, kaç dizin düzeyinin yoksayılacağını temsil eder. Göz ardı edilen dizinlerdeki dosyalar hala çıkarılır, ancak dizin yapısı sabit sürücünüzde kopyalanmaz.
--strip-components=1
Örnek tar dosyamızla belirtirsek tar dosyasında en üstteki Ukulele Şarkıları dizini sabit sürücüde oluşturulmaz. Bu dizine çıkartılacak dosyalar ve dizinler hedef dizinde çıkarılır.
tar -xvzf ukulele_songs.tar.gz --şerit-bileşenleri = 1
Örnek tar dosyamızda yalnızca iki dizin iç içe geçme düzeyi vardır. Yani kullanırsak --strip-components=2
, tüm dosyalar hedef dizinde çıkarılır ve başka hiçbir dizin oluşturulmaz.
tar -xvzf ukulele_songs.tar.gz --strip-components = 2
Linux kılavuz sayfasına bakarsanız, bunun tar
"en çok komut satırı seçeneğine sahip komut" unvanı için iyi bir aday olması gerektiğini göreceksiniz . Neyse ki, dosyaları .tar.gz
ve tar.bz2
dosyalardan iyi derecede ayrıntılı denetimle ayıklamamıza izin vermek için , bu seçeneklerden yalnızca bir kısmını hatırlamamız gerekiyor.