So schließen Sie Dateien aus einem Zip-Archiv aus
Inhaltsverzeichnis:
Der einfachste Weg, viele bestimmte Dateien oder eine Gruppe übereinstimmender Dateien aus einem Zip-Archiv auszuschließen, besteht darin, das in die benutzerfreundliche Benutzeroberfläche von Mac OS X integrierte Dienstprogramm zum einfachen Zippen zu überspringen und zur Befehlszeile zu wechseln, wo die leistungsstarker Zip-Befehl befindet sich. Dies ist aus einer Million und einem Grund nützlich, aber die Hauptmotivation für diesen Beitrag bezieht sich auf die .DS_Store-Dateien, die zusammen mit auf einem Mac erstellten Zip-Archiven gebündelt werden, nur um einen anderen Computer zu überladen, der die Datei entpackt, unabhängig davon, ob sie sich auf einem anderen befindet Mac, Windows-PC oder Linux.Dies geschieht standardmäßig sowohl mit dem benutzerfreundlichen Zip-Tool als auch mit dem Befehlszeilen-Zip-Dienstprogramm, und das liegt daran, dass das Standardverh alten des Zipping-Tools darin besteht, versteckte Dateien einzuschließen, unabhängig davon, ob sie angezeigt werden oder nicht. Das ist nicht unbedingt eine schlechte Sache und würde in vielen Fällen als nützlich erachtet, aber wenn Sie nicht möchten, dass sie oder andere Dateien in Ihrem Archiv auftauchen, dann lesen Sie weiter.
Ausschließen von Dateien aus einem Zip-Archiv
Die Grundlagen des Dateiausschlusses beim Erstellen eines ZIP-Archivs drehen sich um das Flag -x, das verwendet wird, um Dateien aus dem Archiv auszuschließen, die einem bestimmten Namen oder Muster entsprechen. Im Grunde sieht es so aus:
"zip archive.zip files -x ExcludeMe"
Das heißt, Sie könnten eine einzelne Datei ausschließen, sagen wir, sie heißt „Nothanks.jpg“
"zip archive.zip images/ -x Nothanks.jpg"
Lassen Sie uns einige spezifische Beispiele behandeln, bei denen dies nützlich ist.
Ausschließen von .DS_Store-Dateien aus Zip-Archiven
Dies verhindert, dass die normalerweise unsichtbaren .DS_Store-Metadatendateien von Mac in ein ZIP-Archiv aufgenommen werden, das standardmäßig gebündelt ist:
"zip -r Archivname.zip Archivverzeichnis -x .DS_Store"
Wenn das Verzeichnis jedoch Unterverzeichnisse enthält, sollten Sie eine andere Variante dieses Befehls verwenden, um die ds_store-Dateien auch aus Unterverzeichnissen auszuschließen:
"zip -r archive.zip Verzeichnis -x /\.DS_Store"
Hinweis: Nicht alle Shells benötigen die Anführungszeichen, damit dieser Befehl ordnungsgemäß funktioniert, aber in der Bash-Shell (der Standard für Mac OS X) müssen Sie die Anführungszeichen zum Ausschließen mit Platzh altern und Mustern verwenden.
Bestimmte Dateitypen aus einem Zip-Archiv ausschließen
Mit Platzh altern können Sie auch alle Dateien eines bestimmten Typs ausschließen, indem Sie sich auf die Erweiterung konzentrieren. Dieser Befehl komprimiert beispielsweise ein gesamtes Verzeichnis ohne .jpg-Dateien:
"zip -r archive.zip Verzeichnis -x .jpg"
Das könnte für jede spezifische Dateierweiterung oder jedes Muster geändert werden, das mit einem Dateinamen übereinstimmt.
Das .git- oder .svn-Verzeichnis aus einem Zip-Archiv ausschließen
"Zip ein Verzeichnis, minus .git und seinen Inh alt: zip -r zipdir.zip directorytozip -x .git "
Komprimieren Sie einen Ordner, ohne das .svn-Verzeichnis einzuschließen: zip -r zipped.zip directory -x .svn "
Alle versteckten Dateien aus einem Zip-Archiv ausschließen
Da Muster und Platzh alter verwendet werden können, können Sie auch einige oder alle unsichtbaren Dateien und Ordner ausschließen, die durch einen Punkt vorangestellt sind, egal ob es sich um ein Verzeichnis wie .svn oder eine einzelne Datei wie handelt .bash_profile oder .htaccess.
zip -r Archivname.zip directorytozip -x ."
Oder alle unsichtbaren Dateien aus allen Unterverzeichnissen ausschließen:
"zip -r archive.zip Verzeichnis -x /\."
Ein Hoch auf einen Kommentator in den Macworld-Foren für die genaue Syntax zum Ausschließen dieser Dateien auch aus Unterverzeichnissen.
Letztendlich ist dies nur ein weiterer Grund für Power-User, zum Erstellen von Archiven zum Terminal zu springen. Mit leistungsstarken Funktionen wie Platzh alterunterstützung, Ausschluss und optionalem Kennwortschutz von Reißverschlüssen bietet es einfach mehr Funktionen, und da es sowieso alles auf dem Mac enth alten ist, müssen Sie keine weitere App herunterladen, um die erweiterten Funktionen zu unterstützen.
Und ja, technisch gesehen, wenn Sie entschlossen sind, in der Benutzeroberfläche zu bleiben, können Sie die Suchoperatoren Finder und Spotlight verwenden, um den Inh alt eines Ordners in Mac OS X einzugrenzen, bevor Sie ein Archiv erstellen, oder einfach Alles auswählen und manuell auswählen Befehl+Klicken Sie auf jede Datei, um sie nicht einzuschließen, aber das ist wirklich nicht effizient für große Archivierungsvorgänge.Daher gewinnt das Terminal mit Leichtigkeit, und obwohl es sich um die Befehlszeile dreht, ist es wirklich nicht kompliziert, sobald Sie die Grundlagen gelernt haben.