Инсталляция Linux и первые шаги

Перенаправление входа и выхода


Теперь, предположим, что мы хотим послать результат

сортировки в файл, чтобы где-то сохранить список планируемых

покупок. Shell дает нам возможность перенаправлять стандартный

выход в файл, используя символ ``>''. Вот как это работает.

/home/larry/papers# sort > shopping-list

bananas

carrots

apples

[ctrl-D]

/home/larry/papers#

Как вы можете видеть, результат работы команды sort не

отображается на экране, вместо этого он сохраняется в файле

shopping-list (список покупок). Давайте посмотрим на этот файл.



/home/larry/papers# cat shopping-list

apples

bananas

carrots

/home/larry/papers#

Теперь мы можем не только сортировать (упорядочивать) список

планируемых покупок, но и сохранять его! Но предположим,

что мы хранили наш неотсортированный исходный закупочный список в

файле под именем items. Один из способов сортировки и сохранения

его, это отсортировать файл с данным именем, вместо получения

файла со стандартного входа, и перенаправить стандартный выход в

файл. Например так

/home/larry/papers# sort items > shopping-list

/home/larry/papers# cat shopping-list

apples

bananas

carrots

/home/larry/papers#

Но это можно сделать и по-другому. Перенаправлен может быть

не только стандартный выход, но также и стандартный вход,

используя символ ``<''.

/home/larry/papers# sort < items

apples

bananas

carrots

/home/larry/papers#

Технически, sort < items эквивалентно sort items, но

последний вариант позволяет нам продемонстрировать сказанное:

sort < items ведет себя так, словно данные файла items были

напечатаны на клавиатуре. shell обслуживает перенаправление. sort

не было дано имя файла (items) и команда читала со стандартного

входа, как будто шел ввод с клавиатуры.

Это иллюстрирует концепцию фильтра. Фильтр, это программа,

которая получает данные со стандартного входа, обрабатывает их

каким-то образом и посылает результат обработки на стандартный

выход. С помощью перенаправления стандартные вход и выход могут

быть переведены на файлы. sort - простейший фильтр: она сортирует

входные данные и посылает результат на стандартный выход. cat -

даже еще проще: она ничего не делает со входными данными, а

только выдает все, что не поступит, на выход.



Содержание раздела