tar: --exclude = ". git": No se puede estadísticas: No existe tal archivo o directorio


11

Esto me está volviendo loca. Quiero tarun directorio, pero excluyo algunos archivos. Este es mi comando:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'

Si bien el comando anterior funciona en RedHat EL5, no funciona en Mac OS 10.8.2. He intentado reemplazar el 'con ", \'y \". He intentado eliminar los signos iguales. Nada funciona.

¿Qué estoy haciendo mal?


Uso gnutarde Brew, MacPort, etc. El alquitrán de Apple está demasiado lisiado.
jww

Respuestas:


23

Todas las opciones deben estar juntas antes de los argumentos, y la -fbandera debe preceder al archivo tar:

tar -zcv --exclude = '. git' --exclude = '. gitignore' -f $ NAME- $ VERSION.tar.gz $ NAME- $ VERSION

Si lo hace tar --help, ¿aparece la --excludeopción en la ayuda? No conozco OSX, pero tal vez hay un en gtarlugar del stock tar.
Flup

2
Ah, lo veo :) intente esto: tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION la -fbandera espera un nombre de archivo como siguiente argumento.
Flup

Lo siento sí, editado. Soy nuevo aquí, así que tengan paciencia conmigo!
Flup

2
Puede dar fe de que esto funciona en una Mac - 10.9. Me tomó un tiempo encontrar la versión correcta de esto, ¡por eso dejo mi comentario aquí!
JohnAllen

2

Esto te da lo que quieres:

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

1

Parece que le gusta filtrar meta directorios .git, la forma más fácil es usar --exclude-vcs para excluir los directorios del sistema de control de versiones:

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

He usado "tar (GNU tar) 1.27.1" en mi máquina Linux, parece que el comando general BSD de mac (versión no GNU) no es compatible con esta opción.


¿Estás seguro de que esto funciona con el alquitrán de Apple? Vea la tar(1)página de manual de Apple . no enumera --exclude-vsco --exclude-vcs.
jww

Gracias querida @jww por tu pista. He editado mi respuesta para que sea más efectiva.
Kayvan Tehrani
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.