Я полагаю, что из ваших фраз вы ожидали получить один результат:
# ls ?tc
etc
но вы на самом деле получили несколько результатов.
Знак вопроса является символом сглаживания, как определено:
?
джокер. ?
символ служит односимвольным "подстановочным знаком" для расширения имени файла в глобализации, а также представляет один символ в расширенном регулярном выражении.
То, что произошло, это то, что подстановочный знак был расширен оболочкой (предположительно bash
) перед передачей в ls
1. Так ls
относились к нему , как:
# ls etc
Который возвратил бы много «файлов и папок 2 » из /etc
1: Вы можете проверить, что расширение происходит перед выполнением команды, попробовав: echo *
- это будет (должно!) возвратите файлы и каталоги в текущем каталоге.
2 : Если вы хотите разобраться с командной строкой, предпочитайте термин «каталог», а не «папка» :-)