Что означает команда ls с «[», «]» и «?» делать? [дубликат]

Меня интересует эта команда:

ls [A-D]?.txt

Это вопрос Unix по оценке. Нас просят определить, что делает эта команда.

-5
задан 27 July 2019 в 16:10

1 ответ

Просто описание, что делает команда, вероятно, было бы бесполезно Вам, частично потому что та определенная команда - вероятно, не себя очень интересный, но также и потому что ее эффект несколько контекстно-зависим (см. ниже). То, что представляет больший интерес - и что я надеюсь, может более полезно ответить на вопрос для Вас и для других, которые находят, что эта страница путем поиска - является информацией о включенных понятиях и что документация консультироваться.

Большинство оболочек выполняет globbing, который также называют расширением имени файла и расширением пути. В globbing текст, который содержит конкретные специальные символы, рассматривают как шаблон и расширяют на названия существующих файлов, которые соответствуют шаблону. Различные оболочки отличаются по своему синтаксису, но общий синтаксис - который стандартизирован POSIX - обработки *, ?, и [ особенно.

Для получения общей информации о шариках можно работать man 7 glob. Это показывает страницу руководства, которая объясняет общий синтаксис и также охватывает некоторые важные концептуальные проблемы, включая то, как шарики не являются тем же как регулярными выражениями, даже при том, что у них есть некоторые общие черты.

Затем на специфические особенности: globbing выполняется Вашей оболочкой, поэтому консультируйтесь с документацией своей оболочки. Если Ваша оболочка является ударом, Вы могли бы работать man bash, но лучшая документация для консалтинга является справочником Bash. В нем можно проверить, что одно из расширений, выполненных оболочкой, является расширением имени файла, и считайте детали того, как расширение имени файла выполняется.

Я надеюсь, что Вы не думаете, что я пытаюсь отказать в информации, поскольку это не моя цель. У меня просто нет контекста, который Вы имеете, о каком материале Ваш курс покрыл и какие предположения и уровень детализации желаемы. Существует некоторая запутанность, включенная здесь. Справочник описывает опции оболочки и переменные среды, которые влияют на результат.

Принятие Вашей оболочки является ударом, я настоятельно рекомендую чтению и разделы Расширения и Сопоставления с образцом Имени файла и помню, что текущая локаль может влиять что шаблоны как [A-D] соответствие.

В зависимости от природы Вашего курса и где Вы находитесь в нем, это может быть большей информацией, чем Вам нужно. Но знакомиться с документацией сделает вещи легче и дает Вам питание эффективно выяснить, как сделать то, что необходимо сделать. В любом случае можно консультироваться преподавателем и/или материалами курса, если Вы не уверены, что релевантно или важно для целей Ваших присвоений.

Что касается ls, это - внешняя команда, которую можно узнать о том, как она работает путем выполнения man ls или консалтинг с GNU coreutils справочник.

Страницы руководства, которые можно прочитать с man управляйте, может также быть просмотрен и считан онлайн. Одно из мест, можно сделать это, является Репозиторием Страницы справочника Ubuntu.

Наконец, можно быть интересно смотреть на стандарты POSIX, если не теперь, чем в какой-то момент. Часть о Командном языке Shell покрывает оболочку POSIX и включает материал по расширению имени файла.

2
ответ дан 23 October 2019 в 08:48

Другие вопросы по тегам:

Похожие вопросы: