русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Необходимые сведения


Дата добавления: 2013-12-23; просмотров: 305; Нарушение авторских прав


Лабораторная работа №6. Организация поиска

Ход работы

1. Просмотрите права доступа

— для каталогов, находящихся в корневом каталоге;

— домашнего каталога.

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
[nМх] или [n,М,х] Любой символ из перечисленных в скобках Glava0[3,8] — файлы Glava03 и Glava08; Glava?[3,8] — файлы Glava03, GlavaZ8, Glava18, Glava23
[a-zA-Z0-9] или [a-z,A-Z,0-9] Любой символ из указанных интервалов Glava0[2-4,9] — Glava02, Glava03, Glava04, Glava09
[!а-n,х,у] Любой символ, не указанный в скобках Glava[!0][0-9] — все главы, начиная с 11

 

В соответствии со стандартом POSIX (Portable Operating System Interface for Unix, переносимый интерфейс операционных систем Unix) при указании шаблонов в командах управления файлами и каталогами можно использовать предопределенные диапазоны или классы символов.

Класс Описание диапазона символов
[:upper:] [A-Z]
[:lower:] [a-z]
[:digit:] [0-9]
[:alpha:] [a-zA-Z]
[:alnum:] [0-9a-zA-Z]
[:punct:] Набор символов ! # $ % & ^ ? @ ' " ` * + - = _ ~ ( ). , : ; / \ | < > [ ] { }
[:space:] Набор символов: табуляция, вертикальная табуляция, символ новой строки, символ новой страницы, символ возвращения каретки, пробел
[:graph:] Одновременно [:alnum:] и [:punct:]
[:print:] Одновременно [:alnum:], [:punct:] и пробел

 

Использование классов имеет следующие особенности:

— так как классы представляют собой перечисления, то при использовании их заключают в дополнительные квадратные скобки. Например, указание ?[[:digit:]]? позволяет обратиться к файлам с именами из трех символов, вторым из которых является число;

— классы могут учитывать как символы английского алфавита, так и национального языка.

Описание команды find

find [путь] [выражение] — осуществляет поиск в файловом дереве, начиная с каталога путь по критериям, указанным в выражении. Параметр выражение может иметь вид:

-print — вывод полных имен найденных файлов в стандартный поток вывода;

-name шаблон — поиск файлов по шаблону имени. Шаблон должен быть заключен в двойные кавычки;

-regex шаблон — поиск файлов по регулярному выражению. Фактически полный путь к файлу сравнивается с регулярным выражением ^шаблон$;

-perm режим — поиск файлов с заданным режимом доступа. Задание режима аналогично абсолютному режиму команды chmod;

-user пользователь — поиск файлов, принадлежащих указанному пользователю;

-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 — дизъюнкция.

Если задается сложный критерий поиска, то возможно использовать скобки, записываемые как последовательность «пробел, обратный слэш, скобка, пробел», например,

find ~ –size +1M \( -name "*.gz" –o –name "*.zip" \)

Эта команда ищет в домашнем каталоге пользователя файлы, размер которых больше мегабайта с расширением gz или zip.

 



<== предыдущая лекция | следующая лекция ==>
Основные команды | Лабораторная работа №7. Регулярные выражения. Команда egrep


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.