2. Сделайте домашний каталог текущим. Создайте в нем каталог mode, и, не покидая домашнего каталога, подкаталоги tst1 и tst2. Используя команду access, проверьте, имеет ли каталог mode разрешения rwxrwxrwx, rw-rw-rw- и rwxrw-r--. Просмотрите разрешения для каталога mode.
3. Просмотрите содержимое каталога mode. Используя символьный режим команды chmod, уберите право на чтение и исполнение для владельца каталога. Просмотрите содержимое каталога mode. Проанализируйте, почему система выдала ошибку. Попытайтесь просмотреть содержимое каталога ~/mode/tst1.
4. Верните владельцу каталога mode право на запись и выполнение, но не на чтение. Последовательно проверьте, можно ли просмотреть содержимое каталога mode и создать в нем еще один подкаталог. Проанализируйте, почему результаты оказались различными. Используя абсолютный режим команды chmod, установите права для каталога mode, разрешающие чтение, запись и выполнение для владельца, группы и всех прочих пользователей.
5. Создайте в каталоге mode текстовый файл text произвольного содержания. Используя символьный режим команды chmod, установите для владельца файла text разрешения -w-. Попытайтесь вывести содержимое файла на экран. Добавьте в конец файла text информацию о файлах текущего каталога с помощью команды ls >> text. Установите право на чтение этого файла и просмотрите содержимое. Сделайте выводы о возможности редактирования и просмотра с правами -w-.
Цель работы: ознакомиться с составлением шаблонов и работой команды поиска файлов find.
Шаблоны или маски позволяют указать на множество файлов, имена которых соответствуют некоторому образцу. Шаблоны имен файлов организуются на основе использования метасимволов, имеющих специальное значение. Применяются в командах управления и обработки файлов и каталогов (cp, find и др.)
Метасимвол
(диапазон)
Описание
Пример
*
Произвольная (в том числе и пустая) строка. Действует до первой точки
~/Part* — файлы Part, Part1, Part01, Part_Two, но не Part.txt или Part_Two.html
?
Любой одиночный символ
Glava?? — файлы Glava03 и GlavaXZ, но не Glava и не Glava.old
В соответствии со стандартом POSIX (Portable Operating System Interface for Unix, переносимый интерфейс операционных систем Unix) при указании шаблонов в командах управления файлами и каталогами можно использовать предопределенные диапазоны или классы символов.
Набор символов: табуляция, вертикальная табуляция, символ новой строки, символ новой страницы, символ возвращения каретки, пробел
[:graph:]
Одновременно [:alnum:] и [:punct:]
[:print:]
Одновременно [:alnum:], [:punct:] и пробел
Использование классов имеет следующие особенности:
— так как классы представляют собой перечисления, то при использовании их заключают в дополнительные квадратные скобки. Например, указание ?[[:digit:]]? позволяет обратиться к файлам с именами из трех символов, вторым из которых является число;
— классы могут учитывать как символы английского алфавита, так и национального языка.
Описание команды find
find [путь] [выражение] — осуществляет поиск в файловом дереве, начиная с каталога путь по критериям, указанным в выражении. Параметр выражение может иметь вид:
-group группа — поиск файлов, принадлежащих указанной группе пользователей;
-mtime [+-]n — поиск файлов, модификация которых осуществлялась ровно n дней назад (если + или - не указаны), не осуществлялась в течении n дней (если указан -), или файлы, которые были модифицированы в течении последних n дней (если указан +);
-atime [+-]n — аналогично предыдущему, но поиск производится по последнему времени доступа;
-newer файл — поиск файлов, созданных позднее, чем указанный файл. Для создания файла с определенной датой и временем используется команда
touch –t дата файл,
где дата описывается в формате ММДДччмм (месяц-день-часы-минуты);
-type тип — поиск файлов заданного типа (f, d, c, b, p, l, s);
-size [+-]N[ckMG] — поиск файлов заданного размера N (в блоках, 1 блок=512 байт). При указании + производится поиск файлов больше заданного размера, при указании - меньше заданного. Если после N указан один из символов c, k, M, G, то размер измеряется в байтах, килобайтах, мегабайтах и гигабайтах соответственно.
Для задания сложных критериев с применяют логические операции:
! выражение — отрицание выражения;
выражение1 выражение2 — конъюнкция. Так же можно использовать конструкцию выражение1 –a выражение2;
выражение1 –o выражение2 — дизъюнкция.
Если задается сложный критерий поиска, то возможно использовать скобки, записываемые как последовательность «пробел, обратный слэш, скобка, пробел», например,