Ответ заключается в том, что подстановочный знак *
обрабатывается оболочкой, и он просто не распространяется на элементы, начинающиеся с точки.Другой подстановочный знак ?
также не распространяется на то, что начинается с точки.Спасибо Киту за то, что он указал, что это оболочка выполняет расширение, и поэтому она не имеет ничего общего с tar
.
. Если вы используете shopt -s dotglob
, то расширение будет включать такие вещи, как .filename
.Спасибо Энди.
Используйте shopt -u dotglob
, чтобы отключить его.
Переключение параметра dotglob
само по себе ls
не изменится.Скорее это просто изменяет поведение расширения, как показано в чем-то вроде ls *
.
Редактировать: мои рекомендации в комментарии ниже.