Как *интерпретируется в командной строке bash?

Я столкнулся с похожей проблемой в Ubuntu 18.04.

Просто запустите iptraf-ngвместо iptraf.

0
09.10.2020, 13:52
1 ответ

Да, *называется "шаблоном" и в основном используется как символ для представления одного или нескольких символов.

Рассмотрим ваш пример (с добавленной командой от меня):

ls /home/renga/i*

где каталог /home/rengaвыглядит так

internal
inspiration
auth
unknown
liar
i*

Таким образом, ваша команда выдаст такой вывод:

/home/renga/internal
/home/renga/inspiration
/home/renga/i*

Если вы хотите получить доступ к каталогу или файлу i*, вам нужно добавить обратную косую черту \в вашу команду, чтобы команда выглядела примерно так ls /home/renga/i\*, а в выводе будет список i*или содержимое каталога i*.

Вы также можете использовать кавычки, чтобы избежать совпадения имен файлов. Так что это будет примерно так:

ls /home/renga/"i*"

Подробнее о подстановочных знаках можно прочитать здесь

4
18.03.2021, 22:59

Теги

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