15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
04.08.2025

Cum să dezarhivezi un fișier .tar.gz în Linux: Ghid complet cu sfaturi avansate

Lucrul cu fișiere comprimate este o realitate zilnică în orice mediu Linux. Dintre formatele cel mai utilizate se numără .tar.gz, un format în două etape care combină tar pentru arhivare și gzip pentru compresie. Indiferent dacă despachetezi cod sursă de software, restaurezi copii de siguranță sau implementezi fișiere de configurare pe un server VPS Hosting, știrea cum să gestionezi arhivele .tar.gz eficient și sigur este o abilitate fundamentală în Linux.

Acest ghid acoperă totul, de la comanda de extragere de bază la tehnici avansate pentru arhive mari, consolidarea securității și bune practici în scripting.

Ce este un fișier .tar.gz?

Un fișier .tar.gz — adesea numit tarball — este creat în doi pași:

  1. tar grupează mai multe fișiere și directoare într-o singură arhivă (.tar)
  2. gzip comprimă acea arhivă pentru a-i reduce dimensiunea (.tar.gz sau .tgz)

Cazuri de utilizare frecvente

  • Distribuirea codului sursă al software-ului
  • Împachetarea fișierelor de configurare și copiilor de siguranță
  • Arhivarea fișierelor jurnal pentru stocare pe termen lung
  • Transferul de arbori de directoare mari între servere

Exemplu de nume de fișier: project-files.tar.gz

Comanda de extragere de bază

Comanda standard pentru a extrage un fișier .tar.gz este:

tar -xvzf file.tar.gz

Detalii despre flaguri

FlagulSemnificație
-xExtrage fișiere din arhivă
-vModul detaliat — listează fiecare fișier pe măsură ce este extras
-zDecomprimă folosind gzip
-fSpecifică numele fișierului pe care să operezi

Această singură comandă gestionează marea majoritate a sarcinilor de extragere zilnice.

Extrage într-un director specific

În mod implicit, tar extrage fișiere în directorul de lucru curent. Pentru a redirecționa rezultatul într-o locație specifică, folosește flagul -C:

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

> Notă: Directorul țintă trebuie să existe deja. Creează-l mai întâi cu mkdir -p /path/to/target-directory dacă este necesar.

Această abordare este deosebit de utilă în scripturile de implementare automatizate sau atunci când organizezi mai multe arhive pe un server de producție.

Previzualizează conținutul arhivei înainte de extragere

Înainte de a extrage o arhivă — în special una dintr-o sursă necunoscută — este o bună practică să inspecți mai întâi conținutul acesteia:

tar -tvzf file.tar.gz

Flagul -t listează toate fișierele și directoarele din interiorul arhivei fără a extrage nimic. Acest lucru te ajută să:

  • Înțelegi structura internă a directoarelor
  • Eviti suprascrirea accidentală a fișierelor existente
  • Detectezi căi suspecte sau neașteptate

Extrage fișiere sau directoare specifice

Nu trebuie întotdeauna să extragi o arhivă întreagă. Pentru a extrage un singur fișier sau folder, specifică calea sa exact așa cum apare în interiorul arhivei:

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

Pentru a găsi calea internă exactă, rulează mai întâi comanda --list:

tar -tvzf file.tar.gz | grep filename

> Important: Folosește calea relativă afișată în listarea arhivei, nu o cale absolută care începe cu /.

Considerații de securitate la extragerea arhivelor de la surse neîncredere

Extragerea fișierelor .tar.gz din surse necunoscute sau neîncredere poate prezenta riscuri serioase de securitate, inclusiv atacuri de traversare a căilor în care arhivele rău intenționate suprascriau fișiere critice ale sistemului. Aplică aceste protecții:

Previne suprascrirea directoarelor

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

Elimină componentele de cale inițiale

Flagul --strip-components elimină nivelurile de directoare inițiale din căile extrase, ceea ce neutralizează încercările de injecție a căilor absolute:

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

Extrage într-un director izolat

Extrage întotdeauna arhivele neîncredere într-un director sandbox dedicat și inspectează conținutul înainte de a muta fișierele la destinația finală:

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

Aceste practici sunt deosebit de critice pe infrastructura partajată. Dacă gestionezi mai multe site-uri sau clienți, ia în considerare utilizarea mediilor de Shared Web Hosting cu limite stricte de permisiuni.

Gestionarea eficientă a arhivelor mari

Pentru arhivele care se întind pe mai mulți gigabytes, extragerea standard poate părea o cutie neagră. Aceste tehnici îmbunătățesc vizibilitatea și performanța.

Monitorizează progresul cu pv

pv (pipe viewer) afișează o bară de progres în timp real și viteza de transfer:

pv file.tar.gz | tar xzvf -

Instalează pv dacă nu este deja disponibil:

# Debian/Ubuntu
sudo apt install pv

# CentOS/RHEL/AlmaLinux
sudo dnf install pv

Dezactivează modul detaliat pentru extragere mai rapidă

La extragerea arhivelor foarte mari, flagul -v poate încetini lucrurile prin tipărirea a mii de nume de fișiere în terminal. Elimină-l pentru o performanță mai bună:

tar -xzf file.tar.gz

Folosește decompresie paralelă cu pigz

Pentru servere multi-core, pigz înlocuiește gzip cu o implementare paralelă și poate reduce dramatic timpul de decompresie:

tar -I pigz -xf file.tar.gz

Decomprimă în doi pași separați

Uneori ai nevoie de control mai fin — de exemplu, atunci când se integrează într-un pipeline sau inspecționezi fișierul intermediar .tar înainte de despachetare. Poți împărți procesul în două comenzi:

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

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

Această abordare este utilă atunci când:

  • Vrei să inspecționezi .tar brut înainte de extragere
  • Pipeline-ul tău procesează etapele .tar și .gz separat
  • Trebuie să transmiți fișierul .tar unui alt instrument

Creează o arhivă .tar.gz

Știrea cum să creezi arhive este la fel de importantă ca și extragerea lor. Sintaxa reflectă extragerea, dar folosește -c (creare) în loc de -x:

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

Exclude fișiere sau directoare specifice

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

Acest lucru este neprețuit pentru crearea de pachete de implementare curate sau copii de siguranță fără dezordine inutilă.

Automatizarea operațiilor .tar.gz în scripturi

Pe servere de producție — indiferent dacă rulezi un Dedicated Server sau un VPS gestionat — automatizarea operațiilor de arhivare economisește timp și reduce erorile umane.

Exemplu: Script de copiere de siguranță automatizată

#!/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"

Programează aceasta cu o sarcină cron pentru copii de siguranță zilnice complet automatizate:

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

Folosirea managerelor de arhive GUI (Opțional)

Dacă lucrezi într-un mediu desktop Linux, instrumentele grafice oferă o alternativă drag-and-drop:

Mediul desktopManager de arhive
GNOMEFile Roller
KDE PlasmaArk
XfceThunar Archive Plugin

Aceste instrumente suportă .tar.gz nativ și sunt potrivite pentru utilizare ocazională. Cu toate acestea, pentru administrarea serverelor, linia de comandă rămâne cea mai fiabilă și scriptabilă abordare.

Referință rapidă: Comenzi tar esențiale

SarcinăComandă
Extrage arhivătar -xvzf file.tar.gz
Extrage în director
15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți