tar: --exclude = ". git": Kann nicht stat: Keine solche Datei oder kein solches Verzeichnis

11

Das macht mich verrückt. Ich möchte tarein 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?

Zufälliges Blau
quelle
Verwendung gnutarvon Brew, MacPort usw. Apples Teer ist zu verkrüppelt.
JWW

Antworten:

23

Alle Optionen müssen vor den Argumenten zusammen sein, und das -fFlag muss vor der TAR-Datei stehen:

tar -zcv --exclude = '. git' --exclude = '. gitignore' -f $ NAME- $ VERSION.tar.gz $ NAME- $ VERSION
Flup
quelle
Wenn Sie dies tun tar --help, wird die --excludeOption in der Hilfe angezeigt? Ich kenne OSX nicht, aber vielleicht gibt es eine gtaranstelle der Aktie tar.
Flup
2
Ah, ich sehe es :) Versuchen Sie Folgendes: tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION Das -fFlag erwartet einen Dateinamen als nächstes Argument.
Flup
Sorry ja, bearbeitet. Ich bin neu hier, also nimm es mit!
Flup
2
Kann bestätigen, dass dies auf einem Mac funktioniert - 10.9. Ich habe eine Weile gebraucht, um die richtige Version davon zu finden, weshalb ich hier meinen Kommentar hinterlasse!
JohnAllen
2

Dies gibt Ihnen, was Sie wollen:

tar czvf $NAME-$VERSION.tar.gz $NAME-$VERSION --wildcards --exclude=.git --exclude=.gitignore
Sonde
quelle
1

Es scheint, dass Sie .git-Metaverzeichnisse filtern möchten. Der einfachste Weg ist die Verwendung von --exclude-vcs, um Verzeichnisse des Versionskontrollsystems auszuschließen:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude-vsc

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.

Kayvan Tehrani
quelle
Sind Sie sicher, dass dies mit Apples Teer funktioniert? Siehe Apples tar(1)Manpage . es listet nicht auf --exclude-vscoder --exclude-vcs.
JWW
Danke lieber @jww für deinen Hinweis. Ich habe meine Antwort bearbeitet, um effektiver zu sein.
Kayvan Tehrani