- •Лабораторные работы Лабораторная работа №1. Файловая оболочка Midnight Commander
- •Лабораторная работа №2. Информационные команды оболочки, работа со справочной системой
- •Лабораторная работа №3. Управление каталогами
- •Лабораторная работа №4. Файловые операции
- •Лабораторная работа №5. Права доступа к файлам
- •Лабораторная работа №6. Организация поиска
- •Лабораторная работа №7. Регулярные выражения. Команда egrep
- •Лабораторная работа №8. Перенаправление стандартных потоков, конвейеры
- •Лабораторная работа №9. Фильтры, обработка текстовых данных
- •Лабораторная работа №10. Архивирование и сжатие
- •Лабораторная работа №11. Текстовый редактор Vim
- •Vim [ключи] [файл].
- •Лабораторная работа №12. Сценарии оболочки
- •Лабораторная работа №13. Условные конструкции
- •Лабораторная работа №14. Циклические конструкции
- •Лабораторная работа №15. Одномерные массивы
- •Лабораторная работа №16. Потоковый редактор sed
- •Лабораторная работа №17. Язык обработки шаблонов gawk
- •If (условие) {действия1} [else {действия2}].
Лабораторная работа №3. Управление каталогами
Цель работы: ознакомиться с командами управления и просмотра каталогов.
Основные команды
pwd — полное имя текущего каталога;
cd [директория] — смена текущего каталога. Вызванная без параметра осуществляет переход в домашний каталог;
mkdir [-p] директория — создает каталог. Ключ -p позволяет одной командой создавать вложенные каталоги;
rmdir директория — удаляет пустой каталог;
ls [опции] [файл1 файл2 …] — выводит на стандартный вывод содержимое каталога. Опции:
-a — выводить все файлы, даже начинающиеся с «.»;
-A — выводить все файлы, кроме «.» и «..»;
-F — имена каталогов будут оканчиваться символом /;
-d — выводит информацию о каталогах, но не об их содержимом;
-i — перед файлом вывести номер индексного дескриптора;
-l — выводить о файле подробную информацию. Выводятся следующие поля: тип файла (один из символов d, b ,c, l, p, s, -), права доступа в формате rwxrwxrwx, количество жестких ссылок, имя владельца, имя группы, размер файла в байтах, время последней модификации, имя файла;
-r сортировка в обратном порядке;
-t сортировка по времени модификации;
-R рекурсивное отображение подкаталогов указанного каталога;
-1 (единица) вывод данных в один столбец по одному имени файла на строку.
Ход работы
Посмотрите полное имя текущего каталога.
Перейдите в каталог /usr/share/doc и убедитесь, что вы перешли в этот каталог. Используя абсолютную адресацию, перейдите в каталог /usr.
Используя относительную адресацию, выполните:
вернитесь в каталог /usr/share/doc;
перейдите в каталог /usr/share;
перейдите в домашний каталог.
Создайте каталоги с именами Doc, My Files, %FREE*.
Не покидая домашнего каталога, создайте в каталоге My Files каталоги Pict и Video.
Попытайтесь удалить каталог My Files. Перейдите в каталог ~/My Files/Pict и, не покидая его, удалите каталог Video.
Перейдите в каталог %FREE* и, не покидая его, последовательно удалите каталоги ~/My Files/Pict и ~/My Files.
Просмотрите полное содержимое домашнего каталога, включая скрытые файлы.
Просмотрите полную информацию обо всех каталогах домашнего каталога. Узнайте номера их индексных дескрипторов.
Просмотрите список всех файлов, начинающихся с «tty» в каталоге /dev, отсортировав его по времени модификации в обратном порядке.
Определите права доступа к домашнему каталогу для разных категорий пользователей.
Лабораторная работа №4. Файловые операции
Цель работы: ознакомиться с основными командами управления файлами.
Основные команды
file файл — определяет тип файла
cat [опции] файл1 файл2… — объединяет файлы или поток стандартного ввода и направляет на стандартный вывод. Опции:
-n — нумеровать строки выходного файла, начиная с 1;
-v — выводит управляющие символы, кроме символов перевода строки и табуляции, для которых используются специальные обозначения.
Иногда используется для вывода небольших файлов на экран. Если файл не помещается в один экран, можно использовать фильтр more:
cat файл | more.
Также позволяет создавать текстовые файлы:
cat > файл.
Для завершения ввода используется сочетание клавиш <Ctrl+D>.
cp [опции] файл1 [файл2…] конечный_файл — команда копирования. Если конечный_файл является существующим каталогом, в него копируются файл1, файл2,… с сохранением имен. Если конечный_файл не является каталогом, то должны быть указаны только файл1 и конечный_файл, при этом файл1 копируется в файл2. Опции:
-R — рекурсивное копирование каталогов;
-l — создает жесткие ссылки вместо копирования файлов;
-v — выводить имя каждого файла перед копированием.
mv [опции] файл1 [файл2…] конечный_файл — перемещает (переименовывает) файлы. Если конечный_файл является каталогом, то файл1, файл2,… перемещаются в него. Если конечный_файл не является каталогом, то должны быть указаны только файл1 и конечный_файл, при этом имя первого будет изменено на имя второго. Опции:
-f — не задавать вопрос на подтверждение операции;
-v — выдавать имя каждого файла при его переносе.
rm [опции] файл — удаляет указанный файл. По умолчанию каталоги не удаляются. Опции:
-R — рекурсивное удаление каталогов;
-f — не запрашивать подтверждения;
-i — требует подтверждения операции удаления.
ln файл1 [-s] файл2 — создает для файл1 жесткую ссылку с именем 1. При указании ключа -s создает символическую ссылку.
Ход работы
Определите тип файлов для домашнего каталога и всех файлов в каталоге Temp, всех файлов в домашнем каталоге.
Создайте в домашнем каталоге каталог Data. В нем создайте текстовый файл name, содержащий Ваше имя и фамилию, разделенных знаком табуляции, и тестовый файл today, содержащий текущую дату и день недели, разделенных символом начала новой строки. Объедините эти два файла в файл full. Выведите на экран файл full. Выведите на экран файл full в режиме показа управляющих символов.
Скопируйте в каталог Temp каталог Data. Скопируйте в каталог Temp все файлы из каталога Data, в имени которых имеется символ a.
В каталоге Data переименуйте файл full в full_tmp. Переместите файл full_tmp в каталог Temp.
Удалите из каталога Temp все файлы с расширением html. Удалите каталог Temp вместе со всеми подкаталогами.
Создайте в домашнем каталоге символическую ссылку с именем doc на директорию /usr/share/doc. Определите тип файла созданной ссылки, выполните для нее команду ls.
В каталоге Data создайте жесткую ссылку на файл name с именем namelink. С помощью редактора оболочки Midnight Commander измените содержимое файла namelink, сохранив изменения. Сравните размеры этих файлов. Выведите на экран содержимое файлов name и namelink и сравните. Удалите файл name. Выведите на экран содержимое файла namelink.
В каталоге Data создайте символическую ссылку на файл surname с именем surnamelink. С помощью редактора оболочки Midnight Commander измените содержимое файла surnamelink, сохранив изменения. Выйдите из оболочки. Сравните размеры этих файлов. Выведите на экран содержимое файлов surname и surnamelink и сравните их. Удалите файл surname. Просмотрите содержимое каталога Data.