Перенаправление вывода команды на ввод другой команды
Для перенаправления вывода команды на ввод другой команды используется механизм каналов. Для этого две команды объединяются при помощи символа вертикальной черты |
. На клавиатуре PC этот символ расположен рядом с клавишей "забой" (Backspace), что расположена над клавишей "ввод" (Enter).
Например:
find /etc 2>/dev/null | grep local
Команда find /etc 2>/dev/null
выведет список всех файлов и каталогов в каталоге /etc
и всех файлов в подкаталогах каталога /etc
. Вывод сообщений об ошибках этой команды будет перенаправлен на так называемое нулевое устройство, то будет выведен в никуда.
Вывод этой команды перенаправляется на вход канала, выход которого соединяется с потоком ввода команды grep local
.
Команда grep local
отфильтрует данные потока ввода и выведет только те строки, которые содержат local.
- Стандартные поток ввода (stdin) и стандартные потоки вывода (stdout) и ошибок (stderr).
- Код завершения выполнения программы.
- Перенаправление вывода команды в файл.
- Перенаправление ввода команды из файла.
- Перенаправление вывода команды на ввод другой команды.
- Перенаправление вывода в никуда.
- Именованные каналы.
- Перенаправление вывода в несколько файлов.
- Перенаправление вывода на другой терминал.
- Вывод содержимого файла.
- Ввод из командной строки в файл.
- Выполнение команд из файла.
- Вывод управляющих символов и символов по кодам.
- Запуск сессии shell с перенаправлением стандартных потоков.
- Замена символов при выводе.
- Построчное объединение файлов.
- Перенос строки в терминале.