GNU/Linux >> Tutoriels Linux >  >> Ubuntu

La commande Tar -cvfz entraîne un message d'erreur à moins que j'omette le trait d'union avant "cvfz" ?

Cette question a déjà des réponses ici :Fermé il y a 9 ans.

Duplication possible :
sudo tar cvpzf sortant avec échec dû à une erreur précédente

Lorsque j'exécute la commande

tar -cvfz backup.tar.gz somedirectory

J'obtiens le sterr suivant

tar: Exiting with failure status due to previous errors

Cependant, lorsque j'omets le trait d'union précédent de -cvfz tout semble bien fonctionner. Existe-t-il une raison connue pour laquelle le trait d'union m'empêche de tarer mes fichiers ?

Réponse acceptée :

Je ne sais pas pourquoi tar cvfz fonctionne, selon un scan rapide du man page et mon expérience, un trait d'union est une pratique courante. C'est peut-être une question de compatibilité BSD (comme ps ).

En tout cas, votre syntaxe est incorrecte. -f prend l'argument suivant comme nom de fichier à compresser. Dans ce cas, ce nom de fichier est z , ce qui n'est pas ce à quoi vous vous attendiez. Voici un exemple de résultat pour que vous puissiez voir ce que je veux dire :

$ 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 affiche un fichier appelé z . Le file La commande révèle qu'il s'agit d'un tar non compressé archive. Il n'est pas compressé car le -z l'argument n'a pas été adopté. Et le message d'erreur est venu d'essayer d'ajouter le fichier inexistant test.tar.gz aux archives.

Réorganisez simplement les options et tout ira bien :

tar -czvf test.tar.gz some/directory

Si vous faites toujours le -f le dernier argument, tout ira bien. Au fait, rappelez-vous que les options courtes (options à une lettre) qui prennent des arguments ne nécessitent normalement pas d'espace entre l'option et l'argument.

MODIF : Au fait, si le formulaire sans le trait d'union est compatible avec BSD ou quelque chose comme ça, alors il est probable que la façon dont tar est invoqué dans un tel environnement est différent et ne nécessite pas le f drapeau pour spécifier le fichier d'entrée, mais fonctionne plus comme cp ou quelque chose. Mais ce ne sont que des spéculations basées sur une comparaison avec ps (q.v.).

Connexe :Comment diffuser de la musique sur le réseau vers plusieurs ordinateurs dans Ubuntu ?
Ubuntu
  1. Comment utiliser la commande Tar sous Linux

  2. Comment extraire le fichier tar.gz sous Linux à l'aide de la ligne de commande

  3. Je ne peux pas extraire le fichier Tar.bz2 :message d'erreur, fichier .h :autorisation refusée ?

  4. Extraire tar l'erreur de fichier tar.bz2

  5. Comment combiner la commande 'tar' avec 'find'

Comment compresser et extraire des fichiers à l'aide de la commande Tar, Zip sous Linux

Corrigez l'erreur impossible de trouver la commande hwmatch sur Grub

La commande d'arrêt ?

Trouver la ligne de commande ?

Le démarrage de Control Suite entraîne une erreur d'échec d'initialisation de l'application

Le didacticiel Ultimate Tar Command avec 10 exemples pratiques