Linux'ta .tar.gz veya .tar.bz2 Dosyasından Dosyalar Nasıl Çıkarılır

Yayınlanan: 2022-01-29
Unity masaüstü konseptinde bash kabuğu
Fatmawati Achmad Zaenuri/Shutterstock.com

Tar dosyaları sıkıştırılmış arşivlerdir. Ubuntu gibi bir Linux dağıtımı kullanırken veya hatta macOS'ta terminal kullanırken bunlarla sık sık karşılaşacaksınız. Tarball olarak da bilinen bir tar dosyasının içeriğinin nasıl çıkarılacağı veya tar dosyasından nasıl çıkarılacağı aşağıda açıklanmıştır.

.tar.gz ve .tar.bz2 Ne Demektir?

.tar.gz veya .tar.bz2 uzantılı dosyalar sıkıştırılmış arşiv dosyalarıdır. Yalnızca .tar uzantılı bir dosya sıkıştırılmaz, ancak bunlar çok nadir olacaktır.

Dosya uzantısının .tar kısmı teyp arşivi anlamına gelir ve bu dosya türlerinin her ikisinin de tar dosyaları olarak adlandırılmasının nedeni budur. Tar dosyaları, sistem yöneticilerinin dosyaları teybe arşivlemelerine izin vermek için tar komutunun oluşturulduğu 1979 yılına kadar uzanır. Kırk yıl sonra, tar dosyalarını sabit disklerimize çıkarmak için hala tar komutunu kullanıyoruz. Bir yerlerde birileri muhtemelen hala bantla tar kullanıyor.

.gz veya .bz2 uzantısı soneki, arşivin gzip veya bzip2 sıkıştırma algoritması kullanılarak sıkıştırıldığını gösterir. tar komutu her iki dosya türüyle de mutlu bir şekilde çalışacaktır, bu nedenle hangi sıkıştırma yönteminin kullanıldığı önemli değildir ve Bash kabuğunuz olan her yerde kullanılabilir olmalıdır. Sadece uygun tar komut satırı seçeneklerini kullanmanız gerekir.

Tar Dosyalarından Dosyaları Çıkarma

İki nota dosyası indirdiğinizi varsayalım. Bir dosyanın adı ukulele_songs.tar.gz , diğerine ise guitar_songs.tar.bz2 adı verilir. Bu dosyalar İndirilenler dizinindedir.

İndirilenler dizininde iki tar dosyası

Ukulele şarkılarını çıkaralım:

 tar -xvzf ukulele_songs.tar.gz
Reklamcılık

Dosyalar ayıklanırken terminal penceresinde listelenir.

Tüm dosyaların tar dosyasından çıkarılması

Kullandığımız komut satırı seçenekleri şunlardır:

  • -x : Ayıklayın, dosyaları tar dosyasından alın.
  • -v : Ayrıntılı, dosyaları ayıklanırken listeleyin.
  • -z : Gzip, tar dosyasını açmak için gzip'i kullanın.
  • -f : Dosya, tar dosyasının çalışmasını istediğimiz tar dosyasının adı. Bu seçeneği tar dosyasının adı takip etmelidir.

Dizindeki dosyaları ls ile listeleyin ve Ukulele Songs adlı bir dizinin oluşturulduğunu göreceksiniz. Çıkarılan dosyalar bu dizindedir. Bu dizin nereden geldi? tar dosyasında bulunuyordu ve dosyalarla birlikte çıkarıldı.

İndirilenler dizininde oluşturulan Ukulele Şarkıları dizini

Şimdi gitar şarkılarını çıkaralım. Bunu yapmak için, öncekiyle neredeyse tamamen aynı komutu kullanacağız, ancak önemli bir farkla. .bz2 uzantı soneki bize, bzip2 komutu kullanılarak sıkıştırıldığını söyler. -z (gzip) seçeneğini kullanmak yerine -j (bzip2) seçeneğini kullanacağız.

 tar -xvjf gitar_songs.tar.bz2 

İndirilenler klasöründeki gitar şarkıları tar dosyasının çıkarılması

Bir kez daha, dosyalar ayıklanırken terminalde listelenir. Açık olmak gerekirse, .tar.bz2 dosyası için tar ile kullandığımız komut satırı seçenekleri şunlardı:

  • -x : Ayıklayın, dosyaları tar dosyasından alın.
  • -v : Ayrıntılı, dosyaları ayıklanırken listeleyin.
  • -j : Bzip2, tar dosyasını açmak için bzip2'yi kullanın.
  • -f : Dosya, tar dosyasının çalışmasını istediğimiz tar dosyasının adı.

Download dizinindeki dosyaları listelersek Guitar Songs adında başka bir dizinin oluşturulduğunu göreceğiz.

İndirilenler dizininde oluşturulan gitar şarkıları dizini

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 belirtebiliriz.

 tar -xvjf gitar_songs.tar.gz -C ~/Belgeler/Şarkılar/
Reklamcılık

Documents/Songs dizinimize baktığımızda Guitar Songs dizininin oluşturulduğunu göreceğiz.

Belgeler/Şarkılar dizininde oluşturulan gitar şarkıları dizini

Hedef dizinin zaten var olması gerektiğini unutmayın, mevcut değilse tar onu oluşturmaz. Bir dizin oluşturmanız ve dosyaların tümünü tek bir komutta tar ayıklamanız gerekiyorsa, bunu aşağıdaki gibi yapabilirsiniz:

 mkdir -p ~/Documents/Songs/Downloaded && tar -xvjf gitar_songs.tar.gz -C ~/Documents/Songs/Downloaded/

-p (ebeveynler) seçeneği, mkdir gerekli tüm üst dizinleri oluşturmasını sağlayarak hedef dizinin oluşturulmasını sağlar.

Çıkarmadan Önce Tar Dosyalarının İçine Bakmak

Şimdiye kadar sadece bir inanç sıçraması yaptık ve görünmeyen dosyaları çıkardık. Atlamadan önce bakmak isteyebilirsiniz. -t (liste) seçeneğini kullanarak bir tar dosyasını çıkarmadan önce içeriğini inceleyebilirsiniz. Çıktıyı less komutla yönlendirmek genellikle uygundur.

 tar -tf ukulele_songs.tar.gz | az

Dosyaları listelemek için -z seçeneğini kullanmamıza gerek olmadığına dikkat edin. -z seçeneğini yalnızca bir .tar.gz dosyasından dosya .tar.gz eklememiz gerekir. Aynı şekilde, bir tar.bz2 dosyasındaki dosyaları listelemek için -j seçeneğine ihtiyacımız yok.

Daha az kanaldan tar dosyasının içeriği

Çıktıyı kaydırarak tar dosyasındaki her şeyin Ukulele Songs adlı bir dizinde tutulduğunu ve bu dizinin içinde dosyalar ve diğer dizinler olduğunu görebiliriz.

Daha az kanaldan aktarılan tar dosyasının içeriğinin ikinci görünümü

Reklamcılık

Ukulele Şarkıları dizininin Rastgele Şarkılar, Ramones ve Olasılar adlı dizinleri içerdiğini görebiliriz.

Bir tar dosyası içindeki bir dizinden tüm dosyaları çıkarmak için aşağıdaki komutu kullanın. Yolda boşluklar olduğundan, yolun tırnak içine alındığını unutmayın.

 tar -xvzf ukulele_songs.tar.gz "Ukulele Şarkıları/Ramones/" 

tar dosyasından tek klasör ayıklanıyor

Tek bir dosyayı ayıklamak için dosyanın yolunu ve adını sağlayın.

 tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/023 - My Babe.odt" 

tar dosyasından tek dosya ayıklanıyor

* herhangi bir karakter dizisini temsil ettiği ve ? herhangi bir tek karakteri temsil eder. Joker karakterlerin kullanılması --wildcards seçeneğinin kullanılmasını gerektirir.

 tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Songs/Possibles/B*" 

Şarkıları joker karakterlerle katrandan çıkarma

Dizinleri Çıkarmadan Dosyaları Çıkarma

Tar dosyasındaki dizin yapısının sabit sürücünüzde yeniden oluşturulmasını istemiyorsanız, --strip-components seçeneğini kullanın. --strip-components seçeneği sayısal bir parametre gerektirir. Sayı, kaç tane dizin düzeyinin yoksayılacağını gösterir. Yok sayılan dizinlerdeki dosyalar yine ayıklanır, ancak dizin yapısı sabit sürücünüzde çoğaltılmaz.

Örnek tar dosyamızla --strip-components=1 belirtirsek, Ukulele Songs tar dosyasının en üstteki dizini sabit diskte oluşturulmaz. Bu dizine çıkarılacak dosyalar ve dizinler, hedef dizinde ayıklanır.

 tar -xvzf ukulele_songs.tar.gz --strip-bileşenleri=1 

--strip-components=1 ile tar dosyasından dosyaların ayıklanması

Reklamcılık

Örnek tar dosyamızda yalnızca iki dizin iç içe yerleştirme düzeyi vardır. Yani --strip-components=2 kullanırsak, tüm dosyalar hedef dizine çıkarılır ve başka dizin oluşturulmaz.

 tar -xvzf ukulele_songs.tar.gz --strip-bileşenleri=2 

Dosyaları tar dosyasından --strip-components=2 ile çıkarma

Linux kılavuz sayfasına bakarsanız tar "en fazla komut satırı seçeneğine sahip komut" başlığı için iyi bir aday olması gerektiğini görürsünüz. Neyse ki, dosyaları .tar.gz ve tar.bz2 dosyalarından iyi derecede ayrıntılı kontrolle çıkarmamıza izin vermek için, bu seçeneklerden sadece bir kaçını hatırlamamız gerekiyor.

İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar