В оболочке существуют специальные средства для перенаправления ввода/вывода.
Операторы >, < и >>. Для обозначения перенаправления используются символы ">", "<" и
">>". Чаще всего используется перенаправление вывода команды в файл. Вот
соответствующий пример:
[user]$ ls l > /home/jim/dir.txt
оператор > служит для перенаправления выходного потока. По отношению к входному потоку аналогичную функцию выполняет оператор <.
Чтобы перенаправить ввод, укажите в командной строке после знака "меньше чем" (<) имя файла:
command < имя_файла<CR>
Чтобы перенаправить вывод, укажите в командной строке после знака "больше чем" (>) имя файла:
command > имя_файла<CR>
Чтобы добавить вывод в существующий файл и не разрушить его, вы можете воспользоваться символом >>:
command >> имя_файла<CR>
Оператор |
Особым вариантом перенаправления вывода является организация программного канала (иногда называет трубопроводом или конвейером). Для этого две или несколько команд, таких, что вывод предыдущей служит вводом для следующей, соединяются (или разделяются, если вам это больше нравится) символом вертикальной черты — "|". При этом стандартный выходной поток команды, расположенной слева от символа |, направляется на стандартный ввод программы, расположенной справа от символа |.
[user]$ cat myfile | grep Linux
Символ | называется каналом. Канал является мощным средством, которое позволяет вам брать вывод одной команды и использовать его в качестве ввода для другой команды без создания временных файлов. Таким образом построенная последовательность команд называется конвейером. Общий формат конвейера:
command1 | command2 | command3 ... <CR>
Вывод command1 используется как ввод для command2. Вывод command2 используется как ввод для command3.
Фильтры
Фильтры — это команды (или программы), которые воспринимают входной поток данных, производят над ним некоторые преобразования и выдают результат на стандартный вывод (откуда его можно перенаправить куда-то еще по желанию пользователя). К числу команд фильтров относятся уже упоминавшиеся выше команды cat, more (по одной строке вниз), less(вверх и вниз), wc(размер, кол-во символов), а также следующие команды.