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?


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

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

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.