nextuppreviouscontents
Next:Перенаправление ввода и выводаUp:Стыкование команд в системе Previous:Стыкование команд в системе

Стандартный ввод и стандартный вывод

  Многие команды системы Linux имеют так называемые стандартный ввод (standard input) и стандартный вывод (standard output), часто сокращаемые до stdin и stdout. Ввод и вывод здесь -- это входная и выходная информация для данной команды. Программная оболочка делает так, что стандартным вводом является клавиатура, а стандартным выводом -- экран монитора.

Приведем пример с использованием команды cat. Обычно команда cat читает данные из всех файлов, которые указаны в командной строке, и посылает эту информацию непосредственно в стандартный вывод ( stdout). Следовательно, команда

/home/larry/papers# cat history-final masters-thesis
выведет на экран сначала содержимое файла history-final, а затем -- файла masters-thesis.

Однако если имя файла не указано, программа cat читает входные данные из stdin и возвращает их в stdout. Приведем пример:

/home/larry/papers# cat
Hello there.
Hello there.
Bye.
Bye. 
{Ctrl-D} 
/home/larry/papers#
  Каждую строчку, вводимую с клавиатуры, программа cat немедленно возвращает на экран. При вводе информации со стандартного ввода конец текста сигнализируется вводом специальной комбинации клавиш, как правило Ctrl-D. Сокращенное название сигнала конца текста -- EOT (end of text).

Приведем другой пример. Команда sort читает строки вводимого текста (также из stdin, если имя одного или нескольких файлов не указано) и выдает набор этих строк в упорядоченном виде на stdout. Проверим ее действие.

/home/larry/papers# sort
bananas
carrots
apples
{Ctrl-D}
apples
bananas
carrots
/home/larry/papers#
Как видно, строки упорядочены в алфавитном порядке.gif


nextuppreviouscontents
Next:Перенаправление ввода и выводаUp:Стыкование команд в системе Previous:Стыкование команд в системе
root

Sun Aug 29 12:01:30 MSD 1999