logo
Информатика

Переадресация ввода и вывода

В ОС Linux все файлы имеют одинаковую структуру -- последовательность байтов. Любой файл можно свободно копировать или добавлять к другому файлу, так как все файлы организованы одинаково. Эта организация данных распространяется и на операции ввода и вывода. Данные в операциях ввода и вывода организованы аналогично файлам и все внешние устройства тоже считаются файлами.

Данные, вводимые с клавиатуры, так же, как и данные, выводимые командой или программой, представляют из себя поток байтов. Входной поток данных для программы в ОС Linux называется ее стандартным входом, а выходной поток данных -- стандартным выводом.

В ОС Linux широко используется переадресация, которая позволяет, например, перенаправить стандартный вывод так, чтобы информация не отображалась на экране, а записывалась в файл. Для переадресации вывода используется знак > (больше), после которого указывается имя файла, в который направляется вывод, например,

ls >list_dir

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

Можно переадресовать и стандартный вход, чтобы входная информация читалась из файла, а не с клавиатуры. Оператор переадресации стандартного входа имеет вид знака < (меньше). Операции переадресации стандартного входа и стандартного выхода можно объединять.