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 перенаправил данные файла в стандартный входной поток.
Таким образом, с помощью перенаправления стандартные вход и выход могут быть переведены в файлы.
... KDE — свободная среда рабочего стола для UNIX-подобных операционных систем. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графическую подсистему X Window System. Новое поколение технологии KDE 4 частично работает на Microsoft Windows и Mac OS X. В ...
... сокращает размер файла, но к связанным изображениям нельзя применять пиксельные эффекты. 3. ОСОБЕННОСТИ РАЗРАБОТКИ ЭЛЕМЕНТОВ НАРУЖНОЙ РЕКЛАМЫ В ПАКЕТАХ ADOBE PHOTOSHOP Adobe Photoshop — растровый графический редактор, разработанный и распространяемый фирмой Adobe Systems. Этот продукт является лидером рынка в области коммерческих средств редактирования растровых изображений, и ...
аучного цикла является отсутствие возможности реальной постановки учебного, и лабораторного эксперимента. Хотя в настоящее время имеются разработки виртуальных лабораторных практикумов, однако окончательно решение проблемы требует пристального внимания специалистов различных профилей, в том числе и психолого-педагогического. 1.2 Роль технологии виртуальных приборов обучения в техническом вузе ...
... ориентированы на 32 разрядные шинные архитектуры компьютеров с процессорами 80386, 80486 или Pentium. Фирма Novell также подготовила варианты сетевой ОС NetWare, предназначенные для работы под управлением многозадачных, многопользовательских операционных систем OS/2 и UNIX. Версию 3.12 ОС NetWare можно приобрести для 20, 100 или 250 пользователей, а версия 4.0 имеет возможность поддержки до 1000 ...
0 комментариев