Linux'ta .tar.gz veya .tar.bz2 Dosyasından Dosyalar Nasıl Çıkarılır
Yayınlanan: 2022-01-29Tar 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.
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 ş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ı.
Ş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
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.
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/
Documents/Songs dizinimize baktığımızda Guitar Songs dizininin oluşturulduğunu göreceğiz.
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.
Çı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.
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/"
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"
*
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*"
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
Ö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
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.
Linux Komutları | ||
Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar