Usted está buscando el argumento --exclude
.
--exclude=PATTERN
Algunos usuarios encuentran exclude
opciones confusas. Aquí están algunos errores comunes:
El modo de funcionamiento principal del tar
no actúa sobre un nombre de ruta aparece explícitamente en la línea de comandos si uno de su nombre de archivo se excluye componentes. En el ejemplo anterior, si crea un archivo y excluye archivos que terminan con *.o
, pero explícitamente el nombre después de que se hayan enumerado todas las opciones, dir.o/foo
se excluirán del archivo.
A veces se puede confundir los significados de --exclude=PATTERN
y --exclude-from=FILE-OF-PATTERNS
(-X FILE-OF-PATTERNS
). Sea cuidado: use --exclude=PATTERN
cuando los archivos que se van a excluir son indicados como un patrón en la línea de comando. Use --exclude-from=FILE-OF-PATTERNS
para introducir el nombre de un archivo que contiene una lista de patrones, uno por línea; cada uno de estos patrones puede excluir cero, uno o muchos archivos.
Cuando se utiliza --exclude=PATTERN
, asegúrese de citar el parámetro PATRÓN , por lo GNU tar
ve caracteres comodín como *
. Si no hace esto, el shell podría expandir el *
utilizando los archivos , por lo que tar
podría recibir una lista de archivos en lugar de un patrón , o ninguno, haciendo el comando algo ilegal. Esto podría no corresponderse con lo que desea.
Por ejemplo, escriba:
$ tar -c -f ARCHIVE.TAR --exclude '*.o' DIRECTORY
en lugar de:
$ tar -c -f ARCHIVE.TAR --exclude *.o DIRECTORY
- Debe utilizar el uso de sintaxis concha, o comodines, en lugar de
regexp
sintaxis, al utilizar excluye opciones en tar
. Si intenta utilizar la sintaxis regexp
para describir los archivos que se excluirán, su comando podría fallar.
Gracias por la respuesta. Tienes mucha razón en que --excluir puede ser un poco confuso. No lo entendí al 100% hasta que leí tus explicaciones. Gracias – VinkoCM