Министерство Образования и Науки Российской Федерации
Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ»им. В.И. Ульянова (Ленина)
Кафедра МОЭВМ
Дисциплина: параллельное программирование.
Отчёт
по лабораторной работе
«Работа в экранном редакторе vi »
Выполнил:
студент гр.3351
Фонарева С.А.
Преподаватель:
Красюк В.И.
Санкт-Петербург
2008
Изменение статуса файла
Команда chmod позволяет устанавливать разрешение на чтение, запись и запуск файла.
Для указания прав доступа, используются символы:
r - разрешить читать файл/копировать его
w -разрештиь модифицировать файл/копировать его
x - разрешить запускать файл на выполнение
Чтобы указать, кто из пользователей имеет эти права на доступ, используются следующие символы:
Для определения прав доступа категорий пользователей используются:
u –пользователь-владелец файла;
g - группа;
o -все пользователи
Просмотр прав
Возможен с использованием команды:
$ ls -l
Первый символ описывает тип файла
"-" говорит, что это обыкновенный файл
"d" – директория.
"p" – программный канал
"с" – символьное устройство
"b" – блочное устройство
"f" – именованные программные каналы
Девять символов описывают права доступа. Первые три символа -права доступа для владельца, вторые три - для группы, третьи - для всех пользователей. Наборы символов r,w,x показывают права доступа для каждой категории пользователей. Если вместо символа стоит "-", то соответствующее право отсутствует.
Изменение существующих прав доступа
Осуществляется с помощью команды chmod.
Синтаксис:
chmod <кто> <+/-/=> <права> <файл(ы)>
где
<кто> -одна их групп пользователей:
u -пользователь;
g -группа;
o -все пользователи;
<+/-/=>
"+"-добавление права
"-" -удаление права
"="-абсолютное назначение прав
<права>-одно из прав:
r -на чтение
w -на запись
x -на выполнение
<файл(ы)> -имя файла(ов) ,усли файл находится в текущей директории или указать полный путь до него и имя.
Замечание:пробелов между элементами <кто><+/-/=><права> не должно быть.
Иначе
команда chmod может быть выполнена с использованием для указания права восьмиричных цифр .Это восьмиричный метод. Символы r, w и x в записи команды заменяются восьмеричными цифрами (от 0 до 7).
rwx r-x ---
111 101 000
7 5 0
пример:
$chmod 750
Экранный редактор vi
Редактор vi предназначен для создания и редактирования файлов.
Конфигурирование
Осуществляется путем создания файла с именем .exrc в директории,в котором будут содержаться опции, которые управляют средой редактора vi.
Опции:
set number –нумеровать строки
set autoindent – позволяет создание отступов
set showmode – индикация режима редактора в правом нижнем углу экрана
set showmatch – автоматич.проверка соответствия кол-ва открывающих и закрываюцих скобок
set wrapmargin=6
Создание файла
Чтобы создать файл:
vi filename
Режимы редактора
Редактор vi имеет 2 режима: режим ввода и командный режим. В режиме ввода можно добавлять и модифицировать текст; в командном режиме- редактировать и изменять существующий текст,удалять, перемещать и копировать текст, передвигаться по всему файлу,выполнять другие задачи.
Создание текста в режиме Append
Чтобы создать текст :
Нажмем a, чтобы перейти к режиму ввода.Ввод осуществляется сразу после курсора.
Выход из режима Append
После завершения редактирования, нажмем клавишу Esc, чтобы из режима ввода перейти к командному режиму.
Редактирование текста в командном режиме
Перемещение курсора
Клавиши перемещения:
h - на один символ влево;
j - вниз на одну строку;
k - вверх на одну строку;
l - на один символ вправо;
Если перед h, j, k, l поставить число, то курсор передвинется на количество строк/символов, равных числу.
Переместить курсор на 3 строки вниз:
3j
Удаление текста
Переместить курсор к символу и нажмите x. Перед x можетбыть число, оно говорит о том, сколько символов подряд нужно удалить. На месте удаленного символа не остается пустого промежутка или на месте удаленной строки - пустой строки.
Добавление текста
Осуществляется по двум командам :
insert(i)
append(a).
Чтобы добавить текст с помощью команды i, перемещаем курсор в нужное место,нажмаем i и вводим текст. Введенный текст появился слева от символа, на который указывает курсор.
Для команды a все тоже самое,но новый текст появится справа от символа, к которому подведен курсор.
Завершение работы c vi
Команды
:w - запись файла (записывает буфер в файл)
:q - окончания работы с редактором и возвращение управления shell
Можно ввести команды последовательно :wq
Перемещение курсора по экрану с использованием команд
Поиск символа в текущей строке
Если символ не найден, появляется звуковой сигнал и курсор остается на прежнем месте.
fx - поиск символа x справа от текущей позиции курсора;
Fx -поиск символа x слева от текущей позиции курсора;
tx - перемещение курсора вправо на символ до символа x;
Tx - перемещение курсора влево на символ до символа x;
; - повторяет предыдущий поиск символа. Команда ; ищет следующее появление символа в текущей строке;
, - повторяет предыдущий поиск символа, в обратном направлении. Команда ; ищет следующее появление символа в текущей строке;
Поиск символов по шаблону: команды / и ?
Для поиска символов по шаблону используются команды /, ?, n и N. Эти команды позволяют осуществлять поиск вперед и назад в буфере следующего появления указанного шаблона символов. Команды n и N позволяют повторить последний поиск.
Команда / и следующий за ней шаблон ищет вперед по буферу следующее появления символов, указанных в шаблоне и помещает курсор на первый символ из шаблона.
Команда ? и следующий за ней шаблон ведет поиск в обратном направлении в буфере первого появления символов, указанных в шаблоне и помещает курсор на первый из этих символов.
Команды n и N позволяют повторить предыдущий запрос поиска /ppp или ?ppp:
n - повторить последнюю команду поиска;
N - повторить последнюю команду поиска в обратном направлении.
Создание текста
Три основные команды позволяют в редакторе vi создавать текст:
a - добавить текст;
i - вставить текст;
o - открыть новую строку, на которой может быть введен текст.
Добавить текст
Чтобы в файл добавить текст:
a - добавить текст после курсора;
A - добавить текст в конце текущей строки.
Вставить текст
Чтобы в файл вставить текст, воспользуйтесь следующими командами:
i - вставить текст до курсора;
I - вставить текст в начале текущей строки.
Открыть строку для текста
o - создать текст с начала новой строки, расположенной ниже текущей строки.
O - создать текст с начала новой строки, расположенной выше текущей строки.
Удаление текста
Удаление текста в режиме ввода текста
В режиме ввода текста удаление осуществляется клавишей BACKSPACE,DELETE.
Отменить последнюю команду
Отменить последнюю введенную команду можно с помощью следующих команд:
u - отменить последнюю команду;
U - восстановить текущую строку в состояние до произведенных изменений.
Удаление слов
Перемещаем курсор к первому удаляемому символу и вводим команду dw. Символ, расположенный над курсором и последующие за нми будут стерты. Команда dw удаляет одно слово или знак пунктуации и пробелы, которые следуют за ним. Можно удалить несколько слов за один раз.
5dw
Удаление строк
удалить строку:
dd
Для удаления нескольких строк
10dd
сотрет 10 строк.
Если ниже текущей строки осталось меньше 10 строк, то прозвучит сигнал и строки не удалятся.
Модификация текста
Замена текста
rx - заменить текущий символ (символ, на который показывает курсор) на x.
nrx - заменить n символов на x.
Подстановка текста
Команда подстановки текста заменяет символы.
s - удалить символ, на который указывает курсор и добавить текст.
ns - удалить n символов и добавить текст.
S - заменить все символы в строке.
Извлечение и присоединение текста
Перемещение текста
Можно переместить текст из одного места в буфере редактора vi в другое, удаляя строки, а затем помещая их в нужное место. Удаленный текст сохраняется во временном буфере. Переместите курсор на то место, куда вставляем текст и нажмите клавишу "p". Удаленные строки будут добавлены ниже текущей строки.
p - поместить содержимое временного буфера после курсора или ниже текущей строки.
"p" используется для копирования текста, помещенного во временный буфер командой "y"
Перемещение букв
"x" удаляет букву, "p" - помещает ее после следующего символа.
Копирование текста
Можно копировать одну или несколько строк текста во временный буфер и затем поместить копию этого текста в определенное место в файле. Чтобы поместить текст на новое место, вводим команду "y".
Использование команды "y".
nyx Копирование n-го объекта текста типа x
yw Создание копии слова
yy Создание копии текущей строки
nyy Копирование n строк
y) Создание копии всего текста до конца предложения
y} Создание копии всего текста до конца параграфа
Копирование и перемещение текста с использованием буферов
Сохранить текст в регистр можно с помощью команды "y", либо с помощью команды удаления. Использование регистров удобно, если часть текста должна быть во многих местах в файле. текст остается в регистре пока не завершена работа с ним, либо не закончена работа с редактором, либо не помещен в этот регистр другой текст.
формат команды:
["X]command
где X - имя буфера.
p Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора
yy Создает копию строки текста и помещает во временный буфер
nyx Создает копию n-го объекта текста типа x и помещает ее во временный буфер
"xyn Помещает копию объекта текста типа n в в регистр с именем x
"xp Помещает содержимое регистра x после курсора