Jak tarować katalog bez dołączania samego katalogu

Cześć ludzie! Dziś rozwikłamy pewną zagadkę tar sztuczka, o którą często się pytacie: jak tarować pliki i foldery wewnątrz katalogu bez dołączania katalogu nadrzędnego do archiwum tar? Jest to szczególnie przydatne, gdy potrzebna jest tylko zawartość, a nie struktura folderów.

Klasyczna łamigłówka ze smołą

Wyobraź sobie, że masz katalog Data wypełniony plikami i innymi folderami. Chcesz stworzyć Data.tar archiwum wszystkiego, co jest w środku Data ale bez Data sam katalog będący częścią archiwum. Brzmi skomplikowanie, prawda? Nie bardzo!

Przejdź do wiersza poleceń

Oto jak to zrobić:

  1. Przejdź do katalogu nadrzędnego: Najpierw musisz znajdować się w katalogu zawierającym Data.
   cd /path/to/parent
  1. Używaj Tar z symbolami wieloznacznymi: Sztuka polega na użyciu symboli wieloznacznych. Zamiast powiedzieć tar archiwizować Data, każ mu wszystko zarchiwizować wewnątrz Data.
   tar -cvf Data.tar -C Data .

Tutaj, -C Data zmienia katalog na Data pierwszy i . oznacza wszystko, co w nim jest.

Dlaczego Matters to

Ta metoda jest przydatna z różnych powodów:

  • Archiwizacja selektywna: Otrzymujesz zawartość bez dodatkowej warstwy folderów, idealną do określonych scenariuszy tworzenia kopii zapasowych lub wdrażania.
  • Elastyczność: Pozwala na większą kontrolę nad strukturą archiwizowanych danych.
  • Czysto i schludnie: Idealny, gdy chcesz rozpakować pliki bez tworzenia dodatkowego katalogu.

Przyjrzyjmy się teraz innym scenariuszom.

Scenariusz 1: Typy plików specyficzne dla Tar

Załóżmy, że chcesz tarować tylko określone typy plików w katalogu. Możesz połączyć polecenie find z tar:

cd /path/to/parent
tar -cvf Data.tar -C Data $(find . -name "*.txt" -type f)

To polecenie służy tylko do archiwizacji .txt pliki z Data katalogiem.

Scenariusz 2: Wykluczanie niektórych plików

Jeśli chcesz wykluczyć określone pliki lub wzorce:

cd /path/to/parent
tar --exclude='*.log' -cvf Data.tar -C Data .

To wyklucza wszystko .log pliki z archiwum.

Scenariusz 3: Tar i kompresja w locie

Aby natychmiast skompresować archiwum tar:

cd /path/to/parent
tar -czvf Data.tar.gz -C Data .

Spowoduje to utworzenie spakowanego archiwum tar z zawartością Data.

Scenariusz 4: Przyrostowa kopia zapasowa

Jeśli tworzysz przyrostowe kopie zapasowe zawartości:

cd /path/to/parent
tar --listed-incremental=/path/to/snapshot.file -cvf Data.tar -C Data .

Spowoduje to utworzenie archiwum tar podczas zapisywania zmian z ostatniej kopii zapasowej.

Owijanie w górę

Scenariusze te ilustrują wszechstronność tar. Niezależnie od tego, czy zarządzasz kopiami zapasowymi, wdrażasz oprogramowanie, czy po prostu porządkujesz pliki, tar oferuje rozwiązanie dostosowane do Twoich potrzeb. Zawsze pamiętaj, aby przejść do właściwego katalogu i użyć symboli wieloznacznych lub określonych poleceń, aby kontrolować, co zostanie zawarte w archiwum tar.

Eksploruj, eksperymentuj i opanuj te sztuczki, aby Twoja podróż z Linuksem była wydajniejsza i przyjemniejsza!