J'ai utilisé les réponses de Copier des fichiers sans perdre les autorisations des fichiers/dossiers lorsque j'ai rencontré ce comportement intéressant et inattendu.
Utilisation tar cvpfz target.tar.gz dir1
fonctionne parfaitement, et il s'agit essentiellement de la structure des commandes énumérées dans les réponses suggérées à la question mentionnée ci-dessus.
Curieusement, cependant, lorsque j'ai ajouté l'option -
avant les paramètres (c'est-à-dire tar -cvpfz ...
(en pensant qu'il s'agissait d'un simple changement de style), c'est là que l'étrangeté s'installe.
$ tar -cvpfz target.tar.gz dir1
tar: target.tar.gz: Cannot stat: No such file or directory
...
tar: Exiting with failure status due to previous errors
Plus étrange encore, bien que tar -cvpfz ...
jette l'erreur susmentionnée, la commande fonctionne en fait, mais au lieu de créer un fichier gzippé, elle crée un fichier tar avec le nom z
(même si l'erreur est toujours présente).
Si je fais un tar -tvf z
il énumère correctement le contenu du fichier tar. Si je fais un tar -ztvf z
il indique qu'il n'est pas gzippé.
J'ai finalement découvert qu'en remplaçant la commande par tar -zcvpf
fonctionne parfaitement. D'une manière ou d'une autre, le fait de mettre le z
en premier fonctionne correctement, mais le fait de le placer en dernier (c.-à-d. tar -cvpfz ...
) ne le fait pas !
man tar
semble indiquer que le -
est optionnelle, et on pourrait penser que la commande tar devrait fonctionner de la même manière avec ou sans l'option -
.
J'espère que cela aidera quelqu'un d'autre qui, comme moi, a ajouté l'élément -
Il s'agit d'une différence de style qui ne change rien à la commande.
Comme je suis curieuse et que j'aimerais en savoir plus à ce sujet, quelqu'un peut-il m'éclairer sur les raisons de ce phénomène ?