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

Многие команды UNIX получают информацию с так называемого стандартного входа и посылают информацию на опять же так называемый стандартный выход. (Для них часто используются сокращения "stdin" и "stdout" соответственно). shell организует дело так, что стандартным входом служит клавиатура, а стандартным выходом - экран.

Рассмотрим, к примеру, использование команды cat. В случае, когда в качестве параметров заданы имена файлов, cat читает данные из файлов, имена которых определены в командной строке и посылает эти данные прямо на stdout. Поэтому при выполнении команды

cat .profile .kermrc

на экран будет выведено содержимое файла .profile, а следом за ним содержимое файла .kermrc.

Но если команде cat не заданы имена файлов в качестве параметров, то она читает данные со стандартного входа (клавиатуры) и посылает их на стандартный выход (экран). Вот пример. Введите команду

cat -u

Затем напечатайте

Hello there.

На экране появится

Hello there.

Напечатайте

Bye.

Вы получите ответ:

Bye.

Как видите, каждая строка, которую Вы напечатали, немедленно выдается командой cat на экран. При вводе со стандартного входа команда считает, что ввод закончен тогда, когда Вы нажимаете клавиши CTRL-d. Эта комбинация клавиш посылает команде сигнал EOT (End-Of-Text - конец текста). Поэтому нажмите CTRL-d (должно появиться новое приглашение на ввод $) и давайте рассмотрим другой пример.

Воспользуемся новой для Вас командой sort. Это команда сортировки. Без указания аргументов она сортирует информацию, поступающую со стандартного входа, упорядочивая строки в лексикографическом порядке, и выдает результат на стандартный выход - экран.

Попробуйте так:

введите команду

sort

напечатайте с клавиатуры следующее (для перехода на новую строку используйте ENTER):

bananas

carrots

apples

Нажмите CTRL-d и Вы увидите измененный список.

apples

bananas

carrots

В конце появится новое приглашение на ввод команд $.

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

Теперь, предположим, что Вы хотите послать результат сортировки в файл, чтобы сохранить список планируемых покупок. shell дает возможность перенаправлять стандартный выход в файл, используя символ ">". Вот как это работает:

напечатайте команду sort и после символа > укажите имя файла, в который хотите сохранить результат выполнения команды (эта процедура должна быть Вам знакома - Вы уже создавали файлы подобным образом)

sort > shopping-list

Затем введите с клавиатуры список предполагаемых покупок (он попадет во входной поток команды, ведь по умолчанию входной поток - клавиатура):

bananas

carrots

apples

Снова нажмите CTRL-d.

Как Вы можете видеть, результат работы команды sort не отображается на экране (после нажатия клавиш CTRL-d сразу появляется новое приглашение), вместо этого он сохраняется в файле shopping-list (список покупок). Давайте проверим, действительно ли это так с помощью давно знакомой Вам команды cat:

cat shopping-list

Если Вы все сделали правильно, то содержимое файла shopping-list будет выглядеть следующим образом:

apples

bananas

carrots

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

Создайте файл pokupki, с помощью команды echo и перенаправления выходного потока:

echo " carrots

bananas

apples "> pokupki

для перевода строки используйте клавишу ENTER. ENTER не будет восприниматься как сигнал завершения ввода команды до тех пор, пока Вы не закроете кавычки. В начале каждой строки будет появляться повторное приглашение на ввод ">".

После того как Вы создали файл, отсортируйте его и сохраните указанным выше способом:

sort pokupki > shopping-list

С помощью команды cat проверьте выполнение введенной команды:

cat shopping-list

Результат должен быть аналогичным предыдущему:

apples

bananas

carrots

То же самое можно сделать и по-другому. Перенаправлен может быть не только стандартный выход, но также и стандартный вход. Для этого следует использовать символ "<". Введите, например, такую командную строку:

sort < pokupki

Команда sort выведет на экран (стандартный выход) отсортированные строки файла pokupki:

apples

bananas

carrots

Фактически sort<pokupki эквивалентно sort pokupki, но последний вариант позволяет продемонстрировать сказанное: sort<pokupki ведет себя так, словно читает данные файла pokupki со стандартного входа - клавиатуры (а не из заданного файла), в то время как на самом деле shell перенаправил данные файла в стандартный входной поток.

Таким образом, с помощью перенаправления стандартные вход и выход могут быть переведены в файлы.


Информация о работе «Практическая работа по предмету UNIX»
Раздел: Информатика, программирование
Количество знаков с пробелами: 81628
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
47900
1
1

... KDE — свободная среда рабочего стола для UNIX-подобных операционных систем. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графическую подсистему X Window System. Новое поколение технологии KDE 4 частично работает на Microsoft Windows и Mac OS X. В ...

Скачать
76498
0
7

... сокращает размер файла, но к связанным изображениям нельзя применять пиксельные эффекты. 3.         ОСОБЕННОСТИ РАЗРАБОТКИ ЭЛЕМЕНТОВ НАРУЖНОЙ РЕКЛАМЫ В ПАКЕТАХ ADOBE PHOTOSHOP Adobe Photoshop — растровый графический редактор, разработанный и распространяемый фирмой Adobe Systems. Этот продукт является лидером рынка в области коммерческих средств редактирования растровых изображений, и ...

Скачать
193894
73
12

аучного цикла является отсутствие возможности реальной постановки учебного, и лабораторного эксперимента. Хотя в настоящее время имеются разработки виртуальных лабораторных практикумов, однако окончательно решение проблемы требует пристального внимания специалистов различных профилей, в том числе и психолого-педагогического. 1.2 Роль технологии виртуальных приборов обучения в техническом вузе ...

Скачать
225728
6
0

... ориентированы на 32 разрядные шинные архитектуры компьютеров с процессорами 80386, 80486 или Pentium. Фирма Novell также подготовила варианты сетевой ОС NetWare, предназначенные для работы под управлением многозадачных, многопользовательских операционных систем OS/2 и UNIX. Версию 3.12 ОС NetWare можно приобрести для 20, 100 или 250 пользователей, а версия 4.0 имеет возможность поддержки до 1000 ...

0 комментариев


Наверх