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)
2. Wyodrębnienie pliku .tar.gz lub .tgz
3. Wyodrębnienie pliku .tar.bz2
4. Wyodrębnij plik .tar.xz
5. Wyodrębnienie pliku .tar.zst (Zstandard)
Wspólne flagi rozszerzone
Flaga | Funkcja |
---|---|
-x | Pobrane z |
-f | Użycie pliku archiwum |
-v | Określone dane wyjściowe (lista plików) |
-C | Zmiana katalogu przed wyodrębnieniem |
–strip-components=N | Usuwa N początkowych elementów ścieżki |
–wildcards | Włącz filtrowanie symboli wieloznacznych |
–no-same-owner | Unikaj zmiany właściciela pliku podczas ekstrakcji |
–overwrite | Wymuszone nadpisywanie bez monitów |
–exclude=PATTERN | Wyklucza pliki pasujące do wzorca |
Zaawansowane przykłady
Wyodrębnianie do określonego katalogu
Usuń folder najwyższego poziomu (spłaszcz strukturę)
Wyodrębnianie określonych plików
Wyodrębnianie pasującego wzorca przy użyciu symboli wieloznacznych
Ekstrakcja z wykluczeniem niektórych ścieżek
Benchmark czasu ekstrakcji
Obsługa przypadków brzegowych
plik jest uszkodzony
Użyj tar z –ignore-zeros, aby pominąć uszkodzone bloki:
podgląd archiwum przed jego rozpakowaniem
Sprawdzanie integralności (dla tarballi skompresowanych gzipem)
Wskazówki dotyczące skryptów dla administratorów systemu
Używaj tar w skryptach tworzenia kopii zapasowych/przywracania:
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