Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Использование стандартного ввода-вывода.

Читайте также:
  1. A. Использование клинического, психолого-педагогического и логопедического исследования.
  2. CASE-технологии и их использование
  3. CASE-технологии и их использование
  4. II Разрешение практических ситуаций с использованием возможностей справочных правовых систем
  5. III Задания на использование различных возможностей справочно – правовых систем
  6. III. Алгоритмическая конструкция ветвление и ее использование в языке Visual Basic
  7. IV. Алгоритмическая конструкция цикл и ее использование в языке Visual Basic
  8. А) товары, удовлетворяющие одинаковые потребности, но реализованные с использованием различных технологий;
  9. А. использование механизмов организованного принуждения
  10. Анализ отрасли с использованием теории пяти конкурентных сил.

 

  1. Создание и редактирование файла

 

В каталоге /root создайте свой домашний каталог вида /root/<свое имя>. (Например /root/name).

Создайте в каталоге /root/name файл для дальнейшего редактирования с помощью команды:

#vi /root/ name/<имя файла>.txt

Где <имя файла> свое имя либо указанное преподавателем.

Перейдите в режим добавления текста с помощью команды a. Добавьте произвольный текст в режиме редактирования (6-7строчек).

Перейдите в командный режим, нажав клавишу <Esc>.

Переместите последовательно курсор на начало, середину и конец текста, используя команды позиционирования курсора в окне (таблица 1).

Поставьте курсор на любую строку ненулевой длины и переместите его в конец, а потом на начало строки, используя команды позиционирования курсора в строке (таблица 1).

Переместите курсор на середину текста и создайте текст произвольной длины с начала новой строки, применив команды создания текста (таблица 2).

 

  1. Работа в режиме командной строки.

 

Запишите содержание буфера редактора vi в файл, который в данный момент редактируется с помощью команды ZZ. Перейдите в режим редактирования, измените текст по своему усмотрению. Сохраните данный файл под новым именем с помощью команды :w newfilename. Снова измените текста и перепишите содержимое файла с помощью команды :w! newfilename

Последовательно включите и отключите нумерацию строк в командном режиме с помощью соответствующих команд (таблица 3).

Осуществите выход из редактора vi c помощью команды :q!, переписав тем самым все изменения в файле.

 

  1. Копирование и вставка текста

 

Откройте существующий файл с текстом

#vi /root/newfilename

Перейдя в оконный режим с помощью команды v, выделите фрагмент текста размером 2-3 строчки. Скопируйте и вставьте этот фрагмент с помощью команды y. Выделите другой фрагмент текста и вырежьте его с помощью команды d. Переместитесь на несколькострочек вниз и вставьте вырезанный текст, используя команду p.

Сохраните изменения и завершите работу с редактором vi.

 

Лабораторная работа № 3

по курсу «Unix подобные операционные системы»

 

Переадресация ввода-вывода и командные файлы

 

Использование стандартного ввода-вывода.

Нет разницы между чтением данных из файла и с терминала. Точно так же, если выходные данные программы состоят исключительно из алфавитно-цифровых символов и знаков припинания, нет никакой разницы между записью в файл, выводом на терминал и передачей данных на стандартный ввод другой программы (например, в канал).

Стандартное устройство ввода-вывода предоставляет несколько простейших средств обслуживания ввода-вывода. Таковыми являются три стандартных потока: ввода, вывода и ошибок. В соответствии с соглашением стандартный поток вывода (stdout) содержит все «нормальные» выходные данные программы, в то время как стандартный поток ошибок (stderr) состоит из сообщений об ошибках. Часто бывает удобно обрабатывать стандартный вывод отдельно от сообщений об ошибках. По умолчанию стандартным устройством ввода программы являеться клавиатура, а стандартные потоки вывода и ошибок направляються на экран терминала.

Стандартный поток ввода (stdin) обычно поступает с клавиатуры. Многие программы не используют stdin, и входные файлы указываються непосредственно в командней строке. Например комманда “cat file1 file2” читает не стандартный поток ввода, а непосредственно файлы file1 и file2. Но если в коммандной строке не указаны имена файлов, то, как правило, комманды UNIX, требующие ввода, читают stdin. Обычно стандартный поток ввода поступает с клавиатуры, но shell может переадресовать ввод данных из другого файла. Это удобно для комманд, которые не могут напрямую открывать файлы. Например, для команды mail. Чтобы отправить файл по почте пользователю user3, используется оператор <имя_файла, сообщающий интерпретатору shell, что к стандартному входу программы mail вместо клавиатуры необходимо подключить файл:

% mail user3 < myfile

Основным достоинством стандартного ввода-вывода является возможность переадресации ввода или вывода с терминала в файл. Поскольку терминалы и другие устройства ввода-вывода в UNIX системах рассматриваются как файлы, то программы не могут определить то, куда они посылают свои выходные данные – на терминал или в файл. Если, например, вы хотите соединить два текстовых файла file2 и file3 в один file4, то вы легко можете это сделать с помощью команды cat и функции перенаправления потоков:

% cat file2 file3 > file4

Это называется переадресацией стандартного ввода в файл.

Наиболее распространённой формой переадресации в UNIX является канал, который обозначается оператором | (вертикальная черта). Чтобы, например, направить пользователю user2 файлы file1 и file2 в одном почтовом сообщении нужно воспользоваться следующей командой:

% cat file1 file2 | mail user2

Оператор канала обозначает следующее: ”Подключить стандартный вывод процесса слева (cat) к стандартному вводу процесса слева (mail)”.

Тривиальное использование каналов (конвееров) представить не сложно. Если объём выходных данных велик и они не помещаются на экране, можно передать эти данные программе разбивки на страницы, например more.

 

 

Действие SH
Переадресовать stdout в файл Программа > файл
Чтение stdin из файла Программа < файл
Переадресовать stdout в конец файла Программа >> файл
Чтение stdin с клавиатуры, пока не будет Введён символ c Программа <<c
Направить stdout в канал Программа1 | Программа2

 

Переадресацию стандартного ввода и вывода можно выполнить в одной командной строке. Например, для выполнения чтения из файла input и записи в файл output нужно выполнить следующую команду:

% программа < input > output

 




Дата добавления: 2014-12-19; просмотров: 108 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Режим командной строки| Опрос и изменение атрибутов процессов. Утилита ps

lektsii.net - Лекции.Нет - 2014-2025 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав