Das macht mich verrückt. Ich möchte tar
ein Verzeichnis erstellen, aber einige Dateien ausschließen. Das ist mein Befehl:
tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'
Während der obige Befehl unter RedHat EL5 funktioniert, funktioniert er unter Mac OS 10.8.2 nicht. Ich habe versucht, das '
durch zu ersetzen "
, \'
und \"
. Ich habe versucht, die Gleichheitszeichen zu entfernen. Nichts funktioniert.
Was mache ich falsch?
gnutar
von Brew, MacPort usw. Apples Teer ist zu verkrüppelt.Antworten:
Alle Optionen müssen vor den Argumenten zusammen sein, und das
-f
Flag muss vor der TAR-Datei stehen:quelle
tar --help
, wird die--exclude
Option in der Hilfe angezeigt? Ich kenne OSX nicht, aber vielleicht gibt es einegtar
anstelle der Aktietar
.tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION
Das-f
Flag erwartet einen Dateinamen als nächstes Argument.Dies gibt Ihnen, was Sie wollen:
quelle
Es scheint, dass Sie .git-Metaverzeichnisse filtern möchten. Der einfachste Weg ist die Verwendung von --exclude-vcs, um Verzeichnisse des Versionskontrollsystems auszuschließen:
Ich habe "tar (GNU tar) 1.27.1" auf meinem Linux-Computer verwendet. Es scheint, dass der BSD General Command (Nicht-GNU-Version) von mac diese Option nicht unterstützt.
quelle
tar(1)
Manpage . es listet nicht auf--exclude-vsc
oder--exclude-vcs
.