Почему подстановочный знак «?» не работает?

Почему подстановочный знак «?» не работает?

Я учусь использовать терминал на Ubuntu с WSL. Сейчас я практикуюсь с подстановочными знаками, но ?подстановочные знаки у меня не работают.

Как видите, *подстановочный знак работает, а этот — нет:

$ ls file*
file.html file.js file.txt
$ ls dot*
dot.txt dot1902.html dot2.txt
$ ls *.html
archivoPruebaClase.html dot1902.html file.html
$ ls dot?
ls: cannot access 'dot?': No such file or directory
$ ls index?
ls: cannot access 'index?': No such file or directory

решение1

Я думаю, что это работает нормально:

  • A *будет заменено любым количеством символов в командной строке.

  • A ?будет заменен ровно одним символом.

Так, например, ls dot?.txtбудет показано dot1.txt, dot2.txtи т. д., но не будет показано dot10.txt.

Попробуйте ls -aсоставить список всех файлов/папок в этой папке, а затем вы сможете решить, что именно следует перечислить с использованием подстановочных знаков.

Связанный контент