
Sé que hay muchas preguntas que parecen idénticas, pero hasta ahora no he encontrado mi respuesta.
Entonces, supongamos que estoy en el directorio de trabajo actual:/prueba/ Me gustaría agregar a un archivo 'test.tar.gz' que estará en/prueba/archivo/ todos los archivos que están contenidos en/prueba/archivos/y luego elimine los archivos de este directorio/
Lo intenté :
tar -cz -C archive -f "test.tar.gz" -C files ./* && rm -rf files
Pero ningún éxito.
Alguna idea ?
Gracias ! nico
Respuesta1
$ tar -zcvf archive/test.tar.gz files
files/
files/1
files/2
files/3
$ tar -zcvf archive/test.tar.gz -C files .
./
./1
./2
./3
dependiendo de cómo quieras estructurar tu alquitrán.
Respuesta2
Un solo comando como este funcionará suponiendo que ya esté en/test
(tar -cvf - ./files/* | gzip >./archive/test.tar.gz) && rm -rf files
Al usar, -
estamos arrojando la salida del tar
comando stdout
y luego canalizándola, lo gzip
que a su vez redirige su salida a./archive