Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
01.08.2025

Jak wydrukować plik w systemie Linux: Zaawansowany przewodnik dla zaawansowanych użytkowników

Wyodrębnianie plików .tar, .tar.gz, .tar.bz2 i innych plików tarball jest niezbędną umiejętnością w administracji systemem Linux i przepływach pracy DevOps. Choć tar może początkowo wydawać się prosty, doświadczeni użytkownicy mogą korzystać z zaawansowanych flag i technik w celu zwiększenia wydajności, tworzenia skryptów i precyzyjnej kontroli.

Ten przewodnik przeprowadzi Cię przez wszystko, od podstawowej dekompresji po ekstrakcję warunkową, analizę porównawczą i pracę z uszkodzonymi kopiami zapasowymi.

Co to jest plik .tar?

Plik .tar (skrót od Tape Archive) to skonsolidowane archiwum, które łączy wiele plików w jeden, zachowując strukturę plików, uprawnienia i znaczniki czasu. Domyślnie nie jest on skompresowany. Kompresja jest często nakładana na formaty takie jak .gz, .bz2, .xz lub .zstd.

Podstawowe polecenia ekstrakcji

1. Wyodrębnianie pliku .tar (bez kompresji)

tar -xf archive.tar

2. Wyodrębnienie pliku .tar.gz lub .tgz

tar -xzf archive.tar.gz

3. Wyodrębnienie pliku .tar.bz2

tar -xjf archive.tar.bz2

4. Wyodrębnij plik .tar.xz

tar -xJf archive.tar.xz

5. Wyodrębnienie pliku .tar.zst (Zstandard)

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

Wspólne flagi rozszerzone

FlagaFunkcja
-xPobrane z
-fUżycie pliku archiwum
-vOkreślone dane wyjściowe (lista plików)
-CZmiana katalogu przed wyodrębnieniem
–strip-components=NUsuwa N początkowych elementów ścieżki
–wildcardsWłącz filtrowanie symboli wieloznacznych
–no-same-ownerUnikaj zmiany właściciela pliku podczas ekstrakcji
–overwriteWymuszone nadpisywanie bez monitów
–exclude=PATTERNWyklucza pliki pasujące do wzorca

Zaawansowane przykłady

Wyodrębnianie do określonego katalogu

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

Usuń folder najwyższego poziomu (spłaszcz strukturę)

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

Wyodrębnianie określonych plików

tar -xf archive.tar.gz path/to/file1 path/to/file2

Wyodrębnianie pasującego wzorca przy użyciu symboli wieloznacznych

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

Ekstrakcja z wykluczeniem niektórych ścieżek

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

Benchmark czasu ekstrakcji

time tar -xf archive.tar.gz

Obsługa przypadków brzegowych

plik jest uszkodzony

Użyj tar z –ignore-zeros, aby pominąć uszkodzone bloki:

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

podgląd archiwum przed jego rozpakowaniem

tar -tf archive.tar.gz # Lista plików

Sprawdzanie integralności (dla tarballi skompresowanych gzipem)

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

Wskazówki dotyczące skryptów dla administratorów systemu

Używaj tar w skryptach tworzenia kopii zapasowych/przywracania:

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

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

Lub automatycznie rozpakować i zainstalować:

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

Pliki tar są niezbędne do pakowania, archiwizowania i wdrażania systemu Linux. Opanowując flagi ekstrakcji i integrując tar ze skryptami, możesz manipulować archiwami z chirurgiczną precyzją – wyodrębniać tylko to, czego potrzebujesz, zachowywać własność, spłaszczać ścieżki lub automatyzować całe przepływy pracy.

Skrócona instrukcja

# 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

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills