Результат echo * и echo. *

В результате результат команды echo * должен быть «Любой файл в текущем каталоге». Должен ли он включать dotfile?

Точно так же, должен ли результат ls * включать dotfile?

  • Файл не отображается с помощью vi, но отображается с помощью команды ls -l CD *
  • Как я могу перечислить файлы по классу / индикатору (как в ls -classify), а затем по имени?
  • Получить количество файлов в каждом каталоге
  • Возможно ли изменить поведение команды по умолчанию?
  • размер блока файла - разница между stat и ls
  • Как перечислять файлы с именем XXXmmyy.dat в естественном хронологическом порядке?
  • wc - установка конечного символа
  • Список файлов, которые не начинаются с определенного префикса
  • One Solution collect form web for “Результат echo * и echo. *”

    В разделе Расширение имени файла ссылки GNU bash:

    Когда шаблон используется для расширения имени файла, символ «.» в начале имени файла или сразу после косой черты должно быть явно указано, если не установлен параметр оболочки dotglob. При совпадении имени файла символ косой черты всегда должен быть явно определен. В других случаях «.» характер не обрабатывается специально.

    Это документированное (и ожидаемое) поведение во всех оболочках POSIX, см. Шаблоны, используемые для расширения имен файлов :

    Если имя файла начинается с периода ('.'), Период должен быть явно сопоставлен с использованием периода в качестве первого символа шаблона или сразу после символа косой черты. Ведущий период не должен соответствовать:

    • Специальные символы звездочки или вопросительного знака

    • Выражение скобки, содержащее список несоответствий, такой как «[! A]», выражение диапазона, такое как «[% -0]» или выражение класса символа, такое как «[[: punct:]]»,

    Не указано, может ли явный период в списке соответствия выражений скобок, например «[.abc]», соответствовать совпадающему периоду в имени файла.

    Linux и Unix - лучшая ОС в мире.