Что такое | в команде терминала

Что такое | в команде терминала

Я пытался узнать, как использовать apt-get в Ubuntu, и наткнулся на эту команду на одном из сайтов.как стать гиком статья

sudo dpkg –list | less

По сути, это позволяет нам просматривать список пакетов, установленных на нашей машине, и «прокручивать список».

Мой вопрос в том, что это за |символ? Прямо перед less, каково его предназначение, я просто пытаюсь понять синтаксис команды. Почему это не просто еще одна опция, как -less?

решение1

|называетсятрубка. Оператор конвейера передает вывод одной команды в качестве ввода другой. Команда, созданная с помощью оператора конвейера, называется конвейером.

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

Предположим, у вас есть $ command 1 | command 2 | command 3, тогда

введите описание изображения здесь

Источник:Использование каналов с командами Linux

Например, если вы хотите вывести список всех файлов в папке, вы, вероятно, будете использовать следующее:

$ ls -la

Теперь предположим, что вы хотите вывести список только исходных файлов Java. Тогда вы, вероятно, сделаете что-то следующее:

$ ls -la | grep .java

ls -laпроизводит процесс, выход котороготрубчатыйна вход процесса для grep .java.

Вы можете узнать больше о трубах и фильтрахздесь.

решение2

Также |известен как труба.

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

Например, когда мы используем эту команду echo "ubuntu" | grep u, вывод echo "ubuntu" отправляется в программу grep.

решение3

|это оператор, который называется Pipe:

Когда вам нужен вывод из command 1для ввода в command 2, то вы должны использовать pipeсимвол '|'. Вот синтаксис для символа вертикальной черты:

command | command

Пример:

rahul@VM:~$ ls | sort
Desktop
Documents
Downloads
examples.desktop
Music
Pictures
Public
Templates
Videos

В примере выше используется вывод из lsв качестве ввода для sortкоманды. Вы заметите, что список отсортирован.

Как видите, командная строка — это простой и эффективный способ выполнения многих задач.

Ссылка:https://help.ubuntu.com/community/CommandlineHowto

Связанный контент