GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿El comando tar -cvfz da como resultado un mensaje de error a menos que omita el guión antes de 'cvfz'?

Esta pregunta ya tiene respuestas aquí :Cerrado hace 9 años.

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).

Relacionado:¿Cómo transmitir música a través de la red a varias computadoras en Ubuntu?
Ubuntu
  1. Cómo usar el comando Tar en Linux

  2. Cómo extraer el archivo tar.gz en Linux usando la línea de comandos

  3. No puedo extraer el archivo Tar.bz2:mensaje de error, archivo .h:¿permiso denegado?

  4. ¿Qué es el comando de árbol en Ubuntu?

  5. ¿Es posible canalizar los resultados de FIND a un CP de comando COPY?

Cómo comprimir y extraer archivos usando el comando Tar, Zip en Linux

Solucione el error que no puede encontrar el comando hwmatch en Grub

¿El comando de apagado?

¿Encontrar la línea de comando?

El inicio de Control Suite da como resultado un error de aplicación que no se pudo inicializar

El tutorial Ultimate Tar Command con 10 ejemplos prácticos