В этой главе мы узнали, как команды могут быть связаны друг с другом, и как вывод одной команды может быть использован в качестве ввода для другой.
Перенаправление ввода/вывода — обычная задача на машинах UNIX и Linux. Этот мощный механизм позволяет гибко использовать блоки, из которых сделан UNIX.
Наиболее часто используемыми перенаправлениями являются > и |. См. Приложение C, "Особенности Shell" для обзора команд перенаправления и других конструкций shell.
| Команда | Значение | 
| date | Отображает дату и время | 
| set | Настройка опций оболочки | 
| sort | Сортирует строки текста | 
| uniq | Удаляет повторяющиеся строки из отсортированного файла | 
Упражнения
Эти упражнения представляют дополнительные примеры того, как объединять команды. Основная цель - попытаться использовать клавишу Enter как можно меньше.
Все упражнения выполняются под обычным пользовательским ID, так что появляются некоторые ошибки. Когда вы их видите, не забывайте прочитать man-страницы!
- Используйте команду cut на вывод длинного списка каталога, чтобы отобразить только права доступа к файлам. Затем отправьте в конвейере этот вывод на sort и uniq, чтобы отфильтровать все повторяющиеся строки. Потом с помощью wc посчитайте различные типы разрешений в этом каталоге.
 - Отправьте вывод date в файл. Добавьте выход ls в этот же файл. Отправьте этот файл на ваш локальный почтовый ящик (не указывайте ничего вроде «@домен», достаточно просто имени пользователя). В случае успеха при использовании Bash вы увидите новое почтовое уведомление.
 - Отобразите список устройств в /dev, которые в настоящее время используются вашим UID. Организуйте конвейер через less, чтобы посмотреть их должным образом.
 - Выполните следующие команды под непривилегированным пользователем. 
Определите стандартный ввод, вывод и ошибку для каждой команды.
Теперь проверьте ваши результаты выдачи команд снова, теперь перенаправляя стандартный вывод в файл /var/tmp/output и стандартную ошибку в файл /var/tmp/error.
- cat nonexistentfile
 - file /sbin/ifconfig
 - grep root /etc/passwd /etc/nofiles > grepresults
 - /etc/init.d/sshd start > /var/tmp/output
 - /etc/init.d/crond start > /var/tmp/output 2>&1
 
 
- Как много процессов у вас сейчас работает?
 - Сколько скрытых файлов в вашем домашнем каталоге?
 - Используйте locate, чтобы найти документацию по ядру.
 - Узнайте, какой файл содержит следующую запись:
 
root:x:0:0:root:/root:/bin/bashА эту:
system: root
- Посмотрите, что произойдет после выполнения этой команды:
 
- Какие команды вы бы использовали, чтобы проверить, какие сценарии в /etc/init.d запускают данный процесс?