Операционные системы и среды. Работа с графическим интерфейсом kde asp linux Содержание
Скачать 423.29 Kb.
|
Тема 2.1. Работа с файлами и папками ASP Linux Работа с системой Linux в текстовом режиме, т.е. с консоли или терминала, позволяет быстрее и удобнее выполнить многие действия в системе, по сравнению с графическим режимом. Даже находясь в графическом режиме, часто быстрее открыть окно эмулятора терминала, и выполнять необходимые действия в нем. Поскольку Linux — это многозадачная ОС, уже в текстовом режиме обеспечивается возможность работы в нескольких окнах. А для редактирования простого текста или html-файла вовсе не обязательно запускать достаточно тяжеловесную и медленную графическую оболочку. Взаимодействие с пользователем организует специальная программа. Существует два вида таких программ — оболочка, или shell, для работы в текстовом режиме (интерфейс командной строки) и графический интерфейс пользователя GUI (Graphical User Interface), организующий взаимодействие с пользователем в графическом режиме. Выполнение команд в shell Одна из основных функций оболочки состоит в том, чтобы организовать исполнение команд пользователя, вводимых им в командной строке. Формат команд в ОС LINUX следующий: имя команды [аргументы] [параметры] [метасимволы]. Имя команды может содержать любое допустимое имя файла; аргументы - одна или несколько букв со знаком минус (-); параметры - передаваемые значения для обработки; метасимволы интерпретируются как специальные операции. Оболочка должна найти код команды, загрузить его в память, передать команде аргументы, заданные в командной строке, а после завершения выполнения соответствующего процесса передать каким-то образом пользователю или другому процессу результаты выполнения данной команды. На первом этапе осуществляется поиск кода команды. Команды бывают встроенные (те, код которых включен в код самой оболочки) и внешние (код которых расположен в отдельном файле на диске). Для поиска внешней команды пользователь, должен указать оболочке полный путь до соответствующего файла. Однако оболочка может находить внешние команды в каталогах, которые перечислены в специально заданных "путях поиска". Только если она не находит нужных файлов в таких каталогах, она решает, что пользователь ошибся при вводе имени команды. Для организации задания команд в командной строке оболочка предоставляет пользователю два специальных оператора: ; и &. 1) Оператор ; Хотя чаще всего пользователь задает команды в командной строке по одной, имеется возможность задать в одной строке несколько команд, которые будут выполнены последовательно, одна за другой. Для этого используется специальный символ -оператор ;. Если не поставить этот разделитель команд, то последующая команда может быть воспринята как аргумент предыдущей. Таким образом, если написать в командной строке что-то вроде: [user]$ command1 ; command2 то оболочка вначале запустит на выполнение команду command1, дождется, пока ее выполнение завершится, после чего запустит command2, дождется ее завершения, после чего снова выведет приглашение командной строки, ожидая следующих действий пользователя. 2) Оператор & Оператор & используется для того, чтобы организовать исполнение команд в фоновом режиме. Если поставить значок & после команды, то оболочка вернет управление пользователю сразу после запуска команды, не дожидаясь, пока выполнение команды завершится. Например, если задать в командной строке "command1 & command2 &", то оболочка запустит команду command1, сразу же затем команду command2, и затем немедленно вернет управление пользователю. Команды работы с каталогами Понятие файла Файл - единица информации, поименованный набор логически связанных данных (таблицы, программа, текст и пр.) Обращение к файлу по его уникальному имени (собственное имя файла), структура имени: имя-файла[.тип] Возможные расширения (типы) для текстовых файлов: txt, doc; графических файлов: bmp, jpg и т.д. В UNIX расширения имен, определяющие тип файла, не обязательны. Все файлы имеют собственные описатели (дескрипторы) и хранятся во внешней памяти. Физические адреса файлов на внешней памяти концентрируются в специальных файлах - каталогах. Основные команды работы с каталогами man название_команды - вызов электронного справочника об указанной команде. Например: man exit – выведет справку по команде exit. Выход из справочника - нажатие клавиши Q. Команда man man сообщает информацию о том, как пользоваться справочником. Помимо справочника можно воспользоваться командой help. Для этого нужно набрать: команда --help Например: exit --help – выведет справку по команде exit. cd имя_директории- смена текущего каталога. В качестве имени директории можно указывать элементы "." и "..". mkdir имя_директории - создание каталога. Вновь созданный каталог не содержит элементов, за исключением "." (ссылка на текущий каталог) и ".." (ссылка на вышележащий каталог). rmdir имя_директории - удаление каталога. ls [-alrstu] [ n amedir] - вывод содержимого каталога; если в качестве namedir указано имя файла, то выдается вся информация об этом файле. Если аргумент не указан, выдается содержимое текущего каталога. Значения некоторых аргументов: - l - список включает всю информацию о файлах; - F - добавление к имени каталога символа / и символа * к имени файла, для которых разрешено выполнение; - a - в список включаются все файлы, в том числе и те, которые начинаются с точки; - i - указать идентификационный номер каждого файла; - R - рекурсивный вывод содержимого подкаталогов заданного каталога. find список_каталогов условия_поиска -определение полных имен файлов в поддереве каталогов, удовлетворяющих заданным условиям поиска. В команде может быть задано до 18 условий_поиска. Необходимые комбинации условий объединяются в булевское выражение с помощью элементарных логических операций ('элементарных логических функций). Таким образом формируется логическая функция, принимающая истинное значение если значения всех её составляющих истины. На экран выводятся полные маршрутные имена файлов, свойства которых обеспечивают истинность этой функции. Элементарные логические функции: ! <условие> отрицание условия; <пробел> соответствует операции "И"; -o операция "ИЛИ"; \( выражение \) булевское выражение в скобках. При описании команды используются обозначения: n положительное десятичное число; -n любое положительное десятичное число, строго меньшее n; +n любое положительное десятичное число, строго большее n. Условия задаются следующими опциями: -name'имя_файла' истинно для файлов с указанным именем. -perm <8-ричный_код> истинно для файлов с указанным кодом прав доступа. -type {f|d|b|c|p} истинно для файлов указанного типа. -links n истинно для файлов с числом ссылок n. -user <имя_пользователя> истинно для файлов, принадлежащих данному пользователю. -size n[c] истинно для файлов с длиной n (число блоков) или с – в символах (байтах). -exec <команда> {} \; истинно, если команда возвращает нулевой код завершения (true), т.е. опция выполняет <команда> для каждого найденного файла. Все аргументы команды find разделяются пробелами. Примеры использования команды find: 1) команда выводит на экран список файлов с именами fil или файлов у которых имя владельца petr: find / --name “fil.*” –o –user petr –exec cat {} \; 2) поиск файлов, не являющихся директориями в текущем каталоге и его подкаталогах: find * !- type d 3) команда осуществит поиск в корневом каталоге всех директорий, на которые существуют более трех жестких ссылок: find / - type d - links +3 grep [-ключи] 'шаблон' <список_файлов> - поиск в файлах из списка_файлов строк, содержащих указанный шаблон (подстрока символов). Ключи определяют режимы поиска и вывода: -c выводятся имена всех просмотренных файлов и количество найденных строк, содержащих шаблон; -n перед каждой строкой выводится ее относительный номер в файле и сама строка; -i игнорируются регистры; -l выводятся только имена файлов, содержащие найденные строки и др. Например: grep -c 'aaa' * ”””””””” f.1: 10 f.2: 3 f.3: 1 ”””””””” В рассмотренном примере выводятся все имена файлов текущего каталога, содержащих подстроку aaa и количество таких строк в каждом из них. В нижеследующем примере выводятся только имена файлов, содержащих строки с шаблоном aaa. $ grep -n bbb * ”””””””””””””””””””””””””””” f.1: 5: aaaaaabbbbaaacc f.2: 2: bbbbbbbbbbbbbbbbbbbb f.6: 1: bbb ”””””””””””””””””””””””””””” Практическая работа №2(1) Основные команды работы с каталогами Цель работы: 1. Изучить архитектуру и принципы функционирования многопользовательской многозадачной операционной системы Linux 2. Изучить основные команды работы с каталогами ОС Linux Порядок выполнения работы Изучаются команды: mkdir - создание каталога; rmdir - удаление каталога; cd - перемещение по дереву каталогов; pwd - определение текущего каталога; ls - просмотр содержимого каталога; more - постраничный вывод информации; man - вызов руководства по команде. 1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2) Изучить команды работы с каталогами, для этого выведите на экран Терминала справку по следующим командам: pwd , mkdir , rmdir , cd , ls. Назначение и формат команд приведите в отчете. 3) Определите Ваш текущей каталог. Просмотрите его содержимое и приведите его в отчете. 4) Перейдите в каталог Вашей группы и создайте в нем личный каталог. 5) Определите уникальное имя (номер индексного указателя) Вашего личного каталога. Объясните структуру полного маршрутного имени каталога. 6) Создайте два поддерева из одного и из двух каталогов в каталоге Вашей группы. Используя команду ls, проверьте факт построения дерева подкаталогов. 7) Просмотрите содержимое пустых подкаталогов, т.е. новых подкаталогов, не содержащих файлов. Объясните их содержание. 8) Сделайте текущим последний каталог меньшего поддерева. Определите его полное маршрутное имя. 9) Уничтожьте все подкаталоги большего поддерева каталогов. Получите подтверждение выполнения команд. 10) Выведите на экран содержимое корневого каталога. Приведите его в отчете. Какие каталоги расположены в корневой директории, каково их назначение? 11) Завершите сеанс работы с системой. Практическая работа №2(2) Поиск файлов в системе каталогов Цель работы: 1. Изучить архитектуру и принципы функционирования многопользовательской многозадачной операционной системы Linux 2. Научиться осуществлять поиск файлов в системе каталогов Порядок выполнения работы Изучаются команды: find - поиск файлов в системе каталогов more - постраничный вывод информации; man - вызов руководства по команде; grep - поиск в файлах указанный шаблон; еxit - выход из терминала; 1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал. 2) Изучить команды работы с каталогами, для этого выведите на экран Терминала справку по следующим командам: find , grep. Назначение и формат команд приведите в отчете. 3) Установите в качестве текущего HOME-каталог. 4) Найдите обычные файлы с определением их полных маршрутных имен. 5) Осуществите поиск файлов типа директория в Вашем личном каталоге. 6) Найдите в текущем каталоге все файлы, на которые имеются жесткие ссылки. 7) Найдите файлы блок-ориентированного типа из каталога /dev и его подкаталогов. 8) Осуществите поиск обычных файлов на диске, размер которых не превышает 2 Кб. 9) Задайте различные комбинации известных Вам условий поиска файлов и каталогов. 10) Выведите на экран принадлежащую Вам регистрационную запись с использованием команды grep. 11) Завершите сеанс работы с системой. Команды работы с файлами: управление файлами, генерация имен файлов Управление файлами Ниже приведены форматы команд, использующихся для управления файлами: >маршрутное-имя-файла - создание пустого файла. cat имя-файла - вывод содержимого файла на экран. cat>имя-файла - перенаправление информации, вводимой с клавиатуры с заменой содержимого файла. cat [входной файл 1] [входной_файл2] […входной файл N] > [выходной_файл] - слияние файлов grep [-ключи] 'шаблон' <список_файлов> -поиск в файлах из списка_файлов строк, содержащих указанный шаблон (подстрока символов). Ключи определяю obt режимы поиска и вывода: -c выводятся имена всех просмотренных файлов и количество найденных строк, содержащих шаблон; -n перед каждой строкой выводится ее относительный номер в файле и сама строка; -i игнорируются регистры; -l выводятся только имена файлов, содержащие найденные строки и др. touch [- k ] имя-файла - замена времени модификации на текущее, если файл не существует, то создается новый пустой файл. Команда может использоваться для создания новых пустых файлов, если указать имя несуществующего файла. wc [-lwc] список_файлов - подсчет количества строк (-l), слов (-w), или символов (-c) в указанных файлах. cp [- k ] вх_файл_1 [вх_файл_2 [... вх_файл_n]] вых_файл – копирование файлов. В самом формате команды заложено два режима ее использования: 1-й: Если вых_файл - обычный файл, то вх_файл может быть только один; в этом случае содержимое вх_файла копируется в вых_файл. Если вых_файл существовал, то его содержимое полностью заменяется на новое, атрибуты защиты сохраняются. Если создается новый вых_файл, то ему присваиваются атрибуты копируемого. 2-й: Если вых_файл - каталог, то в него последовательно копируются все указанные вх_файлы со своими атрибутами и именами, но каталог при этом автоматически не создается. Примеры использования команды cp: Создается новый файл FIL.c в том же текущем головном каталоге. Для копирования в другой каталог необходимо указать маршрутное имя выходного файла: cd cp fil.c FIL.c Входной файл fil.c сохраняется в исходном текущем каталоге: mkdir petr mkdir lev1 cp fil.c lev1/prog.c Групповые операции над файлами при копировании: cp f.? fildir cp f.[1-3] fildir cp f.[123] fildir mv [- k ] вх_ф йл_1 [вх_ф йл_2 [... вх_ф йл_n]] вых_файл - перемещение или переименование файлов Отличия от предыдущей команды копирования заключаются в том, что перемещаемые файлы в исходном каталоге уничтожаются. Генерация имен файлов и каталогов (Pathname Expansion) Подстановки имен путей и файлов (Pathname expansion) используются для того, чтобы с помощью краткого образца или шаблона указать несколько имен файлов (или каталогов), соответствующих данному шаблону. Специальные символы шаблонов имеют следующее значение. Таблица 2.1.4. Символы шаблонов
Шаблоны имен файлов очень часто применяются в командных строках, содержащих команду ls. Представьте себе, что вы хотите просмотреть информацию о содержимом каталога, в котором находится огромное количество разных файлов различных форматов, например, файлов с изображениями форматов gif, jpeg, avi и т. д.. Чтобы получить только список файлов формата jpeg, вы можете использовать команду [user]$ ls *.jpg Если в каталоге имеется множество файлов, имена которых представлены четырехзначными номерами, то следующей командой можно вывести только список файлов с номерами от 0200 до 0499: [user]$ ls -l 0[2-4]??.* |