Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
01.08.2025

Cum să dezarhivați un fișier în Linux: Ghid avansat pentru utilizatorii avansați

Extragerea fișierelor .tar, .tar.gz, .tar.bz2 și a altor fișiere tarball este o abilitate fundamentală în administrarea sistemului Linux și în fluxurile de lucru DevOps. În timp ce tar poate părea simplu la prima vedere, utilizatorii experimentați pot utiliza indicatori și tehnici avansate pentru performanță, scripting și control fin.

Acest ghid vă îndrumă prin toate aspectele, de la decompresia de bază la extracția condiționată, benchmarking și gestionarea arhivelor corupte.

Ce este un fișier .tar?

Un fișier .tar (prescurtarea de la Tape Archive) este o arhivă consolidată care grupează mai multe fișiere într-unul singur, păstrând structura fișierelor, permisiunile și marcajele temporale. În mod implicit, acesta nu se comprimă. Compresia este adesea stratificată cu formate precum .gz, .bz2, .xz sau .zstd.

Comenzi de extragere de bază

1. Extragerea unui fișier .tar (fără compresie)

tar -xf arhiva.tar

2. Extrageți un fișier .tar.gz sau .tgz

tar -xzf arhiva.tar.gz

3. Extrage un fișier .tar.bz2

tar -xjf arhivă.tar.bz2

4. Extragerea unui fișier .tar.xz

tar -xJf arhivă.tar.xz

5. Extrage un fișier .tar.zst (Zstandard)

tar --use-compress-program=unzstd -xf archive.tar.zst

Simboluri comune avansate

IndicatorFuncție
-xExtract
-fUtilizează fișierul de arhivă
-vIeșire verbală (lista fișierelor)
-CSchimbă directorul înainte de extragere
–strip-components=NElimină primele N elemente ale căii
–wildcardsActivează filtrarea caracterelor sălbatice
–no-same-ownerEvită schimbarea proprietarilor fișierelor la extragere
–overwriteForțează suprascrierea fără solicitări
–exclude=PATTERNExclude fișierele care corespund modelului

Exemple avansate

Extragere într-un anumit director

tar -xf archive.tar.gz -C /opt/myapp

Eliminați folderul de nivel superior (aplatizați structura)

tar -xf archive.tar.gz --strip-components=1

Extragerea fișierelor specifice

tar -xf archive.tar.gz calea/la/file1 calea/la/file2

Extragerea modelului care se potrivește folosind caractere sălbatice

tar -xf archive.tar.gz --wildcards '*.conf'

Extragere cu excluderea unor căi

tar -xf archive.tar.gz --exclude='*.log'

Timpul de extragere a benchmark-ului

timp tar -xf arhiva.tar.gz

Gestionarea cazurilor limită

? Fișierul este corupt

Utilizați tar cu –ignore-zeros pentru a sări peste blocurile corupte:

tar -xzf broken.tar.gz --ignore-zeros

? Inspectați arhiva înainte de extragere

tar -tf archive.tar.gz # Lista fișierelor

Testați integritatea (pentru tarball-uri comprimate cu gzip)

gzip -t archive.tar.gz && echo "Archive OK"

Sfaturi de scripting pentru administratori de sistem

Utilizați tar în scripturile de backup/restaurare:

#!/bin/bash
TARGET_DIR="/var/www"
ARCHIVE="/backups/site-$(date +%F).tar.gz"

tar -czf "$ARCHIVE" -C "$TARGET_DIR" . && echo "Backup saved to $ARCHIVE"

Sau dezarhivați și instalați automat:

#!/bin/bash
SRC="$1"
DEST="$2"
mkdir -p "$DEST"
tar -xzf "$SRC" -C "$DEST" --strip-components=1

Fișierele Tar sunt esențiale pentru împachetarea, backup-urile și implementarea Linux. Prin stăpânirea indicatoarelor de extragere și integrarea tar în scripturi, puteți manipula arhivele cu precizie chirurgicală – extrageți doar ceea ce este necesar, păstrați proprietatea, aplatizați căile sau automatizați fluxuri de lucru întregi.

Referință rapidă

# Basic
tar -xf file.tar    # No compression
tar -xzf file.tar.gz # Gzip
tar -xjf file.tar.bz2 # Bzip2
tar -xJf file.tar.xz # XZ
tar --use-compress-program=unzstd -xf file.tar.zst    # Zstandard

# Common options
tar -xvf archive.tar    # Verbose
tar -C /target/dir -xf file.tar.gz    # Extract to folder
tar --strip-components=1 -xf file.tar.gz    # Remove top-level dir

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills