Quiero crear un tarball de una estructura de directorios. Sé que puedo empaquetar todo el directorio ejecutando tar czvf testdir
o todos los archivos que contiene con tar czvf testdir/*
. Pero lo que quiero hacer es excluir todos los archivos de una determinada extensión que se encuentren en cualquier parte del directorio. Por ejemplo, quiero empaquetar todos los archivos en la misma estructura de directorios, pero omitir todos .pyc
los archivos.
es posible?
Respuesta1
Sí, es posible y sencillo.
Como mencionó Hastur, el comando que desea es:
tar --exclude='*.pyc' czvf testdir.tgz testdir
Y quiero agregar que si tiene alguna pregunta sobre cualquier comando de terminal que esté usando en Linux (o Mac OS X), el mejor lugar para comenzar es con la documentación oficial. Escribe man tar
y lo abrirás. Puede buscar en la página de manual (página de manual) escribiendo /searchterm
(y n
para la siguiente coincidencia) y puede desplazarse por la página usando f
y b
, d
y u
, o j
y k
dependiendo de cuánto desee desplazarse en un solo paso.
"¡Pero en algunos casos la documentación tiene décadas de antigüedad!" Sí, lo es... y también lo son las herramientas que estás utilizando. Han resistido la prueba del tiempo. Realmente, la página de manual siempre debería ser el PRIMER recurso si tiene problemas.
Escribiendo man tar
seguido de /exclude
producido:
--exclude=PATTERN
exclude files, given as a PATTERN