Что такое '|' (вертикальная полоса) в команде терминала? [Дубликат]

Этот вопрос уже имеет ответ здесь: Какая разница между “ Redirection ” и   Труба & rdquo ;? 6 ответов

Пример: в команде терминала xdpyinfo | grep resolution (которую я взял из ответа) символ | означает, что вывод xdpyinfo должен быть отправлен на вход программы grep для печать строки, содержащей строку resolution? Где я должен искать такую ​​информацию, чтобы не заполнять этот форум слишком простыми вопросами? Спасибо.

1
задан 23 September 2013 в 17:39

3 ответа

Он называется pipe (или pipeline), и это означает, что вывод команды перед ним производится как вход в команду за ним.

Пример: [ ! d1]

dmesg | tail
bash --version | tac

Вы можете попробовать выполнить команду без канала.

И да, вы правы: в этом случае команда xdpyinfo показывает информацию, и она анализируется на . grep фильтрует результаты и отображает только строки, в которых есть resolution.

Дополнительная информация о pipe:

https://stackoverflow.com/questions/1072125 / how-do-piping-work-in-linux http://www.linfo.org/pipes.html http://linuxtutorial.info/modules.php?name=MContent&pageid=21 https: // обходной путь. org / linuxtip / pipes http://en.wikipedia.org/wiki/Pipeline_%28Unix%29
8
ответ дан 24 May 2018 в 17:41

Ваша интерпретация верна. | символ передает вывод первой команды во входной поток второй. Две команды фактически выполняются параллельно, как два параллельных процесса. Это иллюстрация «парадигмы труб и фильтров» (создание сложных функций путем конвейерной обработки простых), что является отличительной чертой Unix.

Для получения дополнительной информации об этом, я бы предложил вам пройти через некоторые учебник по bash или shell-скрипту. Их много. Бьюсь об заклад, вы будете удивлены элегантностью и мощью оболочек Unix / GNU.

1
ответ дан 24 May 2018 в 17:41

Символ | иногда называется трубой и используется для подключения вывода из одной команды и подачи его в другую.

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

То, что вы видите, это просто информация, которую вы хотите, а не полный вывод команды xdpyinfo.

1
ответ дан 24 May 2018 в 17:41

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

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