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:
- tar birden fazla dosya ve dizini tek bir arşive paketler (
.tar) - gzip bu arşivi boyutunu azaltmak için sıkıştırır (
.tar.gzveya.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.gzBayrak Açıklaması
| Bayrak | Anlamı |
|---|---|
-x | Dosyaları arşivden çıkart |
-v | Ayrıntılı mod — çıkarılan her dosyayı listeler |
-z | gzip 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.txtTam 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.gzBaşı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/sandboxBu 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 pvDaha 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.gzpigz 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.tarBu yaklaşım şu durumlarda kullanışlıdır:
- Çıkarmadan önce ham
.tardosyasını incelemek istediğinizde - Pipeline’ınız
.tarve.gzaşamalarını ayrı ayrı işlediğinde .tardosyası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>&1GUI 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 |
|---|---|
| GNOME | File Roller |
| KDE Plasma | Ark |
| Xfce | Thunar 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örev | Komut | |
|---|---|---|
| Arşivi çıkart | tar -xvzf file.tar.gz | |
| Dizine çıkart | tar -xvzf file.tar.gz -C /target/ | |
| İçeriği listele | tar -tvzf file.tar.gz | |
| Tek dosya çıkart | tar -xvzf file.tar.gz path/to/file | |
| Arşiv oluştur | tar -czvf archive.tar.gz /source/ | |
| İlerlemeyi izle | `pv file.tar.gz | tar xzvf -` |
| Yol bileşenlerini kaldır | tar --strip-components=1 -xvzf file.tar.gz | |
| Paralel dekompresyon | tar -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.
tasarruf edin