Posible duplicado:
sudo tar cvpzf saliendo con falla debido a un error anterior
Cuando ejecuto el comando
tar -cvfz backup.tar.gz somedirectory
Obtengo el siguiente mensaje
tar: Exiting with failure status due to previous errors
Sin embargo, cuando omito el guión anterior de -cvfz
todo parece funcionar bien. ¿Hay algún motivo conocido por el que el guión me impida borrar mis archivos?
Respuesta aceptada:
No estoy seguro de por qué tar cvfz
funciona, según un escaneo rápido del man
página y mi experiencia, un guión es una práctica estándar. Tal vez sea una cuestión de compatibilidad con BSD (como ps
).
En cualquier caso, su sintaxis es incorrecta. -f
toma el siguiente argumento como el nombre de archivo para comprimir. En este caso, ese nombre de archivo es z
, que no es lo que esperabas. Aquí hay una muestra de la salida para que pueda ver a lo que me refiero:
$ tar -cvfz test.tar.gz scott
tar: test.tar.gz: Cannot stat: No such file or directory
scott/
scott/netx/
scott/netx/locks/
scott/netx/locks/netx_running
tar: Exiting with failure status due to previous errors
Un ls
muestra un archivo llamado z
. El file
comando revela que es un tar
sin comprimir archivo. No está comprimido porque -z
el argumento no fue aprobado. Y el mensaje de error provino de intentar agregar el archivo inexistente test.tar.gz
al archivo.
Simplemente reordene las opciones y estará bien:
tar -czvf test.tar.gz some/directory
Si siempre haces el -f
el último argumento, estarás bien. Por cierto, recuerda que las opciones cortas (opciones de una letra) que toman argumentos normalmente no requieren un espacio entre la opción y el argumento.
EDITAR: Por cierto, si el formulario sin el guión es compatible con BSD o algo así, entonces es probable que la forma en que tar
se invoca en dicho entorno es diferente y no requiere el f
bandera para especificar el archivo de entrada, pero funciona más como cp
o algo. Pero esto es solo una especulación basada en la comparación con ps
(qv).