Packen einer gesamten Verzeichnisstruktur unter Ignorieren eines bestimmten Dateityps

Packen einer gesamten Verzeichnisstruktur unter Ignorieren eines bestimmten Dateityps

Ich möchte ein Tarball einer Verzeichnisstruktur erstellen. Ich weiß, dass ich das gesamte Verzeichnis packen kann, indem ich tar czvf testdires ausführe, oder alle darin enthaltenen Dateien mit tar czvf testdir/*. Aber ich möchte alle Dateien einer bestimmten Erweiterung ausschließen, die irgendwo im Verzeichnis vorkommen. Beispielsweise möchte ich alle Dateien in derselben Verzeichnisstruktur packen, aber alle .pycDateien auslassen.

Ist das möglich?

Antwort1

Ja, es ist möglich und einfach.

Wie Hastur erwähnt hat, lautet der gewünschte Befehl:

tar --exclude='*.pyc' czvf testdir.tgz testdir

Und ich möchte hinzufügen, dass Sie am besten mit der offiziellen Dokumentation beginnen, wenn Sie Fragen zu einem Terminalbefehl haben, den Sie unter Linux (oder auch Mac OS X) verwenden. Geben Sie ein, man tarund Sie werden es aufrufen. Sie können die Manpage (Manualseite) durchsuchen, indem Sie /searchterm(und für die nächste Übereinstimmung) eingeben, und Sie können mit und , und oder und ndurch die Seite scrollen, je nachdem, wie weit Sie in einem Schritt scrollen möchten.fbdujk

„Aber die Dokumentation ist teilweise Jahrzehnte alt!“ Ja, das ist sie … und das gilt auch für die Tools, die Sie verwenden. Sie haben sich bewährt. Wenn Sie Probleme haben, sollte die Manpage wirklich immer die ERSTE Anlaufstelle sein.

Das Eintippen man tarund anschließende Eintippen /excludeergab:

--exclude=PATTERN
       exclude files, given as a PATTERN

verwandte Informationen