# Linux - Потоки ввода-вывода

Взаимодействие с ними ведется, так же как и с обычными файлами, то есть можно читать из них информацию или записывать.

2018.06.20    


LinuxLinux

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

LinuxLinux

Перенаправление потоков ввода-вывода

Как говорилось выше, пользователь консоли не имеете прямого доступа к потокам ввода-вывода. Однако операционная система Linux и командные интерпретаторы реализуют механизмы их перенаправления. Например, вместо вывода результата выполнения программы в терминал можно сохранить его в файл.

Рассмотрим небольшой пример, приведенный ниже. Команда ls выводит список файлов, находящихся в указанном каталоге. С помощью символа «>» мы приказываем командному интерпретатору не выводить результат в терминал, а перенаправить его в файл result.txt. Набор символов «~/», стоящий перед именем файла, сообщает операционной системе о необходимости создать его в домашней директории текущего пользователя. Если файл уже существует, он будет перезаписан.

LinuxLinux