Основы работы с Linux. Учебный курс
Скачать книгу
О книге «Основы работы с Linux. Учебный курс»
Эта книга знакомит читателей с основами работы в операционной системе Linux на примере Red Hat Enterprise Linux 5 (RHEL). Она предназначена для людей, которые только начинают осваивать систему Linux. Книга состоит из теоретической и практической частей, которые вместе позволяют получить систематизированные знания о системе и умения решать практические задачи. Основной упор сделан на полноту раскрытия темы, при сохранении лаконичности изложения. Теоретическая часть раскрывает принципы работы системы, нюансы настройки различных компонентов и позволяет подготовиться к экзамену RHCT, комплексной программы сертификации Red Hat. При создании практической части, было уделено внимание сбалансированности практических заданий. Задания довольно разнообразны – от простых для «новичков», с подробным описанием всех шагов, до более сложных, с возможностью самостоятельного выполнения различными способами для людей, обладающих представлением и опытом работы с конкретной технологией. Курс состоит из 14-ти модулей, последовательно раскрывающих основы работы с ОС Linux и знакомящих читателей: • с графическим и командным интерфейсами; • с файловой системой и командами; • с обработкой текста и написанием сценариев командного интерпретатора; • с работой с учетными записями и процессами; • с основами работы с сетевыми приложениями. Данное пособие – первое в серии книг по Linux, издаваемых совместно издательством ДМК Пресс и Softline Academy Alliance. Курс разработан в Учебном центре ВМК МГУ & Softline Academy (www.it-university.ru) при участии специалистов, которые не один год работают в области администрирования систем на базе Linux. Кроме того, книга базируется на 6-летнем опыте проведения курсов и построена таким образом, что читатель получает и закрепляет практические навыки для администрирования ОС Linux и получает базу для самостоятельного решения сложных проблем, за счет понимания принципов функционирования системы.
На нашем сайте вы можете скачать книгу «Основы работы с Linux. Учебный курс» Никита Войтов бесплатно и без регистрации в формате pdf, читать книгу онлайн или купить книгу в интернет-магазине.
Скачать Основы работы с Linux. Учебный курс (Войтов Н. М.)
Эта книга знакомит читателей c основами работы в операционной системе Linux на примере Red Hat Enterprise Linux 5 (RHEL). Она предназначена для людей, которые только начинают осваивать систему Linux.
Книга состоит из теоретической и практической частей, которые вместе позволяют получить систематизированные знания о системе и умения решать практические задачи.
Введение
Модуль 1. Обзор ОС Linux
1.1. Открытое программное обеспечение
1.2. Общая характеристика дистрибутивов ОС Linux
1.3. Дистрибутив Red Hat Enterprise Linux
Модуль 2. Знакомство c пользовательским интерфейсом
2.1. Текстовый и графический режимы работы
2.2. Виртуальные консоли. Базовые операции c системой
2.3. Графический сервер Xorg. Приложения GNOME
Модуль 3. Знакомство c файловой системой
3.1. Предназначение файловой системы
3.2. Иерархия файловой системы
3.3. Типы файлов
3.4. Имена файлов и каталогов: группировка и использование подстановок
Модуль 4. Основы работы c командной строкой
4.1. Командные интерпретаторы
4.2. Идеология работы c командами: структура и использование
4.3. Приемы работы c командной строкой: поиск команд и специальные клавиши
4.4. Получение справки
4.5. Настройка командного интерпретатора. Переменные окружения
Модуль 5. Работа c файловой системой ОС Linux
5.1. Основные операции при работе c файлами и каталогами
5.2. Просмотр содержимого файлов: утилиты more и less
5.3. Поиск файлов: утилиты find и locate
5.4. Работа c архивами
Модуль 6. Обработка текстовых данных
6.1. Базовые операции c текстом: утилиты обработки текста
6.2. Сравнение файлов и каталогов
6.3. Модификация файлов. Использование редакторов sed и awk
Модуль 7. Регулярные выражения
Модуль 8. Редактирование текста: редакторы vi и vim
8.1. Режимы работы редакторов vi и vim
8.2. Основные команды редакторов vi и vim
8.3. Настройка редакторов vi и vim
Модуль 9. Работа c учетными записями
9.1. Пользователи и группы в ОС Linux
9.2. Регистрация и смена пароля
9.3. Запуск программ от имени других пользователей
9.4. Управление учетными записями пользователей: файлы /etc/passwd, /etc/shadow и /etc/groups
Модуль 10. Разграничение прав доступа к данным
10.1. Модель доступа к данным ОС Linux
10.2. Изменение прав доступа к данным
10.3. Расширенные списки доступа к данным
Модуль 11. Знакомство c процессами
11.1. Понятие процесса
11.2. Типы процессов
11.3. Взаимодействие процессов
11.4. Управление процессами
Модуль 12. Программирование в оболочке bash
12.1. Структура и выполнение сценариев
12.2. Переменные сценария. Позиционные параметры
12.3. Коды завершения сценария
12.4. Проверка условий. Логические и условные операторы
12.5. Управляющие конструкции FOR, WHILE, UNTIL, CASE
12.6. Использование позиционных параметров. Команды SHIFT и GETOPTS
12.7. Использование функций. Отладка сценариев
Модуль 13. Работа c дисковым пространством
13.1. Организация хранения данных
13.2. Определение характеристик дискового пространства
Модуль 14. Сетевые клиенты
14.1. Настройка сетевых интерфейсов
14.2. Сетевая диагностика
14.3. Инструменты удаленного доступа и администрирования
14.4. Работа c почтовыми и веб-клиентами
Приложения
Приложение 4.1. «Горячие» клавиши командного интерпретатора bash
Приложение 4.2. Основные команды ОС Linux
Приложение 4.3. Переменные окружения командного интерпретатора bash
Приложение 6.1. Перечень основных функций и команд gawk
Приложение 8.1. Основные команды редактора vim
Приложение 14.1. Основные клавиши в обозревателе Mozilla Firefox
Практические работы
Описание виртуальных машин
Практическая работа 2. Знакомство c пользовательским интерфейсом
Практическая работа 3. Знакомство c файловой системой
Практическая работа 4. Основы работы c командной оболочкой
Практическая работа 5. Работа c файлами и каталогами
Практическая работа 6. Редактирование и обработка текстовых файлов
Практическая работа 7. Работа c регулярными выражениями
Практическая работа 9. Работа c пользователями и группами
Практическая работа 11. Знакомство c процессами
Практическая работа 12. Программирование в командной оболочке Bash
Практическая работа 13. Работа c дисковым пространством
Практическая работа 14. Сетевые клиенты
Год выхода: 2011
Автор: Войтов Н. М.
Издательство: ДМК Пресс
ISBN: 978-5-94074-148-0
Страниц: 216
Формат: PDF
Качество: Отличное
Размер файла: 16,59 Mb
«Войтов Н. М. Основы работы с Linux Учебный курс Москва, 2011 УДК 32.973.26 018.2 ББК 004.4 В65 Войтов Н. М. В65 Основы работы с Linux. Учебный курс. – М.: ДМК Пресс, 2010. – 216 . »
Основы работы с Linux
В65 Основы работы с Linux. Учебный курс. – М.: ДМК Пресс, 2010. – 216 с.: ил.
ISBN 978 5 94074 148 0
Эта книга знакомит читателей с основами работы в операционной системе Linux на при
мере Red Hat Enterprise Linux 5 (RHEL). Она предназначена для людей, которые только на
чинают осваивать систему Linux. Книга состоит из теоретической и практической частей, ко торые вместе позволяют получить систематизированные знания о системе и умения решать практические задачи. Основной упор сделан на полноту раскрытия темы, при сохранении лаконичности изложения. Теоретическая часть раскрывает принципы работы системы, ню ансы настройки различных компонентов и позволяет подготовиться к экзамену RHCT, ком плексной программы сертификации Red Hat. При создании практической части, было уделе но внимание сбалансированности практических заданий. Задания довольно разнообразны – от простых для «новичков», с подробным описанием всех шагов, до более сложных, с воз можностью самостоятельного выполнения различными способами для людей, обладающих представлением и опытом работы с конкретной технологией.
Курс состоит из 14 ти модулей, последовательно раскрывающих основы работы с ОС
Linux и знакомящих читателей:
• с графическим и командным интерфейсами;
• с файловой системой и командами;
• с обработкой текста и написанием сценариев командного интерпретатора;
• с работой с учетными записями и процессами;
• с основами работы с сетевыми приложениями.
Данное пособие – первое в серии книг по Linux, издаваемых совместно издательством ДМК Пресс и Softline Academy Alliance.
Курс разработан в Учебном центре ВМК МГУ & Softline Academy (www.it university.ru) при участии специалистов, которые не один год работают в области администрирования сис тем на базе Linux. Кроме того, книга базируется на 6 летнем опыте проведения курсов и по строена таким образом, что читатель получает и закрепляет практические навыки для адми нистрирования ОС Linux и получает базу для самостоятельного решения сложных проблем, за счет понимания принципов функционирования системы.
УДК 32.973.26 018.2 ББК 004.4 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения вла дельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответ ственности за возможные ошибки, связанные с использованием книги.
Модуль 1. Обзор ОС Linux
1.1. Открытое программное обеспечение
1.2. Общая характеристика дистрибутивов ОС Linux
1.3. Дистрибутив Red Hat Enterprise Linux
Модуль 3. Знакомство с файловой системой
3.1. Предназначение файловой системы
3.2. Иерархия файловой системы
Именованные каналы (FIFO)
Файлы блочных и символьных устройств
3.4. Имена файлов и каталогов: группировка и использование подстановок
Модуль 4. Основы работы с командной строкой.
4.1. Командные интерпретаторы
4.2. Идеология работы с командами: структура и использование. 45 4 Содержание
4.3. Приемы работы с командной строкой: поиск команд и специальные клавиши
Поиск ранее введенных команд
Редактирование командной строки
Поиск ранее введенных команд
4.4. Получение справки
4.4.1. Команды man и info
4.4.2. Поиск названий и описаний команд
4.5. Настройка командного интерпретатора. Переменные окружения
Модуль 5. Работа с файловой системой ОС Linux.
5.1. Основные операции при работе с файлами и каталогами. 56 5.1.1. Команды управления файлами
5.1.2. Команды управления символьными ссылками
5.1.3. Команды управления каталогами
5.1.4. Команды определения типов файлов и дополнительной информации
5.2. Просмотр содержимого файлов: утилиты more и less
5.3. Поиск файлов: утилиты find и locate
Общие условия поиска
Условия поиска файлов по имени
Временные условия поиска
Условия поиска по размеру
Условия поиска по типу файла
Условия поиска по владельцу файла и коду доступа
5.4. Работа с архивами
5.4.1. Утилиты bzip и gzip2
5.4.2. Использование утилиты tar
Модуль 7. Регулярные выражения
Содержание Модуль 8. Редактирование текста: редакторы vi и vim. 98
8.1. Режимы работы редакторов vi и vim
8.2. Основные команды редакторов vi и vim
8.2.1. Перемещение по тексту
8.2.2. Редактирование текста
8.2.3. Операции с файлами
8.3. Настройка редакторов vi и vim
Модуль 9. Работа с учетными записями
9.1. Пользователи и группы в ОС Linux
9.2. Регистрация и смена пароля
9.3. Запуск программ от имени других пользователей
9.4. Управление учетными записями пользователей: файлы /etc/passwd, /etc/shadow и /etc/groups
9.4.1. Управление учетными записями при помощи консольных программ
Модуль 10. Разграничение прав доступа к данным.
10.1. Модель доступа к данным ОС Linux
10.2. Изменение прав доступа к данным
10.3. Расширенные списки доступа к данным
Модуль 11. Знакомство с процессами
11.1. Понятие процесса
11.2. Типы процессов
11.3. Взаимодействие процессов
11.4. Управление процессами
11.4.1. Запуск процессов
11.4.2. Просмотр запущенных процессов
11.4.3. Управление режимом работы процесса
11.4.4. Завершение работы процесса
Модуль 12. Программирование в оболочке bash.
12.1. Структура и выполнение сценариев
12.2. Переменные сценария. Позиционные параметры
12.3. Коды завершения сценария
12.4. Проверка условий. Логические и условные операторы. 139
12.5. Управляющие конструкции FOR, WHILE, UNTIL, CASE. 142
12.6. Использование позиционных параметров. Команды SHIFT и GETOPTS
12.7. Использование функций. Отладка сценариев
Модуль 14. Сетевые клиенты
14.1. Настройка сетевых интерфейсов
14.2. Сетевая диагностика
14.3. Инструменты удаленного доступа и администрирования. 165
14.4. Работа с почтовыми и веб клиентами
14.4.1. Веб обозреватель Mozilla Firefox
14.4.2. Текстовые веб клиенты: lynx и wget
14.4.3. Почтовый клиент Evolution
Обмен сообщениями при помощи Evolution
Адресная книга Evolution
Приложение 4.1. «Горячие» клавиши командного интерпретатора bash
Приложение 4.2. Основные команды ОС Linux
Приложение 4.3. Переменные окружения командного интерпретатора bash
Приложение 6.1. Перечень основных функций и команд gawk. 182 Приложение 8.1. Основные команды редактора vim
Приложение 14.1. Основные клавиши в обозревателе Mozilla Firefox. 186 Практические работы
Описание виртуальных машин
Практическая работа 2. Знакомство с пользовательским интерфейсом
Упражнение 2.1. Регистрация в системе. Работа с виртуальными консолями
Упражнение 2.2. Базовые операции с системой. Работа с интерфейсом командной строки
Упражнение 2.3. Работа в графическом режиме. Графический сервер Xorg
Самостоятельные упражнения и дополнительные вопросы. 194 Практическая работа 3. Знакомство с файловой системой. 194 Упражнение 3.1. Иерархия файловой системы
Упражнение 3.2. Монтирование файловых систем
Упражнение 3.3. Работа с группами файлов
Самостоятельные упражнения и дополнительные вопросы. 197 Практическая работа 4. Основы работы с командной оболочкой. 197 Упражнение 4.1. Работа с переменными окружения
Упражнение 4.2. Поиск команд и справочной информации. 199 Содержание Упражнение 4.3. Настройка командного интерпретатора. 200 Самостоятельные упражнения и дополнительные вопросы. 201 Практическая работа 5. Работа с файлами и каталогами
Упражнение 5.1. Ротация журнальных файлов
Упражнение 5.2. Просмотр файлов
Практическая работа 6. Редактирование и обработка текстовых файлов
Упражнение 6.1. Редактирование и обработка текстовых файлов
Самостоятельные упражнения и дополнительные вопросы. 207 Практическая работа 7. Работа с регулярными выражениями. 208 Упражнение 7.1. Использование регулярных выражений с утилитами семейства grep
Практическая работа 9. Работа с пользователями и группами. 208 Упражнение 9.1. Создание нового пользователя
Самостоятельные упражнения и дополнительные вопросы. 210 Практическая работа 11. Знакомство с процессами
Упражнение 11.1. Определение параметров запущенных процессов
Самостоятельные упражнения и дополнительные вопросы. 211 Практическая работа 12. Программирование в командной оболочке Bash
Упражнение 12.1. Создание сценариев
Практическая работа 13. Работа с дисковым пространством. 213 Упражнение 13.1. Создание и изменение параметров разделов. 213 Самостоятельные упражнения и дополнительные вопросы. 214 Практическая работа 14. Сетевые клиенты
Упражнение 14.1. Настройка и проверка сетевых параметров. 214 Самостоятельные упражнения и дополнительные вопросы. 215 Введение Данное пособие – первое в серии книг по Linux, издаваемых совместно ДМК Пресс (www.dmk press.ru) и Softline Academy Alliance (www.it academy.ru). «Основы ра боты с ОС Red Hat Enterprise Linux» – начальный курс в изучении ОС Linux.
Курс содержит материал, который позволяет пользователям, начинающим рабо тать с этой ОС, понять и закрепить принципы работы с данной системой. В каче стве основного рассматриваемого в данном курсе дистрибутива используется ди стрибутив ОС Red Hat Enterprise Linux 5 (RHEL)1, являющийся коммерческим решением компании Red Hat. Знания, полученные в ходе изучения данного курса, применимы к любому другому дистрибутиву ОС Linux.
Курс предназначен для системных администраторов и инженеров, а также пользователей любого уровня знаний, стремящихся освоить ОС Linux и в даль нейшем успешно сдать сертификационные экзамены по программам Red Hat Cer tified Technician (RHCT) и Red Hat Certified Engineer (RHCE).
Предлагаемый вашему вниманию конспект лекций и практические работы — это основной учебный материал для проведения занятий по курсу «Основы рабо ты с ОС Red Hat Enterprise Linux» в Учебных центрах Softline Academy (www.it academy.ru). Эти учебные центры создаются в рамках инициативы Softline Academy Alliance, цель которой объединить учебные заведения и организации, за интересованные в качественной и эффективной подготовке студентов и молодых специалистов для работы в области IT.
Курс разработан преподавателями Учебного центра ВМК МГУ & Softline Aca demy (www.it university.ru), который является первым в России авторизованным учебным центром программы Microsoft IT Academy и первой Академией Softline.
Курс рассчитан на 32 академических часа и может быть освоен как самостоя тельно, так и под руководством опытного преподавателя в любой из двадцати пяти Академий Softline, находящихся в восемнадцати регионах России.
Курс состоит из 14 модулей, последовательно раскрывающих основы работы с ОС Linux.
Все модули условно разделены на пять групп:
• Основы работы с графическим и командным интерфейсами;
• Основы работы с файловой системой и командами;
• Основы обработки текста и написание сценариев командного интерпрета тора;
• Основы работы с учетными записями и процессами;
• Основы работы с сетевыми приложениями.
1 й и 2 й модули познакомят вас с особенностями и характеристиками ОС Linux. В этих модулях даются основные понятия и определения, на основе кото рых строится весь последующий материал.
3 й, 4 й и 5 й модули рассказывают о принципах работы с файловой системой и командами. Данные модули являются основными для успешного понимания последующего материала.
1 Здесь и далее по тексту под «ОС Linux» будет пониматься ОС Red Hat Enterprise Linux 5.
Введение 6 й, 7 й и 8 й модули посвящены работе с текстом. Так как большинство на строек системы и ее приложений находится в текстовых файлах, очень важно на учиться эффективно работать с текстовыми данными.
В последующих тёх модулях рассматриваются вопросы разделения прав пользователей системы, управления пользователями и процессами. Данные моду ли дадут четкое понимание модели управления пользователями, правами и поль зовательскими процессами, что особенно важно для понимания взаимодействия различных служб системы между собой.
Заключительные три модуля помогут вам получить более углубленные зна ния по работе с командным интерпретатором и файловой системой, а также затро нут вопросы взаимодействия ОС Linux с сетью передачи данных и сетевыми сер висами.
После завершения обучения данному курсу вы будете обладать необходимы ми знаниями, и уметь:
• описывать особенности ОС Linux и понимать принципы работы системы;
• уверенно работать с файловой системой и моделью доступа к данным;
• пользоваться встроенной справочной системой;
• эффективно работать в командном интерпретаторе bash в интерактивном режиме;
• разрабатывать собственные сценарии командного интерпретатора bash, а также интерпретаторов sed и awk;
• редактировать текстовые файлы, обрабатывать массивы текстовых данных и использовать регулярные выражения;
• администрировать учетные записи пользователей и групп;
• понимать идеологию работы с процессами и многозадачности;
Предлагаемый курс RH 033 является базовым курсом, предназначенным для поготовки к сдаче экзаменов RHCT комплексной программы сертификации Red Hat, структура которой представлена на следующей диаграмме.
Аудитория, на которую ориентирована сертификация RHCT, – начинающие пользователи ОС Linux, а также пользователи, переходящие с других ОС. Полу ченный сертификат RHCT доказывает наличие навыков, необходимых для уста новки, настройки и включения рабочих станций Red Hat Enterprise Linux Desktop 10 Введение в существующую сетевую инфраструктуру. Экзамен RHCT (RH202) длится 2 ча са и содержит в себе как теоретические, так и практические задания.
Сертификация RHCE – стандартное требование1 для большинства админист раторов, системных инженеров и консультантов. В ней рассматриваются сетевые сервисы ОС Linux, вопросы их функционирования и безопасности. Экзамен RHCE (RH302) длится 3,5 часа и содержит в себе как теоретические, так и прак тические задания.
Заключительным шагом в развитии сертификации RHCE является специали зация в одной из следующих областей:
• кластеры и управление хранилищами данных;
• администрирование политик SELinux;
• развертывание, виртуализация и управление системами;
• мониторинг и настройка производительности;
• корпоративные сервисы каталогов и аутентификации;
• безопасность сетевых сервисов.
В итоге специалист может подтвердить свою квалификацию, сдав один из эк заменов по указанным выше областям.
Сертификация SPECIALIST (Red Hat Certified Specialist) – следующий уро вень комплексной программы сертификации Red Hat. На данном уровне суще ствуют две сертификации – специалист в области безопасности (RHCSS) и спе циалист центра обработки данных (RHCDS). Для того чтобы стать специалистом, необходимо наличие сертификата RHCE и трех сданных экзаменов по темам RHCSS (EX333, EX423, EX429) или RHCDS (EX401, EX423, EX436).
Заключительный уровень RHCA является самой старшей ступенью сертифи каций Red Hat. Она предназначена для специалистов, определяющих стратегию развития ИТ инфраструктуры организации. Типичные функции RHCA – плани рование, разработка и управление системами на основе ОС Linux. Для того чтобы получить сертификацию RHCA, необходимо сдать пять дополнительных экзаме нов, каждый из которых длится от 2 до 8 часов в зависимости от темы экзамена.
Помимо рассмотренных выше программ сертификаций, существуют допол нительные программы, такие как Red Hat Certified Virtualization Administrator (RHCV и JBoss Certified Applications Administrator (JBCAA). Программа RHCV 2 A) A предназначена для администраторов, занимающихся администрированием и под держкой виртуальных сред на основе ОС Red Hat Enterprise Linux. Программа JBCAA предназначена для администраторов платформы JBoss Application Plat form3.
1 Общие требования к знаниям кандидатов, сертифицирующихся по программам RHCT и RHCE, представлены здесь: http://www.redhat.com/certification/rhce/prep_guide/ 2 Информация о платформе виртуализации Red Hat: http://www.redhat.com/ virtualization/ rhev/ 3 Информация о платформе JBoss: http://www.jboss.com/products/platforms/application/ Введение Условные обозначения В данном пособии применяются следующие условные обозначения.
Имена файлов и папок начинаются со строчных букв (при работе в командной строке или графической оболочке регистр букв всегда имеет значение).
Аббревиатуры напечатаны ПРОПИСНЫМИ БУКВАМИ.
Листинги кода, примеры команд, а также текста, выводимого на экран, выде лены данным шрифтом, причем ввод команды выделен жирным шрифтом.
Необязательные аргументы команд заключены в квадратные скобки (напри мер: данный [аргумент] является необязательным).
Обязательные аргументы команд записываются без квадратных скобок.
Ключевые термины выделены полужирным курсивом.
Схема класса и виртуальные машины
Класс, в котором выполняются практические работы, состоит из физических компьютеров, объединенных в локальную сеть с адресом 192.168.1.0/24 и имею щих динамическую IP адресацию (DHCP). Все практические работы по данному курсу выполняются на виртуальных машинах, работающих под управлением ПО VMware Player.
Учетные данные для регистрации на физическом компьютере слушателя (Host PC):
Имя пользователя: __________________________
Домен (если есть): __________________________
В качестве операционной системы хостовой машины (физической рабочей станции слушателя, на которой работает ПО VMware Player) используется ОС Microsoft Windows XP. В качестве операционной системы гостевых машин, в ко торых непосредственно выполняются все практические работы, используется ОС Red Hat Enterprise Linux 5 (RHEL5).
У каждого слушателя имеется одна виртуальная машина rhel5.linux.lab. Дан ная виртуальная машина имеет один сетевой интерфейс (eth0), используемый для связи между виртуальными машинами и выхода в физическую сеть класса.
Все практические работы выполняются на виртуальной машине rhel5.linux.lab.
12 Введение Модуль 1. Обзор ОС Linux
После завершения изучения данного модуля вы научитесь:
• понимать идеологию открытого программного обеспечения;
• разбираться в дистрибутивах ОС Linux;
• описывать общую структуру ОС Linux и ее характеристики.
1.1. Открытое программное обеспечение Прежде чем приступить к изучению ОС Linux, необходимо четко представ лять идеологию самой системы, а точнее программного обеспечения, из которого она состоит. Под открытым программным обеспечением (далее Open Source1) подразумевается не только свободный доступ к исходному коду программ, но и способы распространения программ и принципы их разработки. Существуют че тыре основных правила, которому должна удовлетворять любая программа, отно сящаяся к Open Source:
1. Предоставлять пользователю возможность использования программы вне зависимости от его цели.
2. Предоставлять пользователю возможность изучать принципы и алгорит мы работы программы, в том числе посредством доступа к исходному коду.
3. Не накладывать ограничений на свободное распространение программы.
4. Не накладывать ограничений на возможности изменения исходного кода программы и дальнейшего распространения.
Начало открытому программному обеспечению было положено в 1983 году разработчиком и инициатором идей открытого программного обеспечения Ри чардом Столлменом, основателем первого open source проекта GNU (GNU’s Not Unix). Этим же человеком была основана некоммерческая организация «Фонд свободного программного обеспечения» (Free Software Foundation), в задачи ко торой входила поддержка движения свободного программного обеспечения и в особенности проекта GNU.
Проект GNU, по сути, представляет собой набор отдельных программ (напри мер, таких как редактор текста, компилятор, калькулятор и т. д.), выполняющих определенный функционал. Это еще не операционная система, а лишь программ ное обеспечение. Данное программное обеспечение и любое другое программное обеспечение, относящееся к open source, распространяется и лицензируется со 1 Более подробную информацию о сообществе Open Source можно узнать по адресу http://www.opensource.org.
14 Модуль ОС Linux гласно лицензии GPL (General Public License) и ее нескольким вариантам. Цель лицензии GPL заключается в предоставлении пользователю права копировать, изменять и распространять (в том числе и на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.
В 1991 году финский программист Линус Торвальдс создал ядро операцион ной системы GNU/Linux. Таким образом появилась операционная система с яд ром Linux и набором программ и библиотек, разработанных в рамках проекта GNU.
В отличие от большинства других операционных систем, система GNU/Linux не имеет единой «официальной» комплектации. Вместо этого GNU/Linux постав ляется в большом количестве так называемых дистрибутивов, в которых програм мы GNU соединяются с ядром Linux и другими программами. Наиболее извест ными дистрибутивами GNU/Linux являются Slackware, Debian GNU/Linux, Red Hat, Fedora, Ubuntu. Некоторые из данных дистрибутивов, например Red Hat Linux, относятся к коммерческим программным продуктам.
1.2. Общая характеристика дистрибутивов ОС Linux Под дистрибутивом понимается форма распространения программного обес печения. Любой дистрибутив ОС, в том числе и GNU/Linux, можно выделить сре ди других дистрибутивов на основании его основных характеристик, среди кото рых содержатся:
• политика дистрибутива. По данной характеристике можно судить о том, каким образом в дистрибутив включается программное обеспечение, какие существуют требования к размещению файлов пакетов на файловой систе ме, какова периодичность обновления дистрибутива и т. д.;
• программа загрузчик. Отвечает за инициализацию ядра операционной системы, начальных настроек аппаратного обеспечения;
• используемое ядро. Ключевой компонент дистрибутива, от которого зави сит дальнейшая работоспособность системы.
В каждом дистрибутиве со держится измененная версия оригинального1 ядра Linux, что является следствием различных политик дистрибутивов и их программного окру жения. Версия ядра дистрибутива зависит от типа дистрибутива (стабиль ный, тестовый и т. п.). У стабильных дистрибутивов версия ядра Linux не содержит самых последних обновлений драйверов и новейших возможнос тей. Поэтому при необходимости использования какого нибудь нового функционала может понадобиться установка обновленной версии ядра;
1 Оригинальное ядро (vanilla kernel) разрабатывается сообществом независимых раз работчиков по всему миру. Загрузить самую последнюю версию ядра можно с сайта http://www.kernel.org/. Список изменений, внесенных в ту или иную версию ядра (или отдельных его компонентов), доступен на сайте http://git.kernel.org/.
Общая характеристика дистрибутивов ОС Linux
• программа управления пакетами. В разных дистрибутивах используются разные программы управления пакетами, что влияет на способ установки, удаления и обновления программного обеспечения;
• наборы пакетов. Данная характеристика отражает специализированность дистрибутива, его ориентированность на решение конкретных задач – клас терные дистрибутивы, дистрибутивы для специфических областей науки и т. д.;
• лицензирование. Определяет политику использования программного обес печения дистрибутива;
• разработка. Технические, административные, финансовые и другие реше ния, положенные в основу дистрибутива, наличие поддержки пользовате лей.
В настоящее время существуют три основных типа дистрибутивов ОС Linux, различающихся с точки зрения системы управления пакетами программ:
• дистрибутивы, основанные на Debian GNU/Linux или использующие формат пакетов DEB. Дистрибутивы данного типа отличаются наличием самого большого количества пакетов и поддержкой большинства сущест вующих аппаратных архитектур;
• дистрибутивы, основанные на Red Hat Linux или использующие формат пакетов RPM. Некоторые из дистрибутивов данного типа, например Red Hat Enterprise Linux, являются коммерческими. Помимо возможностей, присутствующих в некоммерческих дистрибутивах, они предоставляют пользователям расширенную техническую поддержку, а также дополни тельные виды сервисов, таких как RHN1, облегчающих процесс админист рирования, поддержки и управления множеством систем;
• дистрибутивы, основанные на Slackware Linux. Дистрибутивы Slackware Slackware основаны на принципе KISS (Keep It Simple, Stupid, или Keep It Short and Simple – процесс и принцип проектирования, при котором про стота системы декларируется в качестве одной из основных целей или цен ностей). Кроме того, менеджер пакетов не отслеживает зависимости в силу их очень незначительного количества.
В основе любого дистрибутива ОС Linux лежит ядро Linux. Поэтому основ ные системные характеристики ОС Linux диктуются особенностями ядра. Ядро – это ключевой компонент любой ОС, который обеспечивает взаимодействие пользовательских программ с аппаратурой компьютера, распределение времени между процессами, благодаря которому достигается многозадачность, и другие возможности системы.
В общем случае ОС Linux является полноценной многозадачной многополь зовательской операционной системой с поддержкой почти всех имеющихся на се годняшний день аппаратных архитектур процессоров, среди которых Intel x86, 1 Более подробно о сервисе RHN можно узнать по адресу https://www.redhat.com/f/pdf/ rhn/rhn101698_0705.pdf 16 Модуль ОС Linux AMD64, SPARC, IBM Power, IA64 и др. Поддержка сетевых соединений является одной из наиболее сильных сторон ОС Linux как в отношении поддерживаемых функций, так и в отношении производительности.
Изначально пользователю ОС Linux доступны следующие преимущества данной системы:
• многозадачность. Реальный приоритетный многозадачный режим дает возможность ядру ОС эффективно выполнять несколько программ одно временно, что крайне важно для конкурентной работы большого количе ства служб;
• многоплатформенность. Почти все имеющиеся на сегодняшний день ап паратные платформы поддерживаются ОС Linux;
• мультисистемное взаимодействие. ОС Linux хорошо взаимодействует с другими ОС посредством большинства используемых в настоящее время сетевых протоколов семейства TCP/IP и открытых стандартов (POSIX, LSB и прочее);
• масштабируемость и переносимость. Большая часть ОС Linux написана на языке C, что делает данную систему работоспособной и масштабируе мой на любом оборудовании, включая мобильные устройства;
• гибкость использования. Пользователю дана возможность изначально оп ределить использование ОС Linux под конкретную задачу и подобрать не обходимое для решения данной задачи ПО;
• надежность и производительность. Ввиду особенностей ядра ОС Linux система обладает повышенной устойчивостью к программным сбоям и способна достаточно быстро обрабатывать большие объемы информации.
Все системные процессы работы ОС доступны для просмотра и дальней шего анализа (изучения).
1.3. Дистрибутив Red Hat Enterprise Linux В настоящем пособии рассматривается дистрибутив Red Hat Enterprise Linux Server 5. Для освоения материала, изложенного в пособии, совсем не обязательно использовать именно этот дистрибутив, так как основная задача слушателя за ключается в понимании основ работы с ОС Linux. Принципы, изложенные в дан ном пособии, применимы к любому дистрибутиву ОС Linux.
Компания Red Hat разделила разработку и развитие ОС Linux на два направ ления: Red Hat Enterprise Linux и Fedora Project. Red Hat Enterprise Linux лицен зируется согласно лицензии GPL и предоставляет пользователю программные продукты промышленного уровня с двухгодичной периодичностью выпуска но вого релиза. Fedora Project является Open Source проектом, предоставляющим пользователю наиболее свежие версии программных продуктов и выпускающим новый релиз с полугодичной периодичностью.
Таким образом, коммерческий ди стрибутив, помимо дополнительных коммерческих приложений и сервисов, обла дает большей стабильностью и надежностью, чем ОС Fedora Linux. Несмотря на то что коммерческий дистрибутив Red Hat Enterprise Linux содержит в своем со Дистрибутив Red Hat Enterprise Linux ставе закрытые приложения, например такие, как кластерная система GFS, ком пания Red Hat предоставляет исходный код данных коммерческих продуктов в открытом доступе согласно GPL.
Если вы не хотите отказываться от надежности коммерческого дистрибутива и в то же время не готовы приобрести коммерческую лицензию, существует аль тернативный проект – CentOS (Community Enterprise Operating System). Ис пользуя лицензионное соглашение GPL и общедоступный исходный код коммер ческих приложений Red Hat, сообщество CentOS формирует свой собственный независимый от компании Red Hat дистрибутив, сочетающий в себе стабильность Red Hat Enterprise Linux и наличие коммерческих продуктов.
Дистрибутив Red Hat Enterprise Linux выпускается в двух вариантах: сервер ном (Red Hat Enterprise Linux Server) и персональном (Red Hat Enterprise Linux Desktop).
Системные требования к данным дистрибутивам существенно зависят от пла нируемой нагрузки и количества устанавливаемых пакетов.
Можно сформулиро вать следующие минимальные системные требования к оборудованию на основе 32 битных процессоров Intel:
• процессор: Intel x86 200 МГц (текстовый интерфейс управления) или 400 МГц (графический интерфейс управления);
• память: 64 Мб (текстовый интерфейс управления) и 192 Мб (графический интерфейс управления);
• дисковое пространство: 700 Мб (текстовый интерфейс управления) или 3072 Мб (графический интерфейс управления);
• сетевой интерфейс (в случае необходимости работы с сетью);
• графический дисплей стандарта VGA.
Модуль 2. Знакомство с пользовательским интерфейсом
После завершения изучения данного модуля вы научитесь:
• выполнять базовые операции по управлению системой;
• работать в графической системе X Window;
• использовать виртуальные консоли.
2.1. Текстовый и графический режимы работы Сегодня ОС Linux предоставляет конечным пользователям и администрато рам возможность работы с системой не только в консольном (текстовом), но и в графическом режиме, используя графический интерфейс пользователя (GUI).
Большинство, если не все, административных задач можно выполнять в консоль ном режиме работы, поэтому установка графической оболочки в случае исполь зования ОС Linux в качестве сервера не имеет большого смысла из за траты вре мени и ресурсов оборудования. Однако знание и понимание работы графической среды ОС Linux полезны для администрирования конечных пользователей, ис пользующих ОС Linux в качестве клиента.
2.1.1. Графический интерфейс пользователя (GUI) Изначально графическая система ОС Linux получила название X Window System (X). Впоследствии эта система регулярно изменялась, начиная от версии XFree86 и заканчивая текущей версией X.Org. Архитектура графической систе мы ОС Linux состоит из следующих основных компонентов:
• X сервер (X server) – ядро графической системы ОС Linux. X сервер отве чает за прорисовку изображений окон и других графических объектов, управляет работой мыши и клавиатуры. Помимо отображения графиче ской среды на локальном дисплее, X сервер обслуживает подключение с удаленных хостов, а также все обращения к графическому оборудованию;
• Диспетчер дисплеев (display manager). Основной его задачей являются аутентификация пользователей и запуск X сервера. По умолчанию в ОС Linux используется диспетчер дисплеев GNOME Desktop Manager (gdm)1;
• Графическое окружение (desktop environment) является связующим зве ном между диспетчером окон и конечным пользователем. Оно содержит 1 В случае использования графического окружения KDE используется диспетчер kdm.
Текстовый и графический режимы работы средства настройки отображения рабочего стола и различные программы, предназначенные для работы в графическом режиме. В ОС Linux имеются два графических окружения: GNOME и KDE, первое из которых использу ется по умолчанию при установке ОС Linux;
• X клиент (X client). Под X клиентом принято понимать программу, обща ющуюся с X сервером и посылающую ему запросы, необходимые для рабо ты конкретного графического приложения.
В случае инсталляции по умолчанию ОС Linux загружается в графическом режиме. После завершения начального процесса загрузки отображается экран диспетчера дисплеев, в котором необходимо зарегистрироваться для дальнейшей работы с системой. Типовое окно диспетчера дисплеев в ОС Linux представлено на рис. 2.1.
Рис. 2.1. Окно регистрации в системе (диспетчер дисплеев)
В окне регистрации, помимо ввода учетных данных пользователя, существует возможность выбора языковых параметров системы (Language), а также осуще ствления базовых операций, таких как завершение работы системы (Shut Down), перезапуск системы (Restart) и выбор желаемого сеанса работы (Session1).
После регистрации в системе пользователь попадает в окружение рабочего стола, которым по умолчанию является графическая среда GNOME.
1 Для настройки параметров сохранения текущего сеанса работы используется меню System Preferences More Preferences Sessions. Данное меню позволяет настраи вать параметры сохранения окон приложений и запуск программ при повторном от крытии графического сеанса.
20 Знакомство с пользовательским интерфейсом Графическая среда GNOME предоставляет пользователю следующие воз можности:
• отображать содержимое файлов в требуемой программе просмотра;
• перемещать текст и графические объекты между произвольными графи ческими окнами посредством буфера обмена;
• использовать персональное графическое окружение посредством профилей;
• настраивать графическую среду произвольным образом.
Первоочередная задача GNOME заключается в упрощении работы пользова теля. Чтобы официально стать частью рабочего стола GNOME, приложения долж ны соответствовать достаточно обширным требованиям, предъявляемым к поль зовательскому интерфейсу. Благодаря тому что GNOME представляет собой замечательную платформу для разработки программ на языках С, С++, Python, Java и С#, в последнее время появилось большое количество приложений третьих фирм, которые официально не входят в состав GNOME.
На рабочем столе GNOME (рис. 2.2) по умолчанию отображаются ярлык дос тупа к файловому менеджеру Nautilus (Computer), ярлык доступа к домашнему каталогу пользователя (root’s Home) и корзина (Trash) для удаления файлов.
Рис. 2.2. Рабочий стол GNOME Текстовый и графический режимы работы Верхняя панель рабочего стола используется для доступа к основным меню, отображения пиктограмм приложений и программ уведомлений, таких как часы.
В состав основных меню входят следующие:
• Applications (Приложения). В данном меню присутствуют дополнитель ные категории меню, названные исходя из предназначения приложений, доступ к которым они предоставляют. Например, категория меню Office and Internet (Офис и Интернет) содержит ярлыки доступа к офисным про граммам и веб обозревателям;
• Places (Места). Данное меню позволяет получить быстрый доступ к наи более частым местам посещения, таким как домашний1 каталог, сетевой ре сурс, внешние устройства. Это меню также содержит возможности поиска файлов (Search For Files), доступа к недавно использованным документам (Recent Documents) и удаленный доступ к другим компьютерам по раз личным протоколам, например FTP или CIFS;
• System (Система). Данное меню включает два подменю – Preferences (Свойства) и Administration (Администрирование). Меню свойств ис пользуется для настроек графического окружения, таких как выбор застав ки рабочего стола, параметры отображения окон и настройка параметров клавиш мыши. Меню администрирования содержит ярлыки доступа к гра фическим утилитам администрирования служб, присутствующих в систе ме. Кроме того, в данном меню содержится ярлык «завершения сеанса»
(Logout) и блокировки системы (Lock).
В правой части верхней панели располагаются пиктограммы отображения времени и контроля громкости, а также системные оповещения (например, о дос тупных обновлениях) и информативная информация от разных дополнений2 (Applets), например таких, как «использование процессора» и «сетевые соедине ния». Одним из полезных дополнений графической среды GNOME является пе реключатель пользователей (User Switcher), который позволяет, не завершая те кущего сеанса работы, выполнять вход в графический режим работы для других пользователей.
Нижняя панель рабочего стола используется для работы с интерактивными задачами, такими как выбор и сворачивание окон. В нижнем правом углу рабочего стола присутствует переключатель рабочих столов, позволяющий переключаться на три дополнительных рабочих стола. В нижнем левом углу экрана располагает ся кнопка свертывания открытых окон.
Для того чтобы эффективно работать в графической среде GNOME, достаточ но научиться выполнять несколько следующих простых операций:
• открыть или активизировать элемент на панели. Щелкнуть на элементе левой кнопкой мыши один раз;
1 Домашним каталогом называется каталог пользователя, в который он попадает после входа в систему.
2 Дополнения – это небольшие приложения, выполняемые внутри панели. Их можно по местить на панель через меню Add to Panel (Добавить на панель).
22 Знакомство с пользовательским интерфейсом
• запустить программу. Запуск программы производится щелчком левой кнопки мыши на запускающем объекте. В GNOME эти объекты обычно располагаются на обеих панелях и на поверхности самого рабочего стола.
Кроме того, когда производится щелчок на файле, он открывается ассоци ированной с ним программой, о чем вскоре будет сказано дополнительно;
• переместить элемент по рабочему столу. Перетащить левой кнопкой мыши;
• переместить элемент по панели. Перетаскивание левой кнопкой мыши действует для запускающих объектов, но в некоторых апплетах левая кнопка используется для управления апплетом. В таком случае перетаски вание выполняется средней кнопкой. То же касается перемещения окон захватом границы: щелчок левой кнопкой раскрывает окно, щелчок сред ней кнопкой перемещает его;
• упорядочить элементы на рабочем столе. Щелкнуть правой кнопкой на фоне рабочего стола и выбрать пункт контекстного меню Clean Up by Name (Выстроить по имени). Элементы будут отсортированы в алфавитном по рядке с двумя исключениями: первый элемент в левом верхнем углу всегда будет ярлыком домашнего каталога пользователя, а последний элемент в списке – всегда мусорная корзина;
• открыть или активизировать элемент на рабочем столе. Дважды щелк нуть на элементе. Двойной щелчок на значке папки открывает ее в файло вом менеджере Nautilus. Если дважды щелкнуть на документе электрон ной таблицы, запустится приложение электронной таблицы Gnumeric, в котором откроется документ. Двойной щелчок средней кнопкой мыши или щелчок с нажатой клавишей Shift на папке внутри открытого окна файлового менеджера приводит к закрытию текущего окна и открытию окна с содержимым выбранной папки;
• получить список параметров или задать свойства любого объекта. Щелк нуть правой кнопкой мыши, чтобы получить список параметров для любо го объекта. Например, можно изменить фон рабочего стола, щелкнув на нем правой кнопкой и выбрав пункт контекстного меню Change Desktop Background (Изменить фон рабочего стола). Другие общие настройки мож но выполнить с помощью центра управления GNOME, который вызывает ся через меню System Settings или вводом команды gnome control center в командной строке;
• вставить текст в любую текстовую область. Как и в любой другой опера ционной системе, копирование выполняется с помощью комбинации кла виш Ctrl+C, вырезание – Ctrt+X, вставка – Ctrl+V. Исключение составляют программы Emacs и XChat. Можно использовать и более тра диционный для UNIX способ, при котором вставка выделенного текста производится щелчком средней кнопки мыши.
Расширенная настройка среды GNOME выполняется при помощи программы Gconf. Gconf – это централизованная система хранения настроек приложений ра бочего стола, основанная на XML. Она позволяет приложениям совместно ис Текстовый и графический режимы работы пользовать настройки комбинаций быстрых клавиш, тем и прочих личных пред почтений пользователя. Кроме того, GConf может использоваться для блокиров ки настроек рабочего стола с гораздо более высокой степенью избирательности, чем это возможно с традиционными блокировками файлов в UNIX. Администра тор может открыть или закрыть доступ к тем или иным функциям некоторого приложения. Администраторы интерактивных терминалов, общественных ком пьютерных центров и других систем, где особое значение приобретает высокая степень защиты, понимают необходимость наложения определенных ограничений.
Поэтому большинство приложений предоставляют возможность ограничения функциональности через свои файлы настроек GConf. Для более глубокого озна комления с данной темой рекомендуется прочитать руководство «GNOME System Administrator’s Guide», которое можно найти на сайте http://www.gnome.org.
2.1.2. Интерфейс командной строки (CLI) В ОС Linux основным рабочим инструментом администратора и разработчи ка является интерфейс командной строки1, позволяющий работать с системой намного быстрее и эффективнее. В основе работы в командной строке лежит по нятие интерпретатора команд.
Командный интерпретатор (оболочка) – это программа, имеющая свои собственные встроенные команды (built in commands), свое собственное пере менное окружение2 (environment); кроме того, командный интерпретатор позво ляет выполнять внешние команды программ, которые присутствуют в системе.
Существуют следующие варианты использования командного интерпретатора:
• настройка переменного окружения (сеанса);
При интерактивном использовании командного интерпретатора система ожи дает ввод команды в приглашении командной строки. Команды могут включать специальные символы, позволяющие выполнять сокращение имен файлов и пере направление ввода и вывода.
Командный интерпретатор определяет переменные, управляющие работой текущего сеанса3 командной строки. Значения некоторых переменных предвари 1 Интерфейс командной строки (консоль) – это разновидность текстового интерфейса человека и компьютера, в котором инструкции компьютеру даются только с клавиату ры. Интерфейс командной строки противопоставляется системам управления програм мой на основе меню, а также различным реализациям графического интерфейса.
2 Переменное окружение (environment) – это набор системных переменных, доступных всем процессам системы. В данных переменных задаются основные параметры систе мы, такие как пути к исполняемым файлам, локализация терминала, идентификатор пользователя и т. д.
3 Под сеансом командной строки понимается процесс работы пользователя с интерфей сом командной строки.
24 Знакомство с пользовательским интерфейсом тельно устанавливаются системой; определение других можно выполнять в за грузочных файлах, которые считываются при входе в систему. Находясь в ин терактивном режиме, также можно определять переменные и использовать их в дальнейшей работе.
Командные интерпретаторы предоставляют набор специальных встроенных команд, позволяющих создавать программы, называющиеся сценариями команд ного интерпретатора. Сценарии полезны для выполнения наборов отдельных ко манд и повторения выполнения команд.
В графической оболочке запуск командного интерпретатора bash осуществ ляется при открытии программы Terminal из общего меню программ или из кон текстного меню Open Terminal.
Если графическая оболочка не установлена, то пользователь автоматически попадает в режим командной строки, а именно в консольную программу login, где ему необходимо аутентифицироваться.
После удачного завершения процесса аутентификации открывается сеанс команд ного интерпретатора и появляется первичное приглашение вида [root@rhel5
После появления данного приглашения можно приступать к вводу команд.
2.2. Виртуальные консоли.
Базовые операции с системой Будучи многозадачной системой, ОС Linux предоставляет ряд способов одно временного выполнения нескольких задач. Большинство пользователей Linux, которым нужен такой асинхронный доступ, пользуются графической системой X Window. Но прежде чем ее запустить, можно сделать нечто подобное с помощью виртуальных консолей.
Чтобы переключиться в другую виртуальную консоль, необходимо нажать левую клавишу Alt и, удерживая ее нажатой, нажать одну из функциональных клавиш от F1 до F8. При нажатии каждой функциональной клавиши будет открываться новый экран с приглашением к регистрации. Можно регистриро ваться в различных виртуальных консолях под разными пользователями и пере ключаться между консолями для выполнения различных действий. Можно даже в каждой консоли запустить свой сеанс X Window. X Window по умолчанию ис пользует виртуальную консоль с номером 7. Поэтому, запустив X и переключив шись затем в одну из текстовых виртуальных консолей, можно вернуться в X, на жав комбинацию Alt+F7. Существует возможность запустить два экземпляра Х сервера, в этом случае вторая графическая консоль с X Window будет иметь номер 8. Для перехода на 1 ю текстовую консоль из графической оболочки ис пользуется комбинация клавиш Ctrl+Alt+F1. При переходе в текстовый ре жим отобразится виртуальный терминал – один из нескольких виртуальных тер миналов, имеющихся в системе по умолчанию. В большинстве случаев нет необходимости переключаться на другие консоли, если у вас уже загрузилась по умолчанию установленная консоль, однако в процессе инсталляции ОС Linux для просмотра более подробных событий необходимо переключиться в системную Виртуальные консоли. Базовые операции с системой консоль с номером 4. В табл. 2.1 приведено описание клавиш для перехода между виртуальными консолями в процессе инсталляции ОС Linux.
Помимо использования указанных выше комбинаций клавиш, для перехода на другую виртуальную консоль используется команда chvt N, где N – номер вир туальной консоли.
Регистрация в системе и завершение сеанса После перехода в текстовую виртуальную консоль отображается приглаше ние системы на ввод аутентификационных данных следующего вида:
Red Hat Enterpirse Linux Server release 5.1 (TIkanga) Kernel 2.6.18 53.el5 on an i686
srv login:
Первые две строки, не содержащие приглашения программы login, содержат краткую информацию о системе. Информация, присутствующая в данных стро ках, может изменяться в целях повышения информативности системы и опреде ляется в файле /etc/issue.
Здесь необходимо ввести имя пользователя, а затем, когда будет выдано соот ветствующее приглашение, – его пароль (Password:). После успешной регистра ции в системе можно приступать к работе.
После регистрации отобразится приглашение вида #, если вход в систему был выполнен от административного пользователя root1, или приглашение вида $ для всех других случаев.
Типичное приглашение для пользователя root имеет следующий вид:
]# Запись, находящаяся в квадратных скобках, может содержать полезную ин формацию, такую как имя пользователя, который в настоящий момент работает в данной консоли, имя компьютера и рабочий каталог.
1 Учетная запись пользователя root имеет почти неограниченные права на доступ к фай лам системы и запуск программ. В целях недопущения ошибки в процессе работы с ОС Linux рекомендуется использовать любую другую учетную запись, а программы, кото рые доступны только для пользователя root, запускать при помощи программы sudo.
26 Знакомство с пользовательским интерфейсом Для завершения текущего сеанса работы используется команда logout или комбинация клавиш Ctrl+D.
Завершение работы и перезапуск системы Для завершения работы используется команда shutdown или halt. В первом случае возможно задавать время завершения работы системы, определять запуск утилиты проверки файловой системы после очередной загрузки, а также отме нять ранее введенную команду завершения работы.
Например, для запланирован ного завершения работы системы необходимо ввести следующую команду:
# shutdown h 20:00 & Для перезапуска системы без выключения питания используется команда reboot, которая является ссылкой1 на команду halt.
Определение параметров пользователя и задание пароля Часто при работе с системой под разными пользователями на разных графи ческих и текстовых терминалах необходимо определить группы, членом которых является данный пользователь, и его идентификатор, уникально идентифициру ющий пользователя в системе.
Для этого в ОС Linux существует команда id, вы вод которой имеет следующий вид:
# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) В данном случае пользователь имеет нулевой идентификатор, что соответ ствует пользователю root, основная группа пользователя имеет также нулевой идентификатор. В последней строке через запятую перечислены дополнительные группы, членом которых является данный пользователь.
Для задания пароля пользователя используется команда passwd.
Для смены своего пароля пользователь должен ввести свой текущий пароль и два раза новый, при этом будет выполнена проверка соответствия пароля принятым правилам безопасности паролей2:
$ passwd Changing password for user1 (current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Для определения параметров пользователя, таких как его домашний каталог, командный интерпретатор, а также информация о последних активных сеансах работы пользователя с системой, используется команда finger, вывод которой представлен ниже.
1 Ссылка – ярлык на объект файловой системы, при обращении к которой происходит обращение к объекту ссылки.
2 Для просмотра доступных правил безопасности паролей можно просмотреть справку по модулю pam_cracklib, используя команду man pam_cracklib.
Графический сервер Xorg. Приложения GNOME # finger root Login: root Name: root Directory: /root Shell: /bin/bash On since Wed Aug 19 22:47 (MSD) on tty1 1 hour 28 minutes idle On since Wed Aug 19 23:46 (MSD) on tty2 2 days 22 hours idle On since Sat Aug 22 20:23 (MSD) on pts/2 from :0.0 1 hour 28 minutes idle On since Sat Aug 22 20:48 (MSD) on pts/3 from :0.0 Mail last read Fri Aug 14 21:07 2009 (MSD) No Plan.
Иногда необходимо определить не только параметры конкретного пользова теля, но и понять, кто в настоящий момент работает с системой.
Данная информа ция содержится в следующих файлах:
• /var/log/wtmp – содержит информацию о времени регистрации пользова теля в системе;
• /var/run/utmp – содержит список текущих зарегистрированных пользо вателей;
• /var/log/faillog – содержит список пользователей, неудачно аутентифи цировавшихся в системе;
• /var/log/lastlog – содержит информацию о наиболее последних регистра циях.
Непосредственно данные файлы просмотреть нельзя. Для этого используют ся специальные утилиты, такие как w (определение зарегистрированных пользо вателей на данный момент в системе), ac (получение данных о длительности сеан сов пользователей), lastlog, faillog, last, lastb. В частности, команда last позволяет определить, когда были выполнены перезагрузки системы (записи псевдопользо ватель reboot).
2.3. Графический сервер Xorg.
Приложения GNOME Модульная архитектура графической системы ОС Linux изображена на рис. 2.3.
На рис. 2.3 пользователь работает на локальной рабочей станции, где запущен локальный Х сервер. Система X Window работает по принципу клиент сервер.
В качестве клиентов выступают графические приложения, работающие как на ло кальной рабочей станции, так и на удаленной; в качестве сервера выступает Х сервер, работающий на локальной рабочей станции.
Диспетчер дисплеев, изображенный на рис. 2.3, может работать как на локаль ной, так и на удаленной рабочей станции. В первом случае диспетчер дисплеев осуществляет запуск локального Х сервера, отображает начальное окно входа в систему и требует ввести учетные данные пользователя для аутентификации.
Во втором случае X сервер выступает в качестве клиента по отношению к удален ному диспетчеру дисплеев. В этом случае обмен данными между локальным Х сервером и удаленным диспетчером дисплеев осуществляется по протоколу XDMCP; пользователь получает возможность работать с несколькими приложе 28 Знакомство с пользовательским интерфейсом
Рис. 2.3. Архитектура системы X Window
ниями, находящимися на разных компьютерах. Сам по себе протокол XDMCP использует UDP в качестве транспорта и не является защищенным. Для защиты про токола используется его туннелирование при помощи SSH (Secure Shell protocol).
По умолчанию запуск X сервера осуществляется процессом init в процессе загрузки системы. Пользователь может выполнять запуск X сервера вручную, не посредственно введя команду X :N vt10, где N – номер дисплея, а цифра 10 обозначает номер виртуального терминала.
В результате выполнения данной команды на 10 м виртуальном терминале от кроется новый сеанс Х сервера, однако для его использования необходимо запус тить графическую программу клиента, например терминал xterm:
# X :1 vt10 & sleep 2 ; DISPLAY=:1 xterm В результате выполнения данной команды на 10 м виртуальном терминале будет запущена программа xterm (рис. 2.4).
Приведенная выше команда состоит из двух простых команд: первая запуска ет процесс X сервера, а вторая запускает терминал xterm на этом сервере. Следует заметить, что второй команде передается значение переменной DISPLAY.
Графический сервер Xorg. Приложения GNOME
Рис. 2.4. Непосредственный запуск Х сервера и Х клиента
C точки зрения пользователя, каждый экземпляр X сервера имеет собствен ное имя_дисплея, представленное в следующем формате:
имя_хоста:номер_дисплея.номер_экрана Здесь в параметре имя_хоста указан хост, к которому физически подключен дисплей. Если этот параметр пропущен, значит, подключение будет выполняться к локальному Х серверу. Обязательный параметр номер_дисплея обозначает по рядковый номер Х сервера, к которому необходимо подключиться. Нумерация дисплеев начинается с нуля. Параметр номер_экрана определяет, на каком физи ческом мониторе следует отображать графику. Нумерация экранов начинается с нуля. Таким образом, для запуска графического приложения на удаленном хос те foo.bar.host на 5 м экземпляре X сервера и его отображения на 2 м мониторе необходимо указать дисплей в следующем формате:
DISPLAY=foo.bar.host:5:2
Запуск дополнительного экземпляра Х сервера удобно выполнять посред ством обращения к менеджеру дисплеев gdm. Для этого используется команда gdmflexiserver. При запуске данной команды будет предложено выполнить за пуск диспетчера дисплеев в текущем сеансе X сервера или новом сеансе. Кроме того, существует возможность запуска вложенного (nested) сеанса X сервера в текущем графическом сеансе (рис. 2.5).
Основные операции с Х сервером Большинство операций по работе с Х сервером, такие как изменение разреше ния экрана, запуск Х клиентов, изменение параметров окон, выполняются через графический интерфейс GUI. Для изменения разрешения экрана используется меню System Administration Display. Однако для применения введенных на 30 Знакомство с пользовательским интерфейсом
Рис. 2.5. Запуск вложенного сеанса Х сервера
строек необходимо перезапустить текущий сеанс Х сервера. Существует возмож ность динамически изменять разрешение экрана без завершения текущего сеанса, используя команду xrandr s NxM, где N – горизонтальное разрешение экрана (в пикселах), а M – вертикальное разрешение экрана (в пикселах).
Как и в любой системе, в ОС Linux для выполнения операций копирования и вставки текста или любых других объектов существует буфер обмена. Для копиро вания объекта используется комбинация Ctrl+C, для вставки объекта исполь зуется комбинация Ctrl+V. При работе с текстом данные операции можно осу ществлять при помощи мыши. Для копирования фрагмента текста достаточно выделить текст, нажав левую кнопку мыши. Для вставки текста используется сред няя кнопка мыши.
Наиболее часто использующейся операцией при работе с Х сервером является запуск произвольной графической программы (Х клиента).
Для этого можно ис пользовать имеющийся ярлык программы на рабочем столе или в меню программ, а также из командной строки, используя символ запуска программы в фоновом ре жиме (&):
$ xclock & При работе с большим количеством графических окон и приложений возмож но появление графических артефактов (например, часть свернутого окна может отображаться на рабочем столе после закрытия самого приложения), связанных с неправильной работой приложения. Для этого не обязательно перезапускать сеанс X сервера, достаточно выполнить перерисовку всех графических объектов, ис пользую команду xrefresh.
Графический сервер Xorg. Приложения GNOME На серверах, а также на клиентах с ограниченными аппаратными ресурсами нет необходимости регулярно работать в графическом режиме, однако периодически, например для поиска какой либо информации в Интернете, необходимо запустить графическое приложение, установленное на данном сервере.
Существуют несколь ко вариантов решения данной задачи:
• запуск графического приложения с использованием другого Х сервера другого хоста;
• запуск графического приложения посредством выполнения команды startx;
• запуск графического приложения путем перезапуска системы в графиче ский режим работы.
В первом варианте необходимо наличие на другой машине работающего Х сервера.
Для того чтобы запустить приложение, используя удаленный Х сер вер, необходимо выполнить следующую команду:
$ DISPLAY=10.31.5.120:0.1 /usr/bin/firefox В результате выполнения данной команды на удаленном сервере с IP адресом 10.31.5.120 на дисплее с номером 1 будет отображен вывод локальной графиче ской программы firefox. Существует возможность использовать не только Х сер вер, присутствующий в ОС семейства UNIX, но и Х сервер, работающий под управлением ОС Windows1.
В третьем случае для запуска локального графического приложения необхо димо запустить полноценный графический сеанс, включая запуск графической среды GNOME и дополнительных приложений, а также потратить некоторое вре мя на ожидание перезапуска системы.
Наиболее оптимальным вариантом является запуск графического приложе ния в новом сеансе Х сервера посредством команды startx:
$ startx /usr/bin/firefox –geometry 1024×768 :1 В результате выполнения данной программы на 8 м виртуальном терминале будет запущен сеанс Х сервера с запущенной программой Firefox. Команда startx является сценарием командной оболочки и использует для запуска X сервера утилиту xinit.
Приложения Gnome В первом модуле уже было дано описание рабочей среды GNOME, ее основ ных возможностей и базовых операций. В данном разделе будет приведено описа ние приложений, являющихся частью среды GNOME.
Окружение рабочего стола GNOME тесно интегрировано с пакетом офисных приложений OpenOffice, который дает возможность единообразной работы с тек стовыми документами, электронными таблицами и презентациями. Пакет Open Office обладает превосходной совместимостью с файлами, созданными с помощью Microsoft Office, и предлагает богатый набор функциональных возможностей, не обходимых для повседневного использования.
1 Xming – бесплатный вариант Х сервера для ОC Windows. Более подробная информа ция доступна на сайте http://www.straightrunning.com/XmingNotes/.
32 Знакомство с пользовательским интерфейсом
В состав пакета OpenOffice входят следующие программы:
• Writer – используется для обработки текста;
• Calc – используется для работы с электронными таблицами;
• Impress – используется для работы с презентациями;
• Draw – используется для рисования;
• Math – используется для работы с математическими формулами.
Существуют и другие офисные приложения. Например, приложение элект ронной таблицы Gnumeric умеет обращаться с некоторыми файлами, которые оказываются не под силу OpenOffice, и позволяет выполнять более сложные фи нансовые вычисления. Приложение AbiWord – превосходный текстовый редак тор, способный решать значительную часть задач, и к тому же более простой, чем OpenOffice. Оба этих приложения занимают гораздо меньше дискового простран ства, работают быстрее и подходят для установки в системы с ограниченными ре сурсами. Для просмотра документов формата PDF можно использовать програм му Evince, входящую в состав офисного пакета GNOME, или бесплатный вариант Adobe Acrobat Reader.
Для работы с базами формата Microsoft Access и другими в состав пакета OpenOffice входит программа OpenOffice Base, имеющая штатную возможность взаимодействия с другими базами данных, такими как ADO, MySQL, PostgreSQL, и позволяющая посредством драйверов ODBC и JDBC взаимодействовать с лю быми приложениями. Также данное приложение поддерживает стандарт LDAP и стандарты Microsoft Outlook, Microsoft Windows и Mozilla.
Для прослушивания медиа контента в состав среды GNOME входит встроен ный проигрыватель компакт дисков, а также аудиоплееры Rhythmbox и Amarok, поддерживающие все известные форматы файлов, включая mp3, ogg, wav, wma, mid. Для просмотра видеофайлов в среду GNOME входит программа Totem, под держивающая форматы DVD, AVI, MP4, WMV, MOV и др.
Пользователи, которым необходим мощный инструмент обработки фотомате риалов и любых других графических изображений, также получат для этого все необ ходимые наборы инструментов, включая графический редактор изображений Gimp, схожий по многообразию возможностей с графическим инструментом Photoshop.
Для работы в сети Интернет, с электронной почтой и обмена мгновенными сообщениями среда GNOME предоставляет все необходимое. Веб обозреватель Mozilla Firefox, почтовый клиент Evolution и клиент обмена сообщениями Pidgin поддерживают самые современные технологии и возможности, позволяя пользо вателю работать с максимальной эффективностью.
Одна из ключевых возможностей ОС Linux – это полноценная среда разра ботки и отладки приложений. В состав ОС Linux входит большое количество средств разработки, включая компилятор GCC1, отладчик программ GDB2 и уни версальную среду разработки Eclipse3.
1 http://gcc.gnu.org/ 2 http://www.gnu.org/software/gdb/ 3 http://www.eclipse.org/ Модуль 3. Знакомство с файловой системой
После завершения изучения данного модуля вы научитесь:
• понимать иерархию файловой системы;
• выполнять базовые операции по управлению файлами;
• понимать принцип расположения различных типов файлов в иерархии файловой системы;
• использовать возможности одновременной работы с группами файлов.
3.1. Предназначение файловой системы Одним из наиболее важных компонентов ОС является файловая система.
В данном разделе будут рассмотрены понятие файловой системы и ее предназ начение; иерархия файловой системы ОС Linux; типы файлов ОС Linux. Осталь ные вопросы, касающиеся администрирования файловой системы, более подроб но будут рассмотрены в модуле 12.
В ОС Linux, как и в любой другой ОС семейства UNIX, любой объект являет ся файлом, хранящимся на файловой системе. Файловая система физически представляет собой некоторое устройство (например, жесткий диск), отформати рованное для хранения файлов. Файловые системы могут находиться на жестких дисках, гибких дисках, CD ROM или других носителях, которые позволяют осуществлять произвольный или последовательный доступ к данным.
Основными задачами файловой системы являются:
• упорядочивание хранимых данных;
• простой и быстрый доступ к хранимым данным;
• обеспечение целостности хранимых данных.
Точный формат и способы хранения файлов в ОС Linux не имеют значения, так как система обеспечивает общий интерфейс для всех распознаваемых ею ти пов файловых систем. В ОС Linux файловой системой, устанавливаемой по умол чанию, является ext3fs. При доступе к любой файловой системе из ОС Linux дан ные представляются в виде иерархии каталогов с находящимися в них файлами вместе с идентификаторами владельцев и групп, битами прав доступа и прочими атрибутами, о которых будет сказано позже.
34 Знакомство с файловой системой
3.2. Иерархия файловой системы Иерархия каталогов файловой системы ОС Linux соответствует общеприня тому в мире UNIX стандарту Filesystem Hierarchy System1 (FHS) (табл. 3.1). Ос новное преимущество данного стандарта заключается в том, что определенные типы файлов расположены в соответствующих каталогах. Например, большин ство конфигурационных файлов располагаются в каталоге /etc, а файлы журна лов различных сервисов – в каталоге /var/log.
Таблица 3.1.
Описание каталогов файловой системы ОС Linux Каталог Описание /boot Содержит файлы загрузчика ОС Linux, образ памяти и файл ядра.
Содержимое данного каталога необходимо для нормальной загрузки системы /bin Содержит основные программы ОС Linux, включая командный интерпре татор bash и многие другие основные команды, такие как cp, mv и rm /sbin Содержит важные программы системного администрирования ОС Linux, включая программы fdisk, fschk, ifconfig, mkfs, и init /dev Содержит специальные файлы, которые используются для обращения к различным аппаратным устройствам оборудования /proc Содержит в себе псевдофайловую систему procfs, используемую ОС Linux для организации взаимодействия процессов с пространством ядра. В данном каталоге содержится ряд подкаталогов, именуемых согласно идентификаторам процессов (PID) и содержащих информа цию по каждому запущенному процессу /etc Содержит большинство конфигурационных файлов сервисов и файлы инициализационных скриптов /home Содержит набор подкаталогов, являющихся домашними каталогами пользователей ОС Linux /lib Содержит библиотеки, используемые программами, находящимися в каталогах /bin и /sbin /mnt В данный каталог осуществляется монтирование файловых систем внешних устройств – CD и DVD дисков, USB накопителей и дискет /opt Содержит бинарные и конфигурационные файлы, а также принадлежа щие им библиотеки. Объекты данного каталога, как правило, являются частью дополнительно установленного ПО /usr Содержит бинарные и конфигурационные файлы программ, установлен ных из исходных кодов, страницы руководства man, а также все осталь ные файлы программ, установленных в системе /tmp Временный каталог, в котором содержатся временные файлы, создаваемые различными приложениями в процессе работы системы /var Содержит различные изменяемые данные, в том числе журнальные файлы сервисов и очередей 1 Более подробная информация по стандарту FHS представлена на сайте http:// www.pathname.com/fhs/.
Иерархия файловой системы Каталоги /bin, /usr/bin, /usr/locl/bin, /sbin, /usr/sbin и /usr/local/sbin содер жат установленные в системе команды. При работе в качестве обычного пользова теля1 вам будут доступны только команды каталогов /bin, /usr/bin и /usr/locl/bin, так как в стандарте FHS определено, что в каталогах sbin должны содержаться лишь административные команды. Общая структура каталогов отражена на рис. 3.1 Основным каталогом файловой системы ОС Linux является корневой каталог
Рис. 3.1. Структура каталогов ОС Linux
/. Ниже располагаются все остальные каталоги, созданные в локальной дисковой подсистеме или смонтированные с внешних устройств. Процедура монтирова ния файловой системы означает связывание каталога существующей файловой системы, называемого точкой монтирования, с корневым каталогом новой фай ловой системы.
Монтирование файловой системы к точке монтирования осуществляется при помощи команды mount. В следующем листинге приведен пример монтирования DVD привода, содержащего дистрибутив ОС Red Hat Enterprise Linux 5.
# mount /dev/hdc /mnt/ mount: block device /dev/hdc is write protected, mounting read only В результате выполнения команды mount система вывела информацию о том, что блочное устройство (в данном случае DVD привод) было смонтировано в ре жиме чтения.
Список смонтированных файловых систем хранится в файле /etc/fstab. Бла 1 В ОС Linux всех пользователей условно можно разделить на три группы: привилегиро ванный, или суперпользователь (root), служебные пользователи и все остальные (обычные) пользователи.
36 Знакомство с файловой системой годаря этому возможны автоматическая проверка целостности файловой системы при помощи команды fsck и монтирование файловых систем на этапе начальной загрузки, а также выполнение сокращенных команд наподобие mount /var/spool.
Информация, содержащаяся в этом файле, отражает расположение файловых сис тем на диске. Подробнее файл /etc/fstab будет рассмотрен в модуле 12.
Размонтирование файловых систем осуществляется командой umount. «За блокированную» файловую систему размонтировать невозможно. В ней не долж но быть ни открытых файлов, ни текущих каталогов выполняющихся процессов.
Если размонтируемая файловая система содержит исполняемые программы, они не должны быть запущены. В следующем листинге приводится пример размонти рования ранее подмонтированной файловой системы в каталоге /mnt.
# umount /mnt Для того чтобы узнать, какие устройства смонтированы к системе, необходи мо выполнить команду mount без параметров. В следующем листинге приведен пример определения смонтированных устройств.
# mount /dev/sda2 on / type ext3 (rw) proc on /proc type proc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) /dev/hdc on /mnt type iso9660 (ro) Как видно, в выводе команды mount последовательно отображаются смонти рованное устройство, точка монтирования, тип файловой системы и дополни тельные опции монтирования.
Помимо монтирования удаленных файловых систем, существует возможность смонтировать локальный каталог к другому локальному каталогу (mount bind).
В результате содержимое смонтированного каталога становится доступным в двух местах, что равнозначно по смыслу символьной ссылке, с той лишь разницей, что ее нельзя удалить, в отличие от обычной символьной ссылки.
3.3. Типы файлов При работе с ОС Linux важно понимать, что любой объект ОС является фай лом. Это ключевая особенность ОС Linux, по сравнению с операционными систе мами семейства Windows.
Файлы различаются как по своей структуре, так и по своему предназначению.
В ОС Linux определены семь типов файлов:
• регулярные файлы (обычные файлы);
• файлы блочных устройств;
• файлы символьных устройств.
Определить тип файла можно с помощью команды ls ld. Первый символ Типы файлов в строке вывода обозначает тип файла. В следующем листинге выдается инфор мация о файле /dev/hdc.
# ls ld /dev/hdc brw rw 1 root disk 22, 0 Dec 22 13:30 /dev/hdc Регулярные файлы К регулярным файлам относятся бинарные файлы, библиотеки, текстовые файлы и файлы различных приложений. ОС Linux не накладывает никаких огра ничений на структуру данных файлов. К их содержимому возможен как последо вательный, так и прямой доступ.
Каталоги Файлы данного типа хранят именованные ссылки на другие файлы. Имя фай ла, находящегося в каталоге, в действительности хранится в родительском ката логе, а не в самом файле.
В ОС Linux имеются так называемые специальные каталоги. Специальные каталоги, такие как «.» и «..», обозначают, соответственно, текущий рабочий ката лог и его родительский каталог.
Ссылки В ОС Linux принято различать символьные и жесткие ссылки, каждая из ко торых имеет особенное значение.
Символьная ссылка – это специальный файл, для которого в файловой сис теме не хранится никакой информации, кроме текстовой строки, содержащей путь к файлу, который должен быть открыт при обращении к данной ссылке.
Жесткая ссылка является, по сути, дополнительным именем файла, то есть ука зывает непосредственно на индексный дескриптор файла1. Таким образом, по нятия «жесткая ссылка на файл» и «имя файла» являются синонимами. Файл считается удаленным после удаления его последней жесткой ссылки, однако мес то на файловой системе освободится только тогда, когда его индексный дескрип тор перестанет использоваться.
Символьные ссылки могут содержать произвольное имя, то есть в них разре шается указывать на файлы, хранящиеся в других файловых системах, и даже на несуществующие файлы. Жесткие ссылки не могут указывать на файл, находя щийся в другой файловой системе.
ОС Linux подсчитывает количество ссылок на каждый файл и при удалении файла не освобождает блоки данных до тех пор, пока не будет удалена последняя ссылка на него.
1 Индексный дескриптор файла (инод) – это структура данных, уникально характери зующая каждый файл в рамках одной файловой системы. Иноды хранят информацию о файлах, такую как принадлежность владельцу (пользователю и группе), режим доступа (чтение, запись, запуск на выполнение) и тип файла. Каждый инод имеет уникальный идентификатор в файловой системе.
38 Знакомство с файловой системой Сокеты Сокет – это специальный тип файла, используемый процессами для взаимо действия друг с другом. Установленные посредством сокетов соединения позво ляют процессам взаимодействовать, не подвергаясь влиянию других процессов.
В ОС Linux выделяются несколько видов сокетов, использование которых пред полагает наличие сетевой инфраструктуры. Локальные сокеты доступны только на локальном компьютере, обращение к ним осуществляется через специальные объекты файловой системы, а не через сетевые порты. Такие сокеты принято на зывать сокетами домена UNIX (UNIX domain socket). Помимо локальных соке тов, существуют сетевые сокеты, позволяющие процессам обмениваться данными по сети.
Несмотря на то что другие процессы распознают файлы сокетов как элементы каталога, чтение и запись файлов сокета могут осуществлять только те процессы, между которыми установлено соответствующее соединение. С локальными соке тами работают различные сервисы ОС Linux – CUPS1, X Window и Syslog2.
Именованные каналы (FIFO) Файлы данного типа подобны сокетам, поскольку тоже используются для взаи модействия между процессами, однако, в отличие от сокетов, в именованных ка налах данные передаются только в одном направлении.
Файлы блочных и символьных устройств Файлы блочных и символьных устройств позволяют приложениям получать доступ к аппаратным средствам и периферийному оборудованию системы. На этапе конфигурирования к ядру ОС Linux динамически подгружаются необходи мые модули, предназначенные для управления аппаратными средствами систе мы. За управление конкретным устройством отвечает специальный модуль, на зываемый драйвером устройства.
Драйверы устройств образуют стандартный интерфейс взаимодействия, ко торый воспринимается пользователем как набор обычных файлов. Получив за прос к файлу символьного или блочного устройства, ядро передает данный запрос соответствующему драйверу. Файлы блочных и символьных устройств сами по себе не являются драйверами; их можно рассматривать как шлюзы, через которые драйвер принимает запросы на выполнение предусмотренных операций.
Файлы символьных устройств не используют буферизацию в процессе опера ций ввода вывода: они осуществляются немедленно по мере поступления. К сим вольным устройствам относятся виртуальные терминалы, модемы и другие устройства, не поддерживающие произвольного доступа к данным.
Файлы блочных устройств обрабатываются драйверами, которые осуществ ляют ввод вывод данных цельными блоками. В данном случае на уровне ядра вы полняется буферизация данных ввода вывода. К блочным устройствам относятся 1 Система печати в UNIX.
2 Демон журналирования событий в UNIX.
Имена файлов и каталогов жесткие диски, DVD приводы, модули памяти, а также все остальные устройства, поддерживающие произвольный доступ к данным.
Файлы блочных и символьных устройств характеризуются двумя номерами:
старшим (major) и младшим (minor). Старший номер устройства позволяет ядру определить, к какому драйверу относится файл, а младший номер идентифициру ет конкретное физическое устройство.
Просмотреть номера файлов устройств можно, используя команду ls:
# ls l /dev brw r 1 root disk 8, 0 Dec 22 13:30 sda brw r 1 root disk 8, 2 Dec 22 13:30 sda2 brw rw 1 root disk 22, 0 Dec 22 13:30 hdc crw rw 1 root root 4, 0 Dec 22 16:29 tty0 crw w 1 root tty 4, 1 Dec 23 00:05 tty1 crw 1 root root 5, 1 Dec 22 16:43 console Из данного листинга видно, что блочному устройству sda2 соответствуют старший номер 8 (номер драйвера) и младший номер 2 (номер устройства). Но мер драйвера 8 в ОС Linux соответствует драйверу SCSI дисков sd. Младший но мер устройства 2 является порядковым номером данного устройства, то есть, по сути, файл /dev/sda2 представляет второй раздел1, созданный на жестком диске SCSI sda.
Информацию о старших и младших номерах, используемых конкретным драйвером устройства, можно найти в четвертом разделе справочного руковод ства man для данного драйвера.
3.4. Имена файлов и каталогов:
группировка и использование подстановок Часто пользователю приходится работать с большим количеством файлов, имеющих повторяющиеся символы в названии или другие схожие атрибуты. Для обращения к группе файлов, сгруппированных по какому то признаку, использу ются специальные символы.
К специальным относятся символы «*», «?», «<>», «[]», «^», «
». Каждый раз при вводе строки в командной строке командный интерпретатор проверяет вве денные слова на наличие символов «*», «?» и «[». В случае нахождения одного из указанных символов данное слово рассматривается интерпретатором как шаблон и заменяется отсортированным по алфавиту списком имен файлов, удовлетворя ющим шаблону.
Любой символ, входящий в состав шаблона и не являющийся специальным символом, интерпретируется обычным образом, то есть обозначает то, чем явля ется. Если необходимо составить шаблон, включающий специальный символ, то шаблон должен заключаться в кавычки. Ниже приводится описание доступных шаблонов подстановок.
1 Под разделом понимается независимая область данных, расположенная на жестком диске. Совокупность таких областей называется разметкой диска.
40 Знакомство с файловой системой * Соответствует любой строке, включая строку нулевой длинны. Если данный символ указывается после символа / два раза, то данному шаблону будут со ответствовать все каталоги и подкаталоги, а если данный символ встречается в шаблоне имени файла два раза подряд, то данному шаблону будут удовлет ворять все файлы, каталоги и подкаталоги.
Например, для отображения всех файлов в рабочем каталоге, оканчивающих ся на.jpg, можно использовать следующий шаблон подстановки:
# ls *.jpg ? Соответствует любому единичному символу.
Например, для отображения всех файлов в рабочем каталоге, оканчивающих ся на.jpg и имеющих только один символ до точки, можно использовать сле дующий шаблон подстановки:
# ls ?.jpg […] Соответствует одному любому из указанных символов. Если между символа ми указан знак « », то шаблону будет соответствовать диапазон отсортирован ных1 символов, включая два указанных (первый и третий). Если перед первым символом шаблона указан символ «!» или «^», то шаблону будут соответство вать любые символы, кроме указанных в образце. Образцу вида [.символ.] со ответствует указанный в образце символ.
Например, для отображения всех файлов в рабочем каталоге, оканчивающих ся на.jpg и начинающихся только с заглавной буквы, можно использовать сле дующий шаблон подстановки:
# ls [A Z]*.jpg <> Соответствует каждому из приведенных образцов.
Например, для отображения всех файлов, оканчивающихся на символы c, o и h, можно использовать следующий шаблон подстановки:
# ls *.
?(список_образцов2) Соответствует нулевому или единичному вхождению об разца, указанного в списке образцов.
Например, для отображения всех файлов в рабочем каталоге, оканчивающих ся на.jpg и.gif, начинающихся только с символов «ab» или «cd», можно ис пользовать следующий шаблон подстановки:
# ls +(ad|cd)*+(.jpg|.gif) 1 Порядок сортировки определяется текущей системной локализацией (переменная LANG) или переменной окружения LC_COLLATE (способ сортировки), если предыду щая не определена.
2 Под списком образцов понимаются наборы символов, разделенных знаком «|».
Имена файлов и каталогов *(список_образцов) Соответствует нулевому и более вхождениям образца, ука занного в списке образцов.
+(список_образцов) Соответствует одному и более вхождениям образца, указан ного в списке образцов.
@(список_образцов) Соответствует одному из указанных в списке образцов.
!(список_образцов) Соответствует любому, кроме указанных в списке образцов.
Например, для отображения всех файлов в рабочем каталоге, не оканчиваю щихся на.jpg и.gif, можно использовать следующий шаблон подстановки:
# ls !(*.jpg|*.gif) Следует отметить, что первые четыре шаблона подстановки являются стан дартными. Остальные шаблоны становятся доступными только после активации опции расширенных подстановок командного интерпретатора bash. Для их акти вации необходимо ввести команду shopt –s extglob Кроме того, в подстановке вида […] можно указывать специальные классы об разцов (POSIX стандарт), заключая их в двоеточия с обеих сторон. Для использо вания доступны следующие классы стандарта POSIX:
• alnum – соответствует буквенным и цифровым символам (эквивалентно A Za z0 9);
• alpha – соответствует буквенным символам (эквивалентно A Za z);
• blank – соответствует символу пробела или табуляции;
• cntrl – соответствует символу, получаемому при нажатии клавиши Ctrl;
• digit – соответствует только цифровым символам (эквивалентно 0–9);
• graph – соответствует символам с 33 по 126 таблицы кодов ASCII;
• print – соответствует аналогичному выше типу, включая символ пробела;
• lower – соответствует строчным буквенным символам (эквивалентно a–z);
• upper – соответствует прописным буквенным символам (эквивалентно a–z);
• punct – соответствует знакам пунктуации;
• space – соответствует символу пробела или горизонтальной табуляции;
• xdigit – соответствует символам шестнадцатеричных цифр (эквивалентно 0 9A Fa f).
Для использования данных шаблонов необходимо заключать их в квадратные скобки.
Например, для отображения всех файлов, состоящих из четырех симво лов, второй и третий из которых являются цифрами, можно использовать следую щий шаблон подстановки:
Для того чтобы интерпретатор корректно обработал введенную команду, включающую специальные символы в именах файлов или каталогов, существует понятие экранирования. Для экранирования символов используется специаль ный символ «\».
В следующем листинге приведен пример экранирования специ ального символа «$»:
42 Знакомство с файловой системой # echo $# # echo \$# $# Специальная переменная $# содержит количество аргументов команды.
В первом случае при помощи команды echo выводится значение данной перемен ной. Во втором случае символ «$» экранируется и в результате команда echo вы водит обычный текст. Тот же самый принцип экранирования действует для сим волов, содержащихся в подстановках имен файлов.
Модуль 4. Основы работы с командной строкой
Изучив данный модуль, вы будете иметь возможность:
• понимать принципы работы с командами;
• работать в командном интерпретаторе bash;
• осуществлять поиск необходимой справочной информации;
• настраивать переменные окружения командного интерпретатора;
• настраивать командный интерпретатор bash;
• работать с псевдонимами команд.
4.1. Командные интерпретаторы Командный интерпретатор (shell) – самая важная часть интерфейса ко мандной строки1 и ОС Linux в целом. Командный интерпретатор – это програм ма, имеющая свои собственные встроенные команды (built in commands), свое собственное переменное окружение (environment); кроме того, командный ин терпретатор позволяет выполнять внешние команды программ, которые присут ствуют в системе.
Существуют следующие варианты использования командного интерпретатора:
• настройка переменного окружения (сеанса);
При интерактивном использовании командного интерпретатора система ожи дает ввод команды в приглашении командной строки. Команды могут включать специальные символы, позволяющие выполнять сокращение имен файлов и пере направление ввода и вывода.
Командный интерпретатор определяет переменные, управляющие работой текущего сеанса2 командной строки. Настройка данных переменных сообщает системе, например, о том, какой каталог следует применять в качестве домашнего или какой файл нужно использовать для хранения почты. Значения некоторых 1 Интерфейс командной строки (консоль) – это разновидность текстового интерфейса человека и компьютера, в котором инструкции компьютеру даются только с клавиату ры. Интерфейс командной строки противопоставляется системам управления програм мой на основе меню, а также различным реализациям графического интерфейса.
2 Под сеансом командной строки понимается процесс работы пользователя с интерфей сом командной строки.
44 Основы работы с командной строкой переменных предварительно устанавливаются системой; определение других можно выполнять в загрузочных файлах, которые считываются при входе в систе му. Находясь в интерактивном режиме, также можно определять переменные и использовать их в дальнейшей работе.
Командные интерпретаторы предоставляют набор специальных встроенных команд, позволяющих создавать программы, называющиеся сценариями команд ного интерпретатора. Сценарии полезны для выполнения наборов отдельных ко манд и повторения выполнения команд.
В состав ОС Linux входят несколько командных интерпретаторов, каждый из которых обладает своими возможностями, однако основным командным интер претатором является Bash (Bourne Again Shell). Это наиболее распространенный командный интерпретатор, используемый в ОС Linux по умолчанию. С помощью Bash можно редактировать командную строку, вести историю команд и вести целочисленные вычислительные операции. В данном курсе все практические ра боты и упражнения будут выполняться именно в этом интерпретаторе. Определе ние используемого командного интерпретатора возможно посредством обра щения к переменной окружения $SHELL, которая содержит абсолютный путь к бинарному исполняемому файлу командного интерпретатора. Для этого можно воспользоваться командой echo, которая выводит значение переменной, или ко мандой env, отображающей все переменные окружения.
В графической оболочке запуск командного интерпретатора bash осуществ ляется при открытии программы terminal из общего меню программ. Если гра фическая оболочка не установлена, то пользователь автоматически попадает в консольную программу login, где ему необходимо аутентифицироваться, а за тем приступить к работе в командной строке.
После удачного завершения процесса аутентификации открывается сеанс ко мандного интерпретатора и появляется первичное приглашение.
Приглашением командного интерпретатора принято называть весь текст, отображаемый слева от курсора, при условии, что курсор находится в самом нача ле командной строки. Данный текст несет полезную информацию и может настраи ваться согласно предпочтениям пользователя.
В командном интерпретаторе bash существуют следующие приглашения.
• PS1 (первичное приглашение). В данной переменной содержится строка вида [\u@\h \W]\$, в которой каждому символу соответствует определен ное значение. Например, символу \u соответствует имя текущего пользо вателя. Допустимые символы, используемые для формирования первич ного приглашения, приведены в табл. 4.1.
• PS2 (вторичное приглашение). Данная переменная содержит второсте пенное приглашение, которое возникает при многострочном редактирова нии текста или незавершенном вводе команды. По умолчанию оно обозна чается как. Пример вторичного приглашения приведен в следующем примере запуска команды получения информации DNS:
# nslookup Идеология работы с командами: структура и использование
• PS3. Данная переменная содержит приглашение, присутствующее в опера торе select, используемом для организации интерактивных консольных меню. Приглашению PS3 в операторе select по умолчанию соответствует значение #?. В следующем примере приведено произвольное консольное меню, в котором пользователю предлагается сделать определенный выбор:
2) two #? 1 One #? 2 Two
• PS4. Данная переменная используется в основном при отладке сценариев командного интерпретатора и по умолчанию содержит строковое значение «++». Например, отладочный вывод shell скрипта, содержащего един ственную команду date, будет иметь следующий вид:
# bash x /tmp/date.sh ++ date + echo Wed Dec 24 14:51:37 MSK 2008 Wed Dec 24 14:51:37 MSK 2008 Таблица 4.1. Формирующие символы первичного приглашения командного интерпретатора Символ Значение \A Текущее время в формате ЧЧ:MM \h Имя хоста до первой точки \u Имя пользователя \w Текущий рабочий каталог \$ Если эффективный идентификатор пользователя (UID) равен 0, то отображается #, в остальных случаях отображается $ \s Название командного интерпретатора При работе с ОС Linux в данном курсе слушатели будут в основном сталки ваться с первичным и вторичным приглашениями командного интерпретатора.
4.2. Идеология работы с командами:
структура и использование Основная операция, которая выполняется при работе с командным интерпре татором, – это ввод команд, их ключей и аргументов. К примеру, чтобы просмот реть список содержимого домашнего каталога пользователя в расширенном фор мате, включая и скрытые файлы, имена которых начинаются с точки (обычно это файлы настроек и каталоги файлов настроек), необходимо ввести команду ls –lа
1 В оболочке bash тильда (
) используется для быстрого доступа к домашнему каталогу текущего пользователя.
46 Основы работы с командной строкой По сути, команда ls является исполняемым бинарным файлом, расположенным в каталоге bin. Поэтому вместо команды ls можно ввести полное имя исполняемого файла, иными словами – указать абсолютный путь к файлу:
# /bin/ls При этом часто возникает проблема: вы вводите команду, которая, как вы рас считываете, есть в системе, но получаете сообщение, подобное «Not found» («Не найдена»). Проблема может быть в том, что команда размещается в таком катало ге, который интерпретатор просто не просматривает. Список каталогов, где ин терпретатор отыскивает команды, называется «путь поиска». Текущий путь поиска содержится в переменной окружения PATH, для отображения которой можно использовать команду echo. Результатом работы команды echo будет вы вод набора путей, разделенных двоеточиями.
Каждую команду можно условно разделить на три компонента:
В предыдущем примере название команды соответствует ls, параметром ко манды является пара параметров l и a, а аргументом является символ
. Для того чтобы просмотреть список всех имеющихся параметров и аргументов команды, существуют специальные параметры – help, h и —usage, которые выводят на эк ран краткую справку по использованию команды.
Командная строка в ОС Linux обладает очень полезными средствами – авто матическим завершением названий команд и имен файлов, а также мощными воз можностями редактирования команд. Все это реализовано в ОС Linux для обеспе чения наибольшего быстродействия при работе с командной строкой.
При работе с командами ОС Linux необходимо придерживаться следующих общих требований.
1. Каждая команда имеет следующий синтаксис:
команда [опции] опции [аргументы] аргументы В квадратных скобках обозначаются необязательные опции и аргументы, без которых команда будет выполнена. Обязательные опции и аргументы обозначаются без квадратных скобок. Следует иметь в виду, что некоторые команды могут вообще не содержать обязательных опций или аргументов.
2. Каждое слово в строке отделяется от предыдущего пробелом.
3. Опции, состоящие из одного символа, начинаются, как правило, со знака « ».
4. Опции, состоящие из целого слова, начинаются, как правило, со знака «—».
5. Как правило, каждой опции, состоящей из целого слова, соответствует ана логичная опция, состоящая из единичного символа, например команда df k равнозначна команде df —kilobytes. Для экономии времени рекомендует ся использовать сокращенный вариант опций.
6. Единичные опции можно группировать вместе, например набор опций « a b с» соответствует следующей комбинации опций: « abc».
Приемы работы с командной строкой
7. При написании нескольких команд на одной строке их необходимо разде лять знаком «;».
8. Для переноса ввода команды на следующую строку, например при написа нии достаточно длинных команд, используется символ «\». После ввода символа «\» и нажатия клавиши ввода Enter отображается вторичное приглашение командного интерпретатора, после которого можно продол жать ввод команды.
9. Существуют специальные метасимволы, которые имеют особое значение в процессе интерпретации:
– Перенаправление ввода и вывода (, ). Вывод любой команды может быть перенаправлен в файл. Каждая команда считывает данные из стандартного канала ввода или из файла:
# echo $SHELL /tmp/shell.name # cat /tmp/shell.name /bin/bash В первой строке листинга осуществляется перенаправление вывода команды echo в файл /tmp/shell.name. Встроенная команда echo ис пользуется для вывода всех своих аргументов на экран терминала. В ка честве аргумента команды echo используется подстановка значения пе ременной SHELL, содержащей путь к программе текущего командного интерпретатора. Во второй строке листинга на вход команде cat подает ся содержимое файла /tmp/shell.name. Команда cat, получив данные на вход из файла /tmp/shell.name, выводит их на экран терминала.
– Перенаправление стандартного вывода одной команды на стандартный ввод другой команды (|).
Основная идеология работы с командами ОС Linux заключается в том, что для решения сложной задачи используются более простые команды, объединен ные между собой каналами перенаправления |. Рассмотрим следующий листинг.
# echo $SHELL | tr [a z] [A Z] /BIN/BASH В первой строке вывод команды echo перенаправляется на вход команды tr, которая осуществляет преобразование всех строчных букв в прописные.
Основные команды ОС Linux, как встроенные в командный интерпретатор bash, так и выполненные в виде отдельных бинарных файлов, условно можно раз делить на группы, представленные в приложении 4.1.
4.3. Приемы работы с командной строкой:
поиск команд и специальные клавиши Командный интерпретатор предоставляет пользователю мощный инструмент работы с командами. Для удобства и быстроты работы с командами существуют специальные сочетания клавиш («горячие» клавиши), которые позволяют вво дить команды и перемещаться строке намного быстрее, чем при использовании 48 Основы работы с командной строкой стандартных методов ввода данных. В приложении 4.2 представлены основные сочетания клавиш, используемые в командном интерпретаторе bash.
Таким образом, можно выделить следующие приемы работы с командной строкой:
• редактирование командной строки;
• использование «горячих» клавиш;
• поиск ранее введенных команд;
Все это в совокупности определяет производительность и качество работы пользователя с системой.
Автодополнение Для автоматического завершения названия команды используется клавиша TAB. Достаточно набрать первых 1–3 символа начала названия команды и на жать на клавишу TAB – и система автоматически подставит корректное назва ние команды.
В случае если имеются несколько команд, названия которых начи наются с одинаковых символов, система отобразит список всех доступных для автозавершения команд:
# ifcTABTAB ifcfg ifconfig Автоматическое завершение имен файлов действует по тому же принципу с использованием клавиши TAB. Причем если после указания команды нажать клавишу TAB два раза, то система отобразит содержимое текущего рабочего каталога или содержимое каталога, указанного после команды:
# vi /etc/hostTABTAB host.conf hosts hosts.allow hosts.deny Следует отметить, что в списке доступных для автозавершения команд будут указаны только те команды, исполняемые файлы которых присутствуют в путях файловой системы, указанных в переменной окружения PATH.
Поиск ранее введенных команд При нажатии на клавишу стрелка вверх появится предыдущая введенная команда. Клавиша стрелка вверх выполняет перемещение по буферу истории команд назад, в то время как клавиша стрелка вниз выполняет перемещение по буферу вперед, то есть к наиболее поздним введенным командам. Если нужно изменить символ в текущей строке, используется левая или правая стрелка.
Редактирование командной строки Для редактирования командной строки есть много комбинаций «горячих»
клавиш, однако иногда бывает проще отредактировать командную строку, как если бы это был текст в текстовом редакторе. Для этого в командном интерпрета торе необходимо определить режим редактирования команд:
# set –o vi Приемы работы с командной строкой Для редактирования команд используются команды редакторов vi или emacs в зависимости от указанного параметра команды set. Например, если в командной строке введена следующая команда:
# echo arg1 arg2 arg3 то для удаления второго аргумента команды необходимо перейти в режим редак тора vi, нажав клавишу ESC, а затем последовательно нажать комбинации кла виш 2b и dw. После удаления второго аргумента необходимо выполнить команду, нажав на клавишу Enter.
Поиск ранее введенных команд Еще одной приятной особенностью командного интерпретатора является ис тория команд. Под историей команд понимается список ранее введенных ко манд. В случае использования интерпретатора bash данный список будет содер жаться в файле
/.bash_history. Для выполнения команд из истории команд пользователю доступны несколько вариантов, включая комбинацию клавиш Ctrl+R, команды history и fc. В первом случае поиск команд выполняется авто матически в процессе ввода первых символов команды в строке поиска (reverse i search).
Команда history выводит на экран список всех1 введенных ранее команд.
Для запуска команд из списка существуют специальные команды:
• !! – выполнить последнюю команду повторно;
• ! N – выполнить N последних команд;
• !N – выполнить команду N из списка команд;
• !string – выполнить последнюю команду, начинающуюся со строки string;
• N – порядковый номер команды в списке команд.
Команду fc удобно использовать для быстрого редактирования последней введенной команды.
Данная команда имеет две формы ввода:
fc [ e редактор] [first] [last] fc s [образец=замена] [номер команды] В первом случае выполняется редактирование диапазона команд в указанном редакторе2. Во втором случае выполняется повторный запуск команды с измене нием всех образцов на указанную замену. Если номер команды явно не указан, то будет выполнена самая последняя команда с найденным образцом.
Использование псевдонимов Благодаря использованию псевдонимов команд можно создать новую коман ду, которая будет носить сокращенное имя или выполнять схожие действия.
К примеру, чтобы создать псевдоним для команды, выводящей список содержи 1 Количество запоминаемых команд в истории команд по умолчанию задается в перемен ной окружения HISTSIZE.
2 Если редактор явно не указан, то используется редактор, указанный в переменных FCEDIT и EDITOR.
50 Основы работы с командной строкой мого каталога в расширенном формате, необходимо выполнить следующую команду:
$ alias dir=’ls l’ Теперь, выполнив команду dir, на экране отобразится список содержимого те кущего каталога в расширенном формате.
Наличие псевдонимов позволяет назначить короткие имена длинным, часто используемым командам. Чтобы узнать, какие псевдонимы были созданы в ОС Linux, необходимо выполнить команду alias без аргументов.
Полученный список будет включать в себя несколько стандартных псевдонимов, а также только что созданный псевдоним dir:
# alias alias cp=’cp i’ alias dir=’ls l’ alias ls=’ls color=tty’ alias mv=’mv i’ alias rm=’rm i’ alias which=’alias | /usr/bin/which tty only read alias show dot show tilde’ Следует отметить, что при выходе из текущего сеанса интерпретатора или за пуска нового созданные псевдонимы уничтожаются. Во избежание данной ситуа ции используются конфигурационные файлы интерпретатора, о которых будет рассказано далее.
4.4. Получение справки Одним из основных преимуществ ОС Linux является наличие встроенной справочной системы, которая содержит почти всю информацию обо всех коман дах, библиотеках и конфигурационных файлах.
4.4.1. Команды man и info Основную часть справочной системы ОС Linux занимают страницы руковод ства man. Они могут быть просмотрены как в графическом, так и в текстовом ре жиме работы, что делает их самым быстрым источником получения необходимой справочной информации.
Страницы руководства man сгруппированы в несколько тематических разде лов (табл. 4.2).
В процессе администрирования ОС Linux и использования системы в каче стве клиента наиболее полезными разделами руководства man являются 1 и 5 раз делы.
Просмотр страниц руководства man осуществляется в программе просмотра текстовых файлов, заданного в конфигурационном файле /etc/man.config. По умолчанию в качестве программы просмотра страниц руководства man использу ется программа less.
Поиск справочной информации по страницам руководства man предельно прост. Необходимо ввести команду man и в качестве ее аргумента указать назва ние команды или файла, которое необходимо найти в руководстве. В следующем листинге представлен частичный вывод справочной информации по команде man.
# man man man(1) NAME man – format and display the on line manual pages SYNOPSIS man [ acdfFhkKtwW] [ path] [ m system] [ p string] [ C config_file] [ M pathlist] [ P pager] [ B browser] [ H htmlpager] [ S section_list] [section] name.
Все действия со страницей руководства, такие как перемещение, поиск необ ходимого текста, форматирование страницы, осуществляются согласно установ ленным комбинациям клавиш программы просмотра less. Для просмотра допус тимых комбинаций клавиш программы просмотра less можно воспользоваться встроенной справкой, нажав на клавишу h в режиме просмотра произвольной страницы руководства man.
При поиске необходимой команды может возникнуть ситуация, когда одно и то же слово присутствует в нескольких разделах. По умолчанию отображается информация из раздела с наименьшим номером. Для отображения справки из же лаемого раздела необходимо после ввода команды man указать номер раздела, в котором будет осуществляться поиск. Например, для отображения справки по конфигурационному файлу /etc/passwd необходимо запустить команду man 5 passwd. Иначе будет отображена справка по команде управления паролем поль зователя из первого раздела.
Как и команды, страницы руководства man иногда располагаются в самых неожиданных местах. Например, некоторые специфические программы могут быть установлены в каталог /usr/local, а их страницы справочного руководства помещены в /usr/local/man. Команда man не станет автоматически осуществлять поиск в /usr/local/man, поэтому при запросе страницы руководства можно полу 52 Основы работы с командной строкой чить сообщение «No manual entry for…». Чтобы исправить положение, нужно за дать все каталоги верхнего уровня в переменной окружения MANPATH.
$ export MANPATH=/usr/man:/usr/local/man Синтаксис такой же, как в случае с переменной PATH, описанной выше: ката логи разделены двоеточиями. Есть еще одна переменная окружения, которую, возможно, придется установить, – MANSECT. Она определяет порядок просмот ра разделов при поиске статей руководства. Например, следующая строка указы вает, что поиск должен начинаться с раздела 2.
Альтернативой страницам руководства man являются страницы руководства info. Основное различие данных систем заключается в том, что в системе info ис пользуется гипертекст, который позволяет перемещаться между страницами в интерактивном режиме. Кроме того, справочная система info содержит более подробное описание команд, чем руководство man.
Например, для просмотра пол ного руководства по программе изменения параметров терминала (stty) необхо димо ввести следующую команду:
$ info stty Программа info сложна в восприятии и имеет массу функций для навигации.
Чтобы разобраться в ней, лучше всего, находясь в программе, нажать Ctrl+H и прочесть весь список команд. Есть программы, которые упрощают чтение стра ниц info, например pinfо, работающая сходным с текстовым веб обозревателем lynx образом.
В последнее время документация к различным программам ОС Linux все чаще поставляется в виде страниц HTML. Их можно читать любым веб обозрева телем. Иногда документация может распространяться в виде файлов формата PDF, которые можно просматривать либо с помощью коммерческой программы Adobe Acrobat Reader, которая входит в состав большинства дистрибутивов и ко торую можно загрузить с сайта разработчика, либо с помощью свободно распрост раняемой программы evince.
4.4.2. Поиск названий и описаний команд Может так случиться, что названия некоторых команд не запоминаются или запоминаются не полностью. Существуют несколько команд, помогающих опре делить корректное название программы и дать краткое ее описание.
Для поиска команды, в описании которой присутствует некоторая строка тек ста, используется команда apropos.
В следующем листинге приведен пример по иска всех команд, в описании которых встречается строка download:
# apropos download ascii xfr (1) – upload/download files using the ASCII protocol CPAN (3pm) – query, download and build perl modules from CPAN sites lwp download (1) – Fetch large files from the web update pciids (8) – download new version of the PCI ID list Wget [wget] (1) – The non interactive network downloader Настройка командного интерпретатора Если необходимо понять, зная название команды, ее использование, то ис пользуется команда whatis, выполняющая поиск по разделам руководства man и выдающая совпавшие результаты. В следующем листинге приведен вывод крат кого описания команды ifconfig:
# whatis ifconfig ifconfig (8) – configure a network interface Иногда бывает необходимо просмотреть описание всех команд в некотором каталоге файловой системы, например /usr/sbin. Для этого можно использовать следующую комбинацию команд:
# cd /usr/sbin/ && ls | xargs whatis | less В данном листинге представлена составная команда, состоящая из четырех команд, связанных между собой каналами перенаправления, а также условным опе ратором &&. Первая команда cd выполняет смену рабочего каталога на /usr/sbin.
Далее в случае успешной смены каталога выполняется команда ls, выводящая имена всех файлов в каталоге. Затем вывод команды ls передается команде xargs, которая для каждого полученного имени файла выполняет команду whatis. Одно временно с выводом на терминал информации происходит ее перенаправление на вход команды less, которая просто просматривает информацию поэкранно, ожи дая при этом действий пользователя для перехода к следующему экрану.
4.5. Настройка командного интерпретатора.
Переменные окружения Командный интерпретатор определяет переменные окружения, которые ис пользуются в текущем сеансе пользователя. Каждая новая введенная команда фактически запускается как дочерний процесс родительского процесса, в каче стве которого в данном случае выступает командный интерпретатор bash.
Переменные окружения отличаются от обычных переменных тем, что они до ступны как для родительских, так и для дочерних процессов.
Автоматическое определение переменных окружения происходит после аутен тификации пользователя в системе. Программа login в случае успешного заверше ния процесса аутентификации на основе конфигурационного файла /etc/passwd определяет, какой командный интерпретатор будет использоваться в сеансе данно го пользователя. После определения командного интерпретатора происходит на стройка сеанса согласно конфигурационным файлам, представленным в табл. 4.3.
Все конфигурационные файлы интерпретатора bash являются сценариями, то есть написаны на языке интерпретатора.
Конфигурационные файлы, приведенные в табл. 4.3, считываются в строго определенном порядке. Этот порядок в первую очередь зависит от того, каким образом выполняется запуск оболочки: либо происходит первичный вход в систе му, используя программу login, либо же происходит просто открытие дополни тельного сеанса интерпретатора. В этих случаях принято говорить, что оболочка запускается как login shell и non login shell соответственно. В случае использова ния non login shell считывается только файл
/.bashrc из домашнего каталога пользователя. В случае использования login shell сначала выполняется считыва ние файла /etc/profile, а затем файлов
После завершения сеанса оболочки выполняется файл
Для изменения конфигурационных файлов /etc/profile и /etc/bashrc необ ходимо быть суперпользователем root. Обычные пользователи могут изменять Настройка командного интерпретатора конфигурационные файлы
/.bash_logout, находящи еся в их домашних каталогах.
При работе с конфигурационными файлами интерпретатора bash очень часто необходимо определять переменные окружения. Переменная окружения отлича ется от обычной переменной тем, что она доступна любой программе текущего сеанса. Как правило, переменные окружения пишутся заглавными буквами.
Интерпретатор bash использует большое количество переменных окружения.
Список основных переменных окружения интерпретатора bash приведен в при ложении 4.3.
Для просмотра значений переменных окружения текущего сеанса командного интерпретатора bash используются команды printenv, env и set. Первая из них выводит только переменные окружения. Вторая команда при вызове без парамет ров также показывает переменные окружения, однако используется в основном для запуска команд в измененном окружении, переопределяя текущие перемен ные окружения для указанной команды. Третья команда отображает все перемен ные текущего сеанса, включая переменные окружения, а также используется для установки опций командного интерпретатора.
Для задания дополнительных переменных окружения или перевода обычных переменных в окружение используется команда export.
В следующем листинге приводится пример использования данной команды для экспорта переменной ад реса прокси сервера:
# export HTTP_PROXY=http://192.168.10.84:8080 # env | grep HTTP_PROXY HTTP_PROXY=http://192.168.10.84:8080 В первой строке кода одновременно происходят определение новой перемен ной HTTP_PROXY и ее экспорт в окружение командного интерпретатора. Во второй строке кода осуществляется проверка того, что переменная HTTP_ PROXY действительно определилась в окружении командного интерпретатора.
Примечание Если включен автоматический режим экспорта переменных (активируется включе нием опции командного интерпретатора set a), каждая новая определенная пере менная автоматически становится переменной окружения командного интерпре татора.
Модуль 5. Работа с файловой системой ОС Linux
Изучив данный модуль, вы научитесь:
• выполнять базовые операции с файлами и каталогами;
• просматривать содержимое текстовых файлов;
• выполнять поиск файлов согласно заданным условиям поиска;
• работать с архивными файлами.
5.1. Основные операции при работе с файлами и каталогами В ОС Linux имена файлов могут содержать символы как нижнего, так и верх него регистров, причем регистр символов имеет значение. Два одинаковых имени файла, записанных в разных регистрах, будут являться физически разными фай лами. В имени файла допускается использовать символы «.», « », «_», «
» и др., однако их использование может иметь специальное значение для ОС Linux, о ко тором будет сказано далее.
Символ «/» недопустимо использовать в качестве имени файла, поскольку он предназначен для разделения каталогов при указании пути к файлу. Символ «\»
в основном используется для переноса ввода текста на следующую строку. Ис пользование данного символа в имени файла, как правило, заключается в экрани ровании пробелов между отдельными словами имени файла. В ОС Linux имена файлов могут содержать пробелы, однако их необходимо экранировать при по мощи символа «\» или записывать имя файла в кавычки. Единичный символ «
имеет особое значение и используется как ссылка на домашний каталог пользо вателя.
В предыдущем разделе уже упоминались специальные каталоги «.» и «..», которые используются для обращения к текущему рабочему каталогу и роди тельскому каталогу соответственно. При использовании символа «.» в качестве первого символа имени файла данный файл будет скрыт для обычного просмотра, а также для команды удаления, если при запуске данной команды не была указана соответствующая опция.
Длина имени файла в ОС Linux зависит от типа файловой системы, на кото рой располагается данный файл. В файловой системе ext3, используемой в ОС Linux по умолчанию, максимальная длина имени файла не может превышать 255 символов.
Основные операции при работе с файлами и каталогами Следующие команды являются базовыми при проведении повседневных опе раций администрирования ОС. Эти команды позволяют просматривать, копиро вать, перемещать, переименовывать и удалять файлы.
5.1.1. Команды управления файлами Для просмотра файлов в ОС Linux используется команда ls, имеющая следую щий синтаксис:
«ВЫБОРЫ И ПАРТИИ ВЫБОРЫ ДЕПУТАТОВ ТАМБОВСКОЙ ОБЛАСТНОЙ ДУМЫ-2016: ПАРТИЙНО-ПОЛИТИЧЕСКИЙ АСПЕКТ1 СЕЛЬЦЕР Дмитрий Григорьевич Тамбовский государственный университет имени Г.Р. Державина, Тамбов, Россия, доктор политических наук, заместитель ректора, директор Центра исследования. »
«ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «УЛЬЯНОВСКОЕ ВЫСШЕЕ АВИАЦИОННОЕ УЧИЛИЩЕ ГРАЖДАНСКОЙ АВИАЦИИ (ИНСТИТУТ)» ПОЛОЖЕНИЕ по организации внутривузовской системы тестирован. »
«Островська Ольга Анатоліївна, Соколова Ольга Борисівна ДІАГНОСТИЧНІ ПРОДУКТИ З ОЗНАКАМИ ІННОВАЦІЙ У МОНІТОРИНГУ ФІНАНСОВОЇ ЗВІТНОСТІ ДВНЗ»Київський національний економічний університет імені Вадима Гетьмана» В статті викладено авторське розуміння змісту та місця інноваційних діагностичних продуктів з ознаками інновацій у моніторингу. »
«МУНИЦИПАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ «ЦСВППДМ» ВАРИАТИВНАЯ ПРОГРАММА организации и проведения восстановительных учебно – тренировочных сборов для воспитанников отделения Прыжки на батуте, АКД и ДМТ Автор: Тренер-преподаватель отделения прыжков на батуте. »
«Система «Автоматизированное рабочее место коммерческого учета электроэнергии». Руководство пользователя. Версия руководства 0.10.X (5). Оглавление ИЗМЕНЕНИЯ В ТЕКУЩЕЙ ВЕРСИИ РУКОВОДСТВА. ВВЕДЕНИЕ. Назначение. 1.1. Термины и аббревиатуры. 1.2. ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ СИСТЕМЫ. Главное (стартовое) окно Системы. Гла. »
«АРБИТРАЖНЫЙ СУД ВЛАДИМИРСКОЙ ОБЛАСТИ Именем Российской Федерации РЕШЕНИЕ г. Владимир Дело № А11-183/2011 “ 28” июня 2011 года Резолютивная часть решения объявлена – 21.06.2011. Полный текст решения изготовлен – 28.06.2. »
«Инновационное образование – «20 ключей»® в контексте актуальных потребностей рынка Орлов К.А. к.т.н. Всероссийская организация качества, МГТУ МИРЭА © ООО «Деловое совершенство», 2012 КЛУБ БЕНЧМАРКИНГА «ДЕЛОВОЕ СОВЕРШЕНСТВО»ГЛОБАЛЬНАЯ СЕТЬ БЕНЧМАРКИНГА (Global Benchmarking Network) ВС. »
«РОССИЙСКАЯ ФЕДЕРАЦИЯ РОСТОВСКАЯ ОБЛАСТЬ ПЕСЧАНОКОПСКИЙ РАЙОН С. ПОЛИВЯНКА КНИГА ПАМЯТИ Осталась память о войне, Она живёт в тебе и мне, О тех, кто жив, кто воевал, И тех, кто без вести пропал! Марк Львовский Великая Отечест. »
«623700, Россия, Свердловская область, г. Березовский, ул. Ленина, 12 Тел. (34369) 2-37-53, тел/факс 2-37-68, email: eridan@uraltc.ru, ИНН 6604007264, КПП 660401001 ИЗВЕЩАТЕЛЬ пожарный ручной взрывозащищенный ИП535-07е ПАСПОРТ 4371-006-43082497 ПС, г. Березовский, 2004 Сертификат пожарной безопасности № ССПБ, RU. УП001. В03939, выдан ЗАО ”Эри. »
«Какие льготы положены школьникам и студентам 1. Какие льгот ы положены учащимся 2. Льгот ы на пит ание 3. Льгот ы на проезд 4. Льгот ы на посещение музеев 5. Льгот ные билет ы в т еат ры 6. Какие еще л. »
«DA16 v1.0 КОМНАТНАЯ ЦИФРОВАЯ DVBT2 АНТЕННА (Цифровое эфирное телевидение) Руководство по эксплуатации с гарантийным талоном прочитайте внимательно перед эксплуатацией СОДЕРЖАНИЕ ВВЕДЕНИЕ Инструкция по мерам безопасности УСТАНОВКА И ПОДКЛЮЧ. »
«Измеритель телевизионный многофункциональный ИТ-08 Измеритель ИТ-08 представляет собой многофункциональный измерительный малогабаритный переносной прибор, который состоит из двух блоков. Основной блок — модуль базовый МБ-08, который предназначен для индикации, управления, формирования питающих напряжений от аккумуляторов и внешнего ист. »
«142 Context and Reflection: Philosophy of the World and Human Being. 2016, Vol. 5, Is. 5А УДК 130.2 Publishing House ANALITIKA RODIS ( analitikarodis@yandex.ru ) http://publishing-vak.ru/ Религиозный ритуал и мистический опыт в исламе Лисина Елена Александровна Кандидат философских наук, генеральный директор изд. »
«Оглавление Преамбула (об ограничении ответственности) I. Общая информация 1.1. Полное и краткое наименование Общества: 1.2. Местонахождение и почтовый адрес: 1.3. Адрес сайта и электронной почты 1.4. Контактный телефон, факс 1.5. Виды деятельности ОАО «ДЕЗ». 1.6. Сведения об аудиторе и реестродержателе 1.7. Сведения об акци. »
«Раздел 7. Понятия «компетентность», «компетенции», «компетентности», «компетентностный подход» и современные тенденции развития среднего профессионального и высшего образования УДК [378.016:802/809]: 378.147 Н. В. Альбрехт, И. М. Кондюрина, г. Екатеринб. »
«ГЕОДЕЗИЯ УДК 528.9; 004.9 ТЕХНОЛОГИЯ ОПРЕДЕЛЕНИЯ МЕТРИЧЕСКИХ ПАРАМЕТРОВ ТЕРРИТОРИИ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ГЕОПРОСТРАНСТВЕННЫМ ДАННЫМ Владимир Иванович Обиденко Открытое акционерное общество «Сибирский. »
«ISSN 2311-2158. The Way of Science. 2014. № 9 (9). Vol. II. ISSN 2311-2158 The Way of Science International scientific journal № 9 (9), 2014, Vol. II Founder and publisher: Publishing House «Scientific survey» The journal is founded in 2014 (March) Volgograd, 2014 ISSN. »
«ТЕХНОЛОГИИ НЕФТЕГАЗОВАЯ СПЕЦИАЛЬНОЕ ПРИЛОЖЕНИЕ #9 (АВГУСТ 2015 ГОДА) ТЕМА НОМЕРА: ПИЛОТНЫЙ НОМЕР ПЕРВЫЙ ГОД САНКЦИЙ: ВЫИГРАЛИ БИТВУ, НО НЕ ВОЙНУ Год назад, в конце лета — начале осени 2014 года против России была введена основная порция западных санкций, з. »
«Государственное автономное образовательное учреждение СМК МГИИТ высшего образования города Москвы МСЭД.0.30.08.2016 МОСКОВСКИЙ Г ОС У ДА Р СТ В Е Н НЫ Й И НС Т ИТ УТ И Н ДУ С Т Р И И Т У Р ИЗ М А ИМ Е Н И Ю.А. СЕНКЕВИЧА Лист 1 из 33 РАБОЧАЯ ПРОГРАММА Дисциплины МАРКЕТИНГ В ОРГАНИЗАЦИЯХ ОБЩЕСТ. »
«Без элиты Сеть нижнего белья «Стильпарк» делает ставку на небогатого покупателя Почти половина нижнего белья продается через вещевые рынки. При этом в нашей стране активно развиваются специализированные сети. Наращивать свое присутствие они могут не столько за. »
«УТВЕРЖДАЮ: Ректор ОмГУПС _ С. М. Овчаренко «» _2016 г. Порядок проведения итоговой аттестации по программам дополнительного профессионального образования в федеральном государственном бюджетном образовательном учреждении высшего образования «Омский государственный университет путей сообщения»1. »
«Менеджмент качества предприятий и организаций УДК 519.713 МОДЕЛЬ ОТКАЗОВ АВТОМАТИЗИРОВАННЫХ СРЕДСТВ КОНТРОЛЯ А. В. Полтавский, Н. К. Юрков Введение Важной характеристикой информационно-измерит. »
«М. С. Григорьев Евромайдан Москва Кучково поле УДК 323/324 ББК 63.3(2)6-3 Г83 В книге использованы фотографии информационных агентств ИТАР-ТАСС, «Россия Сегодня» и телевизионного канала RT Григорьев М. С. Г83 Евромайдан. — М.: Кучково поле, 2014. — 464 с., 16 л. ил. ISBN 9. »
«Л 1. А. Герм ан К осм ические м ет оды и сслед о ва ни я в м ет еорологии Допущено Министерством высшего и среднего специального образования СССР в качестве учебника для студентов вузов, обучающихся по специальности «Метеорология» Г ш/ Ленинград Гидрометеоиздат 1985 У Д К [5 5 1.5 0 1 : 6 2 9,7 8 3 ] (0 7 5.8 ) Рецензенты: д-р геогр. на. »
2017 www.lib.knigi-x.ru — «Бесплатная электронная библиотека — электронные матриалы»
Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.