Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux

Linux’ta .tar.gz Dosyası Nasıl Açılır: İleri İpuçları ile Tam Kılavuz

Linux ortamında sıkıştırılmış dosyalarla çalışmak günlük bir gerçekliktir. En yaygın kullanılan formatlar arasında .tar.gz, arşivleme için tar ve sıkıştırma için gzip‘i birleştiren iki aşamalı bir formattır. Yazılım kaynak kodunu açıyor, yedeklemeleri geri yükliyor veya bir VPS Hosting sunucusunda yapılandırma dosyalarını dağıtıyor olsanız da, .tar.gz arşivlerini verimli ve güvenli bir şekilde işlemeyi bilmek temel bir Linux becerisidir.

Bu kılavuz, temel çıkarma komutundan büyük arşivler, güvenlik sertleştirmesi ve komut dosyası yazma en iyi uygulamaları için ileri tekniklere kadar her şeyi kapsar.

.tar.gz Dosyası Nedir?

Bir .tar.gz dosyası — genellikle tarball olarak adlandırılır — iki adımda oluşturulur:

  1. tar birden fazla dosya ve dizini tek bir arşive paketler (.tar)
  2. gzip bu arşivi boyutunu azaltmak için sıkıştırır (.tar.gz veya .tgz)

Yaygın Kullanım Alanları

  • Yazılım kaynak kodunun dağıtılması
  • Yapılandırma dosyaları ve yedeklemelerin paketlenmesi
  • Günlük dosyalarının uzun vadeli depolama için arşivlenmesi
  • Sunucular arasında büyük dizin ağaçlarının aktarılması

Örnek dosya adı: project-files.tar.gz

Temel Çıkarma Komutu

Bir .tar.gz dosyasını çıkarmak için standart komut:

tar -xvzf file.tar.gz

Bayrak Açıklaması

BayrakAnlamı
-xDosyaları arşivden çıkart
-vAyrıntılı mod — çıkarılan her dosyayı listeler
-zgzip kullanarak sıkıştırmayı aç
-fİşlem yapılacak dosya adını belirtir

Bu tek komut, günlük çıkarma görevlerinin büyük çoğunluğunu işler.

Belirli Bir Dizine Çıkart

Varsayılan olarak, tar dosyaları geçerli çalışma dizinine çıkarır. Çıktıyı belirli bir konuma yönlendirmek için -C bayrağını kullanın:

tar -xvzf file.tar.gz -C /path/to/target-directory

> Not: Hedef dizin zaten var olmalıdır. Gerekirse önce mkdir -p /path/to/target-directory ile oluşturun.

Bu yaklaşım, özellikle otomatik dağıtım betikleri veya bir üretim sunucusunda birden fazla arşivi düzenlerken kullanışlıdır.

Arşiv İçeriğini Çıkarmadan Önce Önizleyin

Bir arşivi çıkarmadan önce — özellikle bilinmeyen bir kaynaktan geliyorsa — içeriğini önce incelemek iyi bir uygulamadır:

tar -tvzf file.tar.gz

-t bayrağı, arşiv içindeki tüm dosya ve dizinleri hiçbir şey çıkarmadan listeler. Bu size yardımcı olur:

  • İç dizin yapısını anlamak
  • Mevcut dosyaların yanlışlıkla üzerine yazılmasını önlemek
  • Şüpheli veya beklenmeyen yolları tespit etmek

Belirli Dosyaları veya Dizinleri Çıkart

Her zaman tüm arşivi çıkarmanız gerekmez. Tek bir dosya veya klasörü çıkarmak için, arşiv içinde göründüğü şekilde tam yolunu belirtin:

tar -xvzf file.tar.gz path/to/specific-file.txt

Tam iç yolu bulmak için, önce --list komutunu çalıştırın:

tar -tvzf file.tar.gz | grep filename

> Önemli: Arşiv listesinde gösterilen göreli yolu kullanın, / ile başlayan mutlak yolu değil.

Güvenilmeyen Arşivleri Çıkarırken Güvenlik Hususları

Bilinmeyen veya güvenilmeyen kaynaklardan .tar.gz dosyalarını çıkarmak, kötü amaçlı arşivlerin kritik sistem dosyalarını üzerine yazabileceği yol geçişi saldırıları da dahil olmak üzere ciddi güvenlik riskleri oluşturabilir. Bu koruyucu önlemleri uygulayın:

Dizin Üzerine Yazılmasını Önleyin

tar --no-overwrite-dir -xvzf file.tar.gz

Başındaki Yol Bileşenlerini Kaldırın

--strip-components bayrağı, çıkarılan yollardan başındaki dizin seviyelerini kaldırır ve bu da mutlak yol enjeksiyonu denemelerini etkisiz hale getirir:

tar --strip-components=1 -xvzf untrusted-archive.tar.gz

İzole Bir Dizine Çıkarın

Güvenilmeyen arşivleri her zaman adanmış bir sandbox dizinine çıkarın ve dosyaları son konumlarına taşımadan önce içeriği inceleyin:

mkdir /tmp/sandbox && tar -xvzf untrusted-archive.tar.gz -C /tmp/sandbox

Bu uygulamalar özellikle paylaşılan altyapıda kritiktir. Birden fazla site veya istemciyi yönetiyorsanız, katı izin sınırları olan Paylaşılan Web Hosting ortamlarını kullanmayı düşünün.

Büyük Arşivleri Verimli Şekilde İşleme

Birkaç gigabayt boyutundaki arşivler için standart çıkarma işlemi karmaşık görünebilir. Bu teknikler görünürlük ve performansı artırır.

pv ile İlerlemeyi İzleyin

pv (pipe viewer) gerçek zamanlı ilerleme çubuğu ve aktarım hızını gösterir:

pv file.tar.gz | tar xzvf -

Henüz yüklü değilse pv yükleyin:

# Debian/Ubuntu
sudo apt install pv

# CentOS/RHEL/AlmaLinux
sudo dnf install pv

Daha Hızlı Çıkarma için Ayrıntılı Modu Devre Dışı Bırakın

Çok büyük arşivleri çıkarırken, -v bayrağı binlerce dosya adını terminale yazdırarak işlemi yavaşlatabilir. Daha iyi performans için bunu kaldırın:

tar -xzf file.tar.gz

pigz ile Paralel Dekompresyon Kullanın

Çok çekirdekli sunucular için, pigz gzip yerine paralel bir uygulama kullanır ve dekompresyon süresini önemli ölçüde azaltabilir:

tar -I pigz -xf file.tar.gz

İki Ayrı Adımda Sıkıştırmayı Aç

Bazen daha hassas kontrol gerekir — örneğin, bir pipeline’a entegre ederken veya ara .tar dosyasını açmadan önce incelemek istediğinizde. İşlemi iki komuta bölebilirsiniz:

# Step 1: Decompress gzip to get a plain .tar archive
gunzip file.tar.gz

# Step 2: Extract the .tar archive
tar -xvf file.tar

Bu yaklaşım şu durumlarda kullanışlıdır:

  • Çıkarmadan önce ham .tar dosyasını incelemek istediğinizde
  • Pipeline’ınız .tar ve .gz aşamalarını ayrı ayrı işlediğinde
  • .tar dosyasını başka bir araca iletmeniz gerektiğinde

.tar.gz Arşivi Oluşturma

Arşiv oluşturmayı bilmek, onları çıkarmak kadar önemlidir. Sözdizimi çıkarmaya benzer ancak -c (oluştur) yerine -x kullanır:

tar -czvf archive-name.tar.gz /path/to/directory/

Belirli Dosyaları veya Dizinleri Hariç Tutma

tar -czvf archive.tar.gz /path/to/directory/ --exclude='*.log' --exclude='node_modules'

Bu, gereksiz dosyalardan arınmış temiz dağıtım paketleri veya yedeklemeler oluşturmak için çok değerlidir.

.tar.gz İşlemlerini Betiklerde Otomatikleştirme

Üretim sunucularında — ister Dedicated Server ister yönetilen VPS çalıştırın — arşiv işlemlerini otomatikleştirmek zaman kazandırır ve insan hatasını azaltır.

Örnek: Otomatik Yedekleme Betiği

#!/bin/bash

BACKUP_DIR="/var/backups"
SOURCE_DIR="/var/www/html"
DATE=$(date +%Y-%m-%d)
ARCHIVE="$BACKUP_DIR/website-backup-$DATE.tar.gz"

mkdir -p "$BACKUP_DIR"
tar -czf "$ARCHIVE" --exclude='*.tmp' "$SOURCE_DIR"

echo "Backup created: $ARCHIVE"

Tamamen otomatik günlük yedeklemeler için bunu bir cron işi ile planlayın:

0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

GUI Arşiv Yöneticilerini Kullanma (İsteğe Bağlı)

Linux masaüstü ortamında çalışıyorsanız, grafik araçlar sürükle ve bırak alternatifi sağlar:

Masaüstü OrtamıArşiv Yöneticisi
GNOMEFile Roller
KDE PlasmaArk
XfceThunar Archive Plugin

Bu araçlar .tar.gz yerel olarak destekler ve ara sıra kullanım için uygundur. Ancak sunucu yönetimi için komut satırı en güvenilir ve betiklenebilir yaklaşım olmaya devam eder.

Hızlı Referans: Temel tar Komutları

GörevKomut
Arşivi çıkarttar -xvzf file.tar.gz
Dizine çıkarttar -xvzf file.tar.gz -C /target/
İçeriği listeletar -tvzf file.tar.gz
Tek dosya çıkarttar -xvzf file.tar.gz path/to/file
Arşiv oluşturtar -czvf archive.tar.gz /source/
İlerlemeyi izle`pv file.tar.gztar xzvf -`
Yol bileşenlerini kaldırtar --strip-components=1 -xvzf file.tar.gz
Paralel dekompresyontar -I pigz -xf file.tar.gz

Sonuç

.tar.gz dosya işlemeyi ustalıkla yönetmek, sadece tar -xvzf yazmaktan çok daha fazlasını gerektirir. Formatı anlayarak, çıkarmadan önce içeriği önizleyerek, güvenilmeyen arşivler için güvenlik bayraklarını uygulayarak ve büyük dosyalar için pv ve pigz gibi araçlardan yararlanarak, Linux’un en temel işlemlerinden birinin üzerinde tam kontrol elde edersiniz.

Bu beceriler doğrudan gerçek dünya görevlerine çevrilir: uygulama kaynak kodunu dağıtmak, sunucu yedeklemelerini yönetmek, yapılandırma dosyalarını paketlemek ve rutin bakımı otomatikleştirmek. Komut satırını öğrenen bir başlangıç seviyesi kullanıcı olsanız ya da cPanel’li VPS veya bare-metal dedicated sunucu üzerinde iş akışlarını optimize eden deneyimli bir yönetici olsanız, güvenli .tar.gz işleme, Linux operasyonlarınızı daha hızlı, daha güvenli ve daha güvenilir hale getirir.

Bu becerilerinizi uygulamaya koymak için güçlü bir barındırma ortamı arıyorsanız, AlexHost VPS Barındırması‘nı keşfedin — tam root erişimi, SSD depolama ve herhangi bir iş yükü için hazır esnek Linux dağıtımları sunuyor.