Bash скрывает скрытые файлы

Я пытаюсь использовать следующие шарики в оболочке bash:

$ ls -d .* . .. .a .ab $ ls .a* .a .ab $ ls .[!.]* .a .ab $ ls .[!.]?* .ab 

Разве последнее выражение не должно означать «точка, за которой следует ровно одна точка, а не ноль или более символов»? Почему это не соответствует .a ?

One Solution collect form web for “Bash скрывает скрытые файлы”

Вы ошибаетесь. Это означает «точка, за которой следует ровно одна точка без точки, за которой следует один символ, за которым следуют ноль или более символов». .a не имеет достаточного количества символов для его соответствия.

Но на самом деле, просто установите dotglob .

  • находить файлы без расширения
  • Найти команду: путь к файлу vs -name Аргумент
  • Заказ файлов, открытых программой
  • Как я могу использовать '*' для захвата всего с исключениями
  • Что значит? * Означает в команде оболочки?
  • Как скопировать файл в домашний каталог каждого пользователя в BASH?
  • запуск vim с заменой команды
  • Копирование последовательных файлов
  • echo *, не может узнать, что он делает
  • Как я могу прокручивать строки файла и находить файлы, соответствующие каждой строке?
  • Что такое команда Linux, чтобы отобразить, сколько имен файлов в каталоге заканчивается двумя цифрами
  • Linux и Unix - лучшая ОС в мире.