So tarieren Sie ein Verzeichnis, ohne das Verzeichnis selbst einzuschließen

Hallo Leute! Lassen Sie uns heute eine ordentliche Lösung finden tar Trick, nach dem oft gefragt wird: Wie tariert man Dateien und Ordner? in einem Verzeichnis, ohne das übergeordnete Verzeichnis in den Tarball aufzunehmen? Dies ist besonders nützlich, wenn Sie nur den Inhalt und nicht die Ordnerstruktur benötigen.

Das klassische Tar-Puzzle

Stellen Sie sich vor, Sie haben ein Verzeichnis Data gefüllt mit Dateien und anderen Ordnern. Sie möchten eine erstellen Data.tar Archiv von allem darin Data aber ohne die Data Verzeichnis selbst ist Teil des Archivs. Klingt knifflig, oder? Nicht wirklich!

Tauchen Sie ein in die Befehlszeile

Hier ist, wie Sie es tun:

  1. Navigieren Sie zum übergeordneten Verzeichnis: Zuerst müssen Sie sich in dem Verzeichnis befinden, das enthält Data.
   cd /path/to/parent
  1. Verwenden Sie Tar mit Platzhaltern: Der Trick besteht darin, Platzhalter zu verwenden. Anstatt zu erzählen tar archivieren Data, sagen Sie ihm, dass es alles archivieren soll innerhalb Data.
   tar -cvf Data.tar -C Data .

Hier -C Data ändert das Verzeichnis in Data zuerst und . bedeutet alles darin.

Warum dies wichtig ist

Diese Methode ist aus verschiedenen Gründen praktisch:

  • Selektive Archivierung: Sie erhalten die Inhalte ohne die zusätzliche Ordnerebene, perfekt für bestimmte Sicherungs- oder Bereitstellungsszenarien.
  • Flexibilität: Es ermöglicht eine bessere Kontrolle über die Struktur Ihrer archivierten Daten.
  • Sauber und ordentlich: Ideal, wenn Sie Dateien entpacken möchten, ohne ein zusätzliches Verzeichnis zu erstellen.

Lassen Sie uns nun einige der anderen Szenarien untersuchen.

Szenario 1: Tar-spezifische Dateitypen

Angenommen, Sie möchten nur bestimmte Dateitypen innerhalb des Verzeichnisses tarieren. Sie können den Befehl find mit tar kombinieren:

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

Dieser Befehl archiviert nur .txt Dateien von der Data Verzeichnis.

Szenario 2: Ausschließen bestimmter Dateien

Wenn Sie bestimmte Dateien oder Muster ausschließen möchten:

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

Dies schließt alle aus .log Dateien aus dem Archiv.

Szenario 3: Tarieren und komprimieren im laufenden Betrieb

Um den Tarball sofort zu komprimieren:

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

Dadurch wird ein komprimierter Tarball mit dem Inhalt von erstellt Data.

Szenario 4: Inkrementelles Backup

Wenn Sie inkrementelle Sicherungen des Inhalts durchführen:

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

Dadurch wird ein Tarball erstellt, während die Änderungen seit der letzten Sicherung aufgezeichnet werden.

Fazit

Diese Szenarien veranschaulichen die Vielseitigkeit von tar. Egal, ob Sie Backups verwalten, Software bereitstellen oder einfach nur Dateien organisieren, tar bietet eine auf Ihre Bedürfnisse zugeschnittene Lösung. Denken Sie immer daran, zum richtigen Verzeichnis zu navigieren und Platzhalter oder bestimmte Befehle zu verwenden, um zu steuern, was in Ihren Tarball aufgenommen wird.

Entdecken, experimentieren und beherrschen Sie diese Tricks, um Ihre Linux-Reise effizienter und angenehmer zu gestalten!