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

На этот вопрос уже есть ответ:

Пример: в команде Терминала

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

4 ответа

Это называют a pipe (или a pipeline) и это означает, что вывод команды перед ним сделан, как введено к команде позади него.

Пример:

dmesg | tail
bash --version | tac

Вы встречены для попытки команды без канала.

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

Больше информации о pipe:

8
ответ дан 23 September 2013 в 16:39

Вертикальная черта | обычно упоминается как «труба». Он используется для передачи одной команды в другую. То есть он направляет выходные данные первой команды во входные данные для второй команды. Так что ваше объяснение довольно точное.

0
ответ дан 23 September 2013 в 16:39

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

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

0
ответ дан 23 September 2013 в 16:39

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

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

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

0
ответ дан 23 September 2013 в 16:39

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

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