Перенаправление ввода/вывода
Согласно идеологии UNIX стандартные потоки ввода и вывода можно перенаправлять. По умолчанию стандартный ввод и стандартный вывод ассоциированы с консолью (ввод с клавиатуры и вывод на монитор). Но часто возникает необходимость выводить информацию не на экран (пользователя в это время у компьютера может не оказаться, либо выводимая информация окажется чрезмерно велика для ее чтения с экрана), а в файл, который можно прочитать или распечатать потом. Именно так организуется аудит опасных событий. Выводить информацию можно двумя командами. Например:
Is -la /home/userl > /etc/syslog.Is
Данная команда записывает список файлов пользователя в текстовый файл. Если этот файл не существует, то он создается. Если он существует, его прежнее содержимое вначале стирается.
logger » /etc/syslog.Is
В этом случае выводимая информация дописывается к содержимому файла аудита. Если файл не существует, при первом исполнении команды он будет создан.
Иногда вывод информации необходимо перенаправить в какое-либо устройство (в этом случае мы адресуемся к специальному файлу устройства, который является буфером между командным интерпретатором и драйверами устройства).
cat file_name > /dev/fdO
Читаем ранее созданный образ дискеты и копируем его на сменный носитель.
cat file_name > /dev/lpO
Выводим содержимое файла на принтере, подключенном к первому параллельному порту.
cat /usr/share/sndconfig/sample.au > /dev/audio
Воспроизводим звуковой файл через звуковой адаптер.
Аналогично можно изменить стандартный ввод информации, которым по умолчанию является клавиатура. Так, с помощью перенаправления ввода можно записывать в файл сигналы с устройства, подключенного к последовательному интерфейсу. Комбинируя команды перенаправления ввода и вывода можно передавать данные программе из файла и выводить результаты в другой файл.