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 terminali kullanırken onlarla sıkça karşılaşırsınız. İşte bir tarball olarak da bilinen bir tar dosyasının içeriğini nasıl ayıklayacağınızı (veya yıldızdan çıkarmayı) İşte.
.Tar.gz ve .tar.bz2 Nedir?
.tar.gz
veya .tar.bz2
uzantılı dosyalar sıkıştırılmış arşiv dosyalarıdır. Sadece bir .tar
uzantılı bir dosya sıkıştırılmamış, ancak bu çok nadir olacaktır.
.tar
dosya uzantısının kısmı t maymun ar chive anlamına gelir ve bu dosya türlerinin her ikisi katran dosyaları adı verilir nedenidir. Tar dosyaları, sistem yöneticilerinin dosyaları kasete arşivlemesini sağlamak için tar
komutu oluşturulduğunda, 1979 yılına kadar uzanır. Kırk yıl sonra hala kullanıyor tar
bizim sabit diskler üzerine katran dosyaları ayıklamak için komut. Bir yerlerde birileri muhtemelen hala tar
ile bant kullanıyor.
.gz
veya .bz2
uzantı eki, 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ünde de mutlu bir şekilde çalışır, bu nedenle hangi sıkıştırma yönteminin kullanıldığı önemli değildir – ve bir Bash kabuğuna sahip olduğunuz her yerde kullanılabilir olması gerekir. Sadece uygun tar
komut satırı seçeneklerini kullanmanız gerekir.
Tar Dosyalarından Dosyaları Çıkarma
Diyelim ki iki nota dosyası indirdiniz. Bir dosyaya ukulele_songs.tar.gz
, diğeri guitar_songs.tar.bz2
denir. Bu dosyalar İndirilenler dizinindedir.
Ukulele şarkılarını çıkaralım:
tar -xvzf ukulele_songs.tar.gz
Dosyalar ayıklanırken, terminal penceresinde listelenir.
Kullandığımız komut satırı seçenekleri:
- -x : Ayıkla, dosyaları tar dosyasından al.
- -v : Verbose, dosyaları çıkartıldıkları sırada listeler.
- -z : Gzip, tar dosyasını açmak için gzip kullanın.
- -f : Dosya,
tar
çalışmasını istediğimiztar
dosyasının adı. Bu seçeneği tar dosyasının adı takip etmelidir.
Dizindeki dosyaları ls
ile listelediğinizde Ukulele Songs adlı bir dizinin oluşturulduğunu göreceksiniz. Çıkarılan dosyalar bu dizinde. Bu dizin nereden geldi? Bu tar
dosyasında yer aldı ve dosyaları ile birlikte çıkarıldı.
Şimdi gitar şarkılarını çıkaralım. Bunu yapmak için, hemen hemen tam olarak aynı komutu kullanacağız ancak önemli bir farkla kullanacağız. .bz2
uzantılı soneki, bzip2 komutu kullanılarak sıkıştırılmış olduğunu söyler. -z
(gzip) seçeneğini kullanmak yerine, -j
(bzip2) seçeneğini kullanacağız.
tar -xvjf guitar_songs.tar.bz2
Bir kez daha, dosyalar terminale çıkarıldıkları şekilde listelenir. Açık olmak gerekirse, .tar.bz2
dosyası için tar
ile kullandığımız komut satırı seçenekleri:
- -x : Ayıkla, dosyaları tar dosyasından al.
- -v : Verbose, dosyaları çıkartıldıkları sırada listeler.
- -j : Bzip2, tar dosyasını açmak için bzip2 kullanın.
- -f : Dosya, tar'ın çalışmasını istediğimiz tar dosyasının adı.
İndirme dizinindeki dosyaları listelersek, Guitar Songs adlı başka bir dizinin oluşturulduğunu göreceğiz.
Dosyaları Ayıklamak İçin Nereyi Seçmek
Dosyaları geçerli dizinden başka bir yere çıkarmak istiyorsak -C
(belirtilen dizin) seçeneğini kullanarak bir hedef dizin belirleyebiliriz.
tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/
Belgeler / Şarkılar dizinimize baktığımızda, Gitar Şarkıları dizininin oluşturulduğunu göreceğiz.
Hedef dizinin zaten mevcut olması gerektiğini unutmayın, mevcut değilse tar
oluşturmaz. Bir dizin oluşturmanız ve tüm dosyaları tek bir komut halinde tar
çıkarmanız gerekirse, bunu aşağıdaki şekilde yapabilirsiniz:
mkdir -p ~/Documents/Songs/Downloaded && tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/Downloaded/
-p
(ebeveynler) seçeneği, mkdir
, istenen dizinin oluşturulmasını sağlayarak gerekli olan üst dizinleri oluşturmasına neden olur.
Eklemeden Ö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
(list) seçeneğini kullanarak bir tar
dosyasının içeriğini çıkarmadan önce inceleyebilirsiniz. Çıktının less
komutla yönlendirilmesi genellikle uygundur.
tar -tf ukulele_songs.tar.gz | less
Dosyaları listelemek için -z
seçeneğini kullanmamıza gerek olmadığına dikkat edin. Biz sadece eklemeniz gerekir -z
bir dosya ayıklanması yaparken seçeneği .tar.gz
dosyası. Aynı şekilde, dosyaları bir tar.bz2
dosyasında listelemek için -j
seçeneğine de ihtiyacımız yok.
Çıktı boyunca ilerlerken tar dosyasındaki her şeyin Ukulele Şarkıları adlı bir dizinde tutulduğunu ve bu dizinde dosyalar ve diğer dizinlerin olduğunu görebiliriz.
Ukulele Songs dizininde Random Songs, Ramones ve Possibles adında dizinler olduğunu görebiliriz.
Tüm dosyaları bir tar dosyası içindeki bir dizinden çıkarmak için aşağıdaki komutu kullanın. Yolun tırnak işaretleri içine alındığını, çünkü yol içinde boşluklar bulunduğunu unutmayın.
tar -xvzf ukulele_songs.tar.gz “Ukulele Songs/Ramones/”
Tek bir dosyayı çıkartmak için dosyanın yolunu ve adını girin.
tar -xvzf ukulele_songs.tar.gz “Ukulele Songs/023 – My Babe.odt”
Joker karakter kullanarak bir dosya seçimi çıkarabilirsiniz, burada *
herhangi bir karakter dizisini temsil eder ve ?
herhangi bir tek karakteri temsil eder. Joker karakterler kullanmak, --wildcards
seçeneğinin kullanılmasını gerektirir.
tar -xvz –wildcards -f ukulele_songs.tar.gz “Ukulele Songs/Possibles/B*”
Dizinleri Ayırmadan 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 seviyesinin yoksayılacağını gösterir. Yok sayılan dizinlerden dosyalar hala ayıklanıyor, ancak dizin yapısı sabit sürücünüzde çoğaltılmıyor.
Örnek tar dosyamızla --strip-components=1
belirtirsek, tar dosyasının içindeki en üstteki Ukulele Şarkıları sabit sürücüde oluşturulmaz. Bu dizine ayıklanan dosyalar ve dizinler hedef dizine çıkarılır.
tar -xvzf ukulele_songs.tar.gz –strip-components=1
Örnek tar dosyamızda yalnızca iki dizin dizilimi vardır. Bu nedenle --strip-components=2
, tüm dosyalar hedef dizinde ayıklanır ve başka hiçbir dizin oluşturulmaz.
tar -xvzf ukulele_songs.tar.gz –strip-components=2
Eğer Linux kılavuz sayfasında bakarsanız görürsünüz tar
başlığı için iyi bir aday olmak zorunda “en komut satırı seçeneklerini sahip komutu.” Neyse ki, bize dosyaları ayıklamak için izin .tar.gz
ve tar.bz2
dosyaları iyi derecede ayrıntılı kontrol ile yalnızca bu seçeneklerin bir avuçunu hatırlamamız gerekir.
Son Yorumlar