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)
2. Extrageți un fișier .tar.gz sau .tgz
3. Extrage un fișier .tar.bz2
4. Extragerea unui fișier .tar.xz
5. Extrage un fișier .tar.zst (Zstandard)
Simboluri comune avansate
Indicator | Funcție |
---|---|
-x | Extract |
-f | Utilizează fișierul de arhivă |
-v | Ieșire verbală (lista fișierelor) |
-C | Schimbă directorul înainte de extragere |
–strip-components=N | Elimină primele N elemente ale căii |
–wildcards | Activează filtrarea caracterelor sălbatice |
–no-same-owner | Evită schimbarea proprietarilor fișierelor la extragere |
–overwrite | Forțează suprascrierea fără solicitări |
–exclude=PATTERN | Exclude fișierele care corespund modelului |
Exemple avansate
Extragere într-un anumit director
Eliminați folderul de nivel superior (aplatizați structura)
Extragerea fișierelor specifice
Extragerea modelului care se potrivește folosind caractere sălbatice
Extragere cu excluderea unor căi
Timpul de extragere a benchmark-ului
Gestionarea cazurilor limită
? Fișierul este corupt
Utilizați tar cu –ignore-zeros pentru a sări peste blocurile corupte:
? Inspectați arhiva înainte de extragere
Testați integritatea (pentru tarball-uri comprimate cu gzip)
Sfaturi de scripting pentru administratori de sistem
Utilizați tar în scripturile de backup/restaurare:
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