Avec un caractère générique, cela ne fonctionnera pas. Vous devez préciser. (répertoire courant) si vous voulez dire répertoire complet, y compris les fichiers cachés. Vous pouvez faire
tar -cvpzf test.tgz .
La réponse est que le * Le caractère générique est géré par le shell et il ne s'étend tout simplement pas aux éléments commençant par un point. L'autre joker ? ne s'étend pas non plus aux choses qui commencent par un point. Merci à Keith d'avoir souligné que c'est le shell qui fait l'expansion et que cela n'a donc rien à voir avec tar .
Si vous utilisez shopt -s dotglob alors l'expansion inclura des choses comme .filename . Merci à Andy.
Utilisez shopt -u dotglob pour l'éteindre.
Commutation du dotglob l'option ne change pas ls lui-même. Au contraire, cela change simplement le comportement d'expansion comme indiqué dans quelque chose comme ls * .
Edit :Mes recommandations sont dans un commentaire ci-dessous.
Vous pouvez utiliser :
tar -cvpzf test.tgz * .??*
Mais, cela ne fonctionne que pour les fichiers cachés avec des noms> 2 (pour empêcher '.' et '..')