Linux'ta tar Komutunu Kullanarak Dosyaları Sıkıştırma ve Çıkarma

Linux'ta tar komutu, genellikle .tar.gz veya .tgz arşiv dosyalarını oluşturmak için kullanılır, "tarballs" olarak da adlandırılır. Bu komutun çok sayıda seçeneği vardır, ancak tar ile hızlı bir şekilde arşiv oluşturmak için birkaç harfi hatırlamanız yeterlidir. Tar komutu, ortaya çıkan arşivleri de çıkarabilir.

Linux dağıtımlarında bulunan GNU tar komutu, entegre sıkıştırmaya sahiptir. Bir .tar arşivi oluşturabilir ve daha sonra tek bir komutta gzip veya bzip2 sıkıştırmasıyla sıkıştırabilir. Bu nedenle ortaya çıkan dosya bir .tar.gz dosyası veya .tar.bz2 dosyasıdır.

Tüm Dizini veya Tek Bir Dosyayı Sıkıştır

Linux'ta tüm bir dizini veya tek bir dosyayı sıkıştırmak için aşağıdaki komutu kullanın. Ayrıca belirttiğiniz bir dizin içindeki diğer tüm dizileri de sıkıştırır - başka bir deyişle, özyinelemeli olarak çalışır.

tar -czvf arşiv adı.tar.gz / dizin / dosyaya / yol

İşte bu anahtarların gerçekte ne anlama geldiği:

  • -c: C bir arşiv REATE.
  • -z: Arşivi g z ip ile sıkıştırın .
  • -v: " v erbose" modu olarak da bilinen arşivi oluştururken terminaldeki ilerlemeyi görüntüleyin . V, bu komutlarda her zaman isteğe bağlıdır, ancak faydalıdır.
  • -f: Belirttiğiniz sağlar f arşivinin ilename.

Diyelim ki mevcut dizinde "stuff" adında bir dizininiz var ve bunu archive.tar.gz adlı bir dosyaya kaydetmek istiyorsunuz. Aşağıdaki komutu çalıştırırsınız:

tar -czvf archive.tar.gz şeyler

Veya, mevcut sistemde / usr / local / bir şeyde bir dizin olduğunu ve bunu archive.tar.gz adlı bir dosyaya sıkıştırmak istediğinizi varsayalım. Aşağıdaki komutu çalıştırırsınız:

tar -czvf archive.tar.gz / usr / local / bir şey

Birden Fazla Dizini veya Dosyayı Tek Seferde Sıkıştır

İLGİLİ: Linux Terminalinden Dosyaları Nasıl Yönetebilirsiniz: Bilmeniz Gereken 11 Komut

Tar genellikle tek bir dizini sıkıştırmak için kullanılsa da, onu birden çok dizini, birden çok dosyayı veya her ikisini birden sıkıştırmak için de kullanabilirsiniz. Tek bir liste yerine bir dosya veya dizin listesi sağlayın. Örneğin, / home / ubuntu / Downloads dizinini, / usr / local / stuff dizinini ve /home/ubuntu/Documents/notes.txt dosyasını sıkıştırmak istediğinizi varsayalım. Sadece aşağıdaki komutu çalıştırırsınız:

tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

Yedeklemek istediğiniz kadar dizin veya dosya listeleyin.

Dizinleri ve Dosyaları Hariç Tut

Bazı durumlarda, tüm bir dizini sıkıştırmak isteyebilir, ancak belirli dosya ve dizinleri dahil etmeyebilirsiniz. Dışarıda --excludebırakmak istediğiniz her dizin veya dosya için bir anahtar ekleyerek bunu yapabilirsiniz .

Örneğin, / home / ubuntu'yu sıkıştırmak istediğinizi, ancak / home / ubuntu / Downloads ve /home/ubuntu/.cache dizinlerini sıkıştırmak istemediğinizi varsayalım. Bunu şu şekilde yaparsınız:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

--excludeAnahtar çok güçlüdür. Dizinlerin ve dosyaların isimlerini almaz - aslında kalıpları kabul eder. Onunla yapabileceğiniz daha çok şey var. Örneğin, aşağıdaki komutla tüm bir dizini arşivleyebilir ve tüm .mp4 dosyalarını hariç tutabilirsiniz:

tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

Bunun yerine bzip2 Sıkıştırmasını kullanın

Gzip sıkıştırması en çok .tar.gz veya .tgz dosyaları oluşturmak için kullanılırken, tar ayrıca bzip2 sıkıştırmasını destekler. Bu, genellikle .tar.bz2, .tar.bz veya .tbz dosyaları olarak adlandırılan bzip2 ile sıkıştırılmış dosyalar oluşturmanıza olanak sağlar. Bunu yapmak için, buradaki komutlarda gzip yerine -z'yi bzip2 için a -j ile değiştirin.

Gzip daha hızlıdır, ancak genellikle biraz daha az sıkıştırır, bu nedenle biraz daha büyük bir dosya elde edersiniz. Bzip2 daha yavaştır, ancak biraz daha fazla sıkıştırır, böylece biraz daha küçük bir dosya elde edersiniz. Gzip ayrıca, varsayılan olarak gzip desteğini içeren ancak bzip2 desteği olmayan bazı basitleştirilmiş Linux sistemlerinde daha yaygındır. Genel olarak, yine de, gzip ve bzip2 pratik olarak aynı şeydir ve her ikisi de benzer şekilde çalışır.

Örneğin, malzeme dizinini sıkıştırmak için sağladığımız ilk örnek yerine aşağıdaki komutu çalıştırırsınız:

tar -cjvf archive.tar.bz2 şeyler

Bir Arşivi Çıkarın

Bir arşive sahip olduğunuzda, onu tar komutu ile çıkartabilirsiniz. Aşağıdaki komut, archive.tar.gz içeriğini mevcut dizine çıkaracaktır.

tar -xzvf archive.tar.gz

-xAnahtarın anahtarın yerini alması dışında yukarıda kullandığımız arşiv oluşturma komutuyla aynıdır -c. Bu belirtir e istiyorum x yolu bir arşiv yerine bir tane oluşturun.

Arşivin içeriğini belirli bir dizine çıkarmak isteyebilirsiniz. Bunu, -Canahtarı komutun sonuna ekleyerek yapabilirsiniz . Örneğin, aşağıdaki komut archive.tar.gz dosyasının içeriğini / tmp dizinine çıkaracaktır.

tar -xzvf arşiv.tar.gz -C / tmp

Dosya bzip2 ile sıkıştırılmış bir dosyaysa, yukarıdaki komutlarda "z" yi bir "j" ile değiştirin.

Bu, tar komutunun olası en basit kullanımıdır. Komut çok sayıda ek seçenek içerir, bu nedenle hepsini burada listeleyemeyiz. Daha fazla bilgi için. tar komutunun ayrıntılı bilgi sayfasını görüntülemek için kabukta info tar komutunu çalıştırın . İşiniz bittiğinde bilgi sayfasından çıkmak için q tuşuna basın . Tar'ın kılavuzunu çevrimiçi olarak da okuyabilirsiniz.

Grafiksel bir Linux masaüstü kullanıyorsanız, .tar dosyalarını oluşturmak veya çıkarmak için masaüstünüzde bulunan dosya sıkıştırma yardımcı programını veya dosya yöneticisini de kullanabilirsiniz. Windows'ta, ücretsiz 7-Zip yardımcı programını kullanarak .tar arşivlerini çıkarabilir ve oluşturabilirsiniz.