Согласно странице bash man:
bash сканирует каждое слово для символов *,? и [. Если появляется один из этих символов, это слово рассматривается как шаблон и заменяется алфавитно отсортированным списком имен файлов, соответствующих шаблонуи из информационного узла для ls
bash сканирует каждое слово для символов *,? и [. Если появляется один из этих символов, это слово рассматривается как шаблон и заменяется алфавитно отсортированным списком имен файлов, соответствующих шаблону
. Для аргументов командной строки, отличных от опции, которые являются каталогами, по умолчанию «ls» перечисляет содержимое каталогов, а не рекурсивно, и опускает файлы с именами, начинающимися с «.». Для других аргументов, отличных от опций, по умолчанию `ls 'перечисляет только имя файла. Если аргументы без аргумента не указаны, «ls» перечисляет содержимое текущего каталога.Программа `ls 'содержит информацию о файлах (любого типа, включая каталоги). Параметры и аргументы файла могут быть перемешаны произвольно, как обычно.
ls dump
, поэтому, когда yo дает ls d*, ls разворачивается в отсортированный список всех имен файлов / каталогов, начиная с d. Таким образом, команда становится
ls Desktop Documents Downloads Dropbox
, а дамп - это имя каталога, поэтому вы получаете список всех файлов в каталоге «dump», но когда вы даете ls D*, D * расширяется до «Desktop» Documents Downloads Dropbox ", поэтому команда становится