Duplicate possible:
Sudo tar cvpzf sortant avec échec dû à une erreur précédente
Quand je lance la commande
tar -cvfz backup.tar.gz somedirectory
Je reçois le sterr suivant
tar: Exiting with failure status due to previous errors
Cependant, lorsque je supprime le tiret 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 gérer mes fichiers?
Je ne suis pas sûr de savoir pourquoi tar cvfz
fonctionne. Lors de l'analyse rapide de la page man
et de mon expérience, un trait d'union est une pratique courante. Peut-être que c'est une compatibilité BSD (comme ps
name__).
Quoi qu'il en soit, votre syntaxe est incorrecte. -f
prend le prochain argument comme nom de fichier à compresser. Dans ce cas, ce nom de fichier est z
name__, ce qui n'est pas ce à quoi vous vous attendiez. Voici un exemple de sortie 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
ls
affiche un fichier appelé z
name__. La commande file
révèle qu'il s'agit d'une archive non compressée tar
name__. Il est décompressé car l'argument -z
n'a pas été passé. Et le message d'erreur est venu d'essayer d'ajouter le fichier non existant test.tar.gz
à l'archive.
Il suffit de réorganiser les options et tout ira bien:
tar -czvf test.tar.gz some/directory
Si vous faites toujours le dernier argument -f
, tout ira bien. En passant, 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.
EDIT: Soit dit en passant, si le formulaire sans le tiret est une compatibilité BSD ou quelque chose du genre, il est probable que la façon dont tar
soit invoqué dans un tel environnement est différente et ne le fait pas. t nécessite l’indicateur f
pour spécifier le fichier d’entrée, mais fonctionne plutôt comme cp
ou quelque chose comme ça. Mais il ne s'agit que d'une spéculation basée sur une comparaison avec ps
(q.v.).