Профтемы студенту и преподавателю
Taketop.ru
СТУДЕНТУ И ПРЕПОДАВАТЕЛЮ
лекции по дисциплинам
Информатика и вычислительная техника :: Операционные системы и среды
Перенаправление потоков системы Linux
В ОС LINUX существует три стандартных потока: поток ввода, поток вывода и поток стандартного протокола (поток ошибок).
Стандартный ввод (STDIN) — это просто то место, откуда система ожидает получение данных. Обычно — это клавиатура, хотя это может быть командный сценарий или программа. Когда вы изменяете стандартное значение, вы вызываете перенаправление ввода.
Аналогично, стандартный вывод (STDOUT) — то место, которое подра­зумевается операционной системой для вывода информации, обычно — экран монитора. Можно так же перенаправить вывод, STDOUT, по усмотрению любой команды или командного сценария. Цепочка событий от STDIN до STDOUT выглядит примерно так:
стандартный   ввод   STDIN   ð   команда Linux ð   стандартный   вывод   STDOUT
STDIN часто упоминается как fd0, или дескриптор 0, STDOUT упоминается как fdl. Есть также стандартное устройство вывода ошибок (STDERR), которому система сообщает о любых ошибках в выполнении программ или командного сценария. Стандартно — это также терминал.
Существуют всего четыре символа перенаправления стан­дартного ввода/вывода:
•   Символ > используется для перенаправления стандарт­ного вывода команды в файл. Например, cat > file за­пишет выводимую командой cat информацию в файл file.
•   Символ < используется для переназначения стандарт­ного ввода команды. Например, при выполнении ко­манды cat < file в качестве стандартного ввода cat ис­пользуется не клавиатура, а файл file.
•   Символ >> используется для дописывания стандарт­ного вывода команды в конец существующего файла. Например, cat >> file допишет выводимую командой cat информацию в конец файла file.
•   Символ | является символом потока. Он используется, когда вы хотите передать стандартный вывод одной команды на стандартный ввод другой.
 
Примеры:
cat > filename – перенаправление вывода в файл filename (если этот файл существует, то его прежнее содержимое будет утеряно);
cat >> filename – добавить содержимое вывода к содержимому файла filename;
cat < filename – сформировать стандартный ввод из содержимого файла filename.
cat /home/qqq/Desktop/file_1 | wc –w > /home/qqq/Desktop/num_names – содержимое файла file_1 передается в распоряжение команды wc –w (счетчик слов), которая выводит количество слов в файл num_names, находящийся на рабочем столе (/home/qqq/Desktop/). 
ls | wc -l
Те же действия можно организовать так:
ls > buffer
wc -l < buffer
rm –f  buffer
Команда ls выводит в файл buffer список файлов текущего каталога, а команда wc -l считает количество строк в этом файле, команда  rm –f  buffer удаляет файл с именем buffer.
Таким образом, первые две команды позволяют посчитать количество файлов в текущем каталоге.

Работы, представленные на сайте http://taketop.ru, предназначено исключительно для ознакомления. Все права в отношении работ и/или содержимого работ, представленных на сайте http://taketop.ru, принадлежат их законным правообладателям. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием работ и/или содержимого работ, представленных на сайте http://taketop.ru
Рейтинг@Mail.ru
Сайт управляется SiNG cms © 2010-2015