Jak tarovat adresář bez zahrnutí samotného adresáře

Ahoj, lidi! Dnes si to rozebereme tar trik, na který se často ptají: jak tarovat soubory a složky uvnitř adresáře bez zahrnutí nadřazeného adresáře do tarballu? To je zvláště užitečné, když chcete pouze obsah, nikoli strukturu složek.

Klasické Tar Puzzle

Představte si, že máte adresář Data plné souborů a dalších složek. Chcete vytvořit a Data.tar archiv všeho uvnitř Data ale bez Data samotný adresář je součástí archivu. Zní to složitě, že? Spíš ne!

Ponořte se do příkazového řádku

Postupujte takto:

  1. Přejděte do nadřazeného adresáře: Nejprve musíte být v adresáři, který obsahuje Data.
   cd /path/to/parent
  1. Použijte Tar se zástupnými znaky: Trik je v použití zástupných znaků. Místo vyprávění tar archivovat Data, řeknete mu, aby vše archivovalo uvnitř Data.
   tar -cvf Data.tar -C Data .

Zde, -C Data změní adresář na Data první a . znamená vše v něm.

Proč na tom záleží

Tato metoda je užitečná z různých důvodů:

  • Selektivní archivace: Získáte obsah bez další vrstvy složek, ideální pro konkrétní scénáře zálohování nebo nasazení.
  • Flexibilita: Umožňuje větší kontrolu nad strukturou vašich archivovaných dat.
  • Čistý a uklizený: Ideální, když chcete rozbalit soubory bez vytvoření dalšího adresáře.

Nyní prozkoumáme některé další scénáře.

Scénář 1: Typy souborů specifické pro Tar

Předpokládejme, že chcete tarovat pouze určité typy souborů v adresáři. Příkaz find můžete zkombinovat s příkazem tar:

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

Tento příkaz pouze archivuje .txt soubory ze souboru Data adresáře.

Scénář 2: Vyloučení určitých souborů

Pokud chcete vyloučit konkrétní soubory nebo vzory:

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

To vylučuje všechny .log soubory z archivu.

Scénář 3: Tar and Compress on the Fly

Pro okamžitou kompresi tarballu:

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

Tím se vytvoří gzipovaný tarball obsahu Data.

Scénář 4: Přírůstkové zálohování

Pokud provádíte přírůstkové zálohy obsahu:

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

To vytvoří tarball při zaznamenávání změn z poslední zálohy.

Balil

Tyto scénáře ilustrují všestrannost tar. Ať už spravujete zálohy, nasazujete software nebo jen organizujete soubory, tar nabízí řešení šité na míru vašim potřebám. Vždy nezapomeňte přejít do správného adresáře a používat zástupné znaky nebo specifické příkazy k ovládání toho, co bude zahrnuto do vašeho tarballu.

Prozkoumejte, experimentujte a osvojte si tyto triky, aby byla vaše cesta Linuxem efektivnější a zábavnější!