3) Проанализируйте права доступа к Вашему личному каталогу. Есть ли ограничения на работу с файлами в этом каталоге?
4) Удалите право на модификацию каталога. Выполните операцию удаления файла f1, созданного в ходе выполнения работы 5(1). Объясните результат.
5) Создайте подкаталог. Разместите в нем текстовый файл. Проанализируйте права доступа к подкаталогу и объясните возможности по использованию подкаталога.
6) Удалите право владельца на «выполнение» подкаталога.
7) Попытайтесь сделать подкаталог текущим. Объясните результат.
8) Просмотрите содержимое подкаталога. Объясните результат.
9) Попытайтесь вывести длинный листинг подкаталога только для одного из файлов (поиск файла по подкаталогу). Объясните результат.
10) Попытайтесь вывести на экран содержимое файла. Объясните результат.
11) Верните право для подкаталога на «выполнение», удалите право на «чтение» и сохраните право на «модификацию».
12) Выполните п.п. 7, 8, 9, 10. Проанализируйте и объясните результаты
13) Верните право для подкаталога на «выполнение», удалите право на «чтение» и сохраните право на «модификацию»
14) Выполните п.п. 7, 8, 9, 10. Проанализируйте и объясните результаты
15) Завершите работу с Терминалом
1. Как кодируются в атрибутах файла и каталога права доступа?
2. Кто может пользоваться и изменять права доступа к файлам?
3. Какие команды для изменения символьных кодов прав доступа Вы знаете? Перечислите и расскажите о назначении каждой из команд.
4. В чем разница в применении команд chmod и umask?
5. Какие команды обработки файлов разрешают (или запрещают) права на чтение, модификацию и исполнение?
6. Какие команды обработки каталогов разрешают (или запрещают) эти же права?
7. Что означает право на выполнение, применительно к каталогу?
8. Какими правами надо обладать, чтобы удалить файл или каталог?
9. Какие команды для защиты файлов Вы знаете?
Во всех версиях ОС UNIX имеется встроенный текстовый редактор vi экранного типа. Он может применяться практически на любом терминале, начиная с телетайпа. Редактор является универсальным средством, доступным в среде любой UNIX-подобной ОС.
Редактор богат своими функциональными возможностями. Мы ограничимся наиболее часто используемыми функциями при составлении обычных текстов, текстов процедур и пр..
Основная особенность – при редактировании текста в качестве управляющих используются обычные клавиши алфавитно-цифровой клавиатуры, а позиционирование осуществляется только относительно текущего положения курсора.
Начало работы с редактором:
$vi имя_файла [*] вызов редактора и файла
Если файл не существует, то создается новый пустой
Редактируемый файл переписывается в буфер. Далее все изменения в редактируемом файле соответственно осуществляются в буфере в КОМАНДНОМ РЕЖИМЕ - нажатые клавиши интерпретируются как команды редактирования текста. В командный режим редактор переводится автоматически сразу же после входа в программу vi.
По завершении редактирования надо выйти из редактора с сохранением файла:
<Esc>:wq! - отредактированная копия замещает исходный файл. Если же требуется отменить все редактирование, то:
<Esc>:q!
В режиме редактирования, например, для ввода новых фрагментов текста файла; используются следующие клавиши
команды режима ввода текста (значения клавиш на экране не отображается):
a (append) - набор последующего текста в текущую строку после курсора
i (insert) - вставка текста в текущую строку после курсора
o (open) - вставить пустую строку после текущей
Замечание: если в качестве управляющей используется клавиша нижнего регистра – операция редактирования реализуется после курсора, если верхнего - перед курсором.
Операции ввода текста необходимо завершить командой
<Esc> - переводит редактор в режим редактирования последнего варианта текста. В командном режиме могут исполняться и другие группы команд.
Команды управления курсором в области текста файла. Два способа - использование специальных клавиш-команд (см справочник) или использование общеизвестных управляющих клавиш клавиатуры.
х - удаление текущего символа
[#]dw - удаление # текущих слов
[#]dd -удаление текущих строк
dG - удаление всех строк от текущей до последней
d$ - удаление конца строки от текущей позиции
d^ - удаление начала строки до текущей позиции.
Замечание: удаленные фрагменты текста не пропадают а временно помещаются в буфер, откуда онимогут быть возвращены в текст или перемещены по файлу (см. ниже).
Команды отмены произведенных изменений в текущей строке:
u - отмена (undo) последнего изменения
U - отмена всех изменений.
Команды копирования указанного в команде объекта в буфер:
[#]yw - копирование (yank) текущего слова
[#]yy - копирование текущей строки
уG - копирование строк от текущей до конца файла
yS - копирование части строки от курсора до конца строки
y^ - копирование части строки от курсора до начала строки
Команды вставки буфера в текст:
P - перед курсором
p - после курсора
Команды изменения текста:
r<символ> - заменяет (change) текущий символ на указанный
с<объек> - заменяет указанный объект на текст, который вводится с клавиатуры - <Esc>
- #cw -изменение текущего слова
- #cc - всей текущей строки
- cG - всех строк файла от текущей до последней
- cS -части строки от курсора до конца строки
- с^ - части строки от курсора до начала строки.
Команды поиска строки файла по фрагменту текста:
/<текст> - начиная от текущей строки до конца файла с переходом
на его начало
?<текст> - начиная от текущей строки до начала файла и по всему
n - поиск следующей строки в файле, аналогичной найденной
N - поиск предыдущего вхождения в файл заданной строки.
Редактор имеет возможности поиска строк по шаблонам (например по диапазону символов) и пр.
На экране содержимое редактируемого файла представляется как бы через некоторое окно со следующими полями (сверху - вниз):
- область текста файла;
- область пустых строк, которые надо ввести, если они понадобятся;
- тильда (~) - область для ввода дополнительного текста файла, но пустых строк этой области в файле нет;
- область сообщений редактора или область префиксных ex-команд - операций редактора над группой строк файла или над целым файлом (команды вводятся на приглашение ":", отображаются на экране и исполняются по команде управляющей клавиши перевода строки).
Команды используются для многострочных операций с редактируемым файлом и настройки сеанса редактирования:
:w файл - запись текущего буфера в файл;
:m,nw файл - запись строк с m-ой по n-ую в файл;
:e! - отмена всех изменений в буфере с перезагрузкой в него файла с диска;
:e файл - загрузка файла в буфер редактирования, файл замещает старое содержимое самого буфера;
:r файл - добавление содержимого файла после текущего положения курсора;
:set опция - значение опций определяет настройку редактора и пр.
1. Изучить основные возможности встроенного текстового редактора vi - наиболее распространенного средства для построения текстовых файлов, исходных текстов программ и shell-процедур.
1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Войдите в редактор с созданием нового пустого файла с произвольным именем и расширением - .1.
3) Изучите интерфейс редактора vi. Как перейти в командный режим редактора? В текстовый режим редактора? Какие операции с текстом позволяет выполнить редактор?
4) Поместите в созданный файл текст, включающий не менее четырех строк с несколькими словами в каждой.
5) Вставьте по одной пустой строке до и после одной из строк файла.
6) Заполните пустые строки произвольным текстом.
7) Вставьте еще по одной строке в середину текста файла без предварительного резервирования пустых строк.
8) Перейдите в режим редактирования и выполните произвольное редактирование отдельных слов и строк файла с использованием всех команд из групп "Команды изменения текста" и "Команды отмены произведенных изменений в текущей строке".
9) Выйдите из редактора с сохранением файла. Убедитесь в сохранении созданного файла.
1. Изучить основные возможности встроенного текстового редактора vi.
2. Научиться редактировать текстовые файлы средствами редактора vi.
Изучаются команды:
- сохранение файлов;
- ввода текста;
- удаления фрагментов текста;
- копирования фрагментов текста в буферную область памяти;
- вставки содержимого буфера в текст файла;
- редактирования (изменения) текста;
- поиска строк файлов по их фрагментам;
- многострочных операций с файлом (префиксные команды)
1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.
2) Войдите опять в vi для редактирования созданного файла с использованием команд из групп "Команды копирования в буфер" и "Команды вставки буфера в текст".
3) Поменяйте местами несколько слов в строках файла.
4) Поменяйте местами несколько строк.
5) Поменяйте местами последовательно начало строки с её концом и наоборот.
6) Выполните операции поиска строк файла по заданным их фрагментам с различными направлениями поиска ( см. "Команды поиска строки файла по фрагменту её текста").
7) Не выходя из vi, перепишите полученную в результате редактирования версию файла в файл с тем же именем, но с расширением .new.