Вы находитесь на странице: 1из 561

Вступление от переводчика leshi: на мой взгляд, автор, не вдаваясь в особые

подробности, даёт добротные, общие начальные знания по Red Hat 8.


Перевод не профессиональный, делал для себя. Буду рад, если полученный
текст принесёт пользу для изучения темы. Номера страниц кликабельны.

Red Hat RHCSA ™ 8


Cert Guide
EX200
Сандер ван Вугт

Краткое содержание
Введение 5
Часть I. Выполнение основных задач управления системой

ГЛАВА 1 Установка Red Hat Enterprise Linux 14


ГЛАВА 2 Использование основных инструментов 33
ГЛАВА 3 Основные инструменты управления файлами 53
ГЛАВА 4 Работа с текстовыми файлами 74
ГЛАВА 5 Подключение к Red Hat Enterprise Linux 8 88
ГЛАВА 6 Управление пользователями и группами 105
ГЛАВА 7 Управление разрешениями 122
ГЛАВА 8 Настройка сети 142

Часть II: Операционные системы

ГЛАВА 9 Управление программным обеспечением 168


ГЛАВА 10 Управление процессами 200
ГЛАВА 11 Работа с Systemd 217
ГЛАВА 12 Планирование задач 231
ГЛАВА 13 Настройка ведения журнала 242
ГЛАВА 14 Управление хранилищем 262
ГЛАВА 15 Управление расширенным хранилищем 289

1
Часть III: Выполнение расширенных задач системного администрирования

ГЛАВА 16 Базовое управление ядром 312


ГЛАВА 17 Управление и понимание процедуры загрузки 326
ГЛАВА 18 Основные навыки поиска и устранения неисправностей 339
ГЛАВА 19 Введение в создание сценариев оболочки Bash 357

Часть IV: Управление сетевыми службами

ГЛАВА 20 Настройка SSH 373


ГЛАВА 21 Управление HTTP-сервисами Apache 384
ГЛАВА 22 Управление SELinux 396
ГЛАВА 23 Настройка межсетевого экрана 417
ГЛАВА 24 Доступ к сетевому хранилищу 428
ГЛАВА 25 Настройка служб времени 442
ГЛАВА 26 Заключительная подготовка 454
ГЛАВА 27 Предварительный теоретический экзамен 458

Часть V: Практические экзамены RHCSA RHEL 8

Практический экзамен RHCSA A 460


Практический экзамен RHCSA B 462

ПРИЛОЖЕНИЕ А Ответы на вопрос «Знаю ли я это уже?»

Тесты и вопросы для повторения 464


Глоссарий 489

Сетевые элементы:

Практический экзамен C RHCSA 512


Практический экзамен D RHCSA 514
ПРИЛОЖЕНИЕ B Таблицы памяти 516
ПРИЛОЖЕНИЕ C Таблицы памяти Ключи ответов 539

2
Об авторе
Сандер ван Вугт - независимый тренер, автор и консультант по Linux, живущий в
Нидерландах. Сандер является автором самой продаваемой системы сертификации Red Hat.
Полный видеокурс администратора (RHCSA) и сертифицированный инженер Red Hat
(RHCE). Он также написал множество книг на различные связанные с Linux темы и множество
статей для публикаций по Linux по всему миру.
Сандер преподает в классаъ Red Hat, Linux + и LFCS с 1994 года. Как консультант, он
специализируется на решениях Linux высокой доступности, производительности и оптимизации.
Вы можете найти более подробную информацию о Сандере на его веб-сайте по адресу
http://www.sandervanvugt.com.
Для получения дополнительной информации о сертификации RHCSA и дополнительных
ресурсах посетите страницу сертификации автора Red Hat по адресу http://www.rhatcert.com/.

Посвящение

Эта книга посвящена моей семье: Флоренс, Франку и Алексу. Вместе мы сделали великие
достижения за последний год.

Благодарности

Эта книга не могла бы быть написана без помощи всех людей, которые внесли свой вклад
к её созданию. Я хочу поблагодарить сотрудников Дениз Линкольн и Элли Брю. Мы много
работали вместе на протяжении многих лет, и эта книга - еще одна веха на нашем пути к успеху!

Мы хотим услышать от тебя!


Как читатель этой книги вы наш самый важный критик и комментатор. Мы ценим ваше
мнение и хотим знать, что мы делаем правильно, что мы могли бы сделать лучше, в каких областях
вы хотели бы, чтобы мы публиковались, и любые другие мудрые слова, которые вы готовы в
нашем пути.
Обратите внимание, что мы не можем помочь вам с техническими проблемами, связанными
с темой этой книги.
При написании не забудьте указать название и автора этой книги, а также свои имя и адрес
электронной почты. Мы внимательно рассмотрим ваши комментарии и поделимся ими с автором
и редакторами, работавшими над книгой.

Email: community@informit.com

Читательские услуги
Зарегистрируйте свою копию Red Hat RHCSA 8 Cert Guide на сайте
www.pearsonitcertification.com для удобного доступа к загрузкам, обновлениям и исправлениям по
мере их появления. Чтобы начать процесс регистрации, перейдите на сайт
www.pearsonitcertification.com/ зарегистрируйтесь и войдите в систему или создайте учетную
запись *. Введите ISBN продукта 9780135938133 и нажмите "Отправить". Когда процесс будет
завершен, вы найдете любой доступный бонус содержащийся в Зарегистрированных продуктах.

3
* Обязательно установите флажок, что вы хотели бы услышать от нас, чтобы получать
эксклюзивные скидки на будущие выпуски этого продукта.

4
Введение
Добро пожаловать в Red Hat RHCSA 8 Cert Guide. Экзамены Red Hat - одни из сложных в
бизнесе, и это руководство станет важным инструментом, который поможет вам подготовиться
сдать экзамен на сертифицированного системного администратора Red Hat (RHCSA).
Как инструктор с более чем 20-летним опытом преподавания Red Hat Enterprise Linux, я
много раз сдавал экзамен RHCSA (и экзамен RHCE), поэтому я могу быть в курсе хода экзамена,
и знаю, что появилось нового или что изменилось в экзаменах.
Я делюсь с вами своими знаниями в этом всеобъемлющем руководстве по сертификации,
чтобы вы получили руководство, необходимое для сдачи экзамена RHCSA.
Экзамен RHCSA недавно был обновлен для Red Hat Enterprise Linux 8. Эта книга содержит
все, что вам нужно знать, чтобы сдать экзамен RHCSA. Как вы увидите, это Руководство
охватывает все задачи экзамена и состоит из 27 глав, более чем 80 упражнений, 4 практических
экзамена, обширный глоссарий и часы видео-обучения. Этот Cert Guide - лучший ресурс, который
вы можете получить для подготовки и сдачи экзамена RHCSA.

Цели и методы
Чтобы изучить темы, описанные в этой книге, рекомендуется создать свою тестовую среду.
Вы не станете специалистом RHCSA без постоянной практики. В упражнениях, включенных в
каждую главу книги, вы найдете все примеры, которые вам нужны, чтобы понять, что находится
на экзамене и досконально изучить материал, необходимый для его прохождения. Упражнения в
главах дают пошаговые процедуры, которым вы можете следовать, чтобы найти рабочие решения,
которые даст вам возможность получить реальный опыт до сдачи экзамена.
Каждая глава также включает в себя одну или несколько лабораторных работ в конце главы.
Эти лаборатории задают вопросы, которые похожи на вопросы, которые могут возникнуть на
экзамене. Решения не предусмотрены для э тих лабораторных работ, и это сделано специально,
потому что вам необходимо тренироваться, проверяя свою работу перед экзаменом. На экзамене
вы тоже должны быть в состоянии убедиться, что решение работает должным образом.
Не забудьте также посетить сопутствующий веб-сайт https://www.rhatcert.com/ этой книги,
на котором представлены дополнительные практические экзамены, приложения и видеотренинги
- все ключевые компоненты обучения для сдачи экзамена.
Чтобы максимально упростить работу с заданиями в этой книге, полная лабораторная среда
- это сделать свое.
Эта книга содержит всю необходимую информацию для подготовки к сдаче
экзаменов. Но если вы хотите получить больше информации и практического опыта у меня есть
несколько обучающих видео, которые включают в себя следящие материалы:

▪ Полный видеокурс для сертифицированного системного администратора Red Hat (RHCSA),


3-е издание.
▪ Обновление до Red Hat Enterprise Linux (RHEL) 8 LiveLessons

Помимо этих продуктов, вы также можете оценить мой сайт http://rhatcert.com. Через этот
веб-сайт я предоставляю обновленную информацию обо всем, что полезно для кандидатов на
экзамены.
Я рекомендую вам зарегистрироваться на сайте, чтобы я мог отправлять вам сообщения о
важные обновления, которые я сделал доступными. Кроме того, вы будете время от времени

5
получать обновления видео на моем канале на YouTube, rhatcert Я надеюсь, что эти ресурсы
предоставят вам все необходимое для сдачи экзамена на сертифицированного системного
администратора Red Hat. Удачи!

Кому следует прочитать эту книгу?


Эта книга написана как руководство по подготовке к экзамену RHCSA. Это означает, что
вам следует прочитать её, если вы хотите увеличить свои шансы при сдаче экзамена RHCSA.
Второе назначение этой книги - справочное руководство для системных администраторов Red Hat.
Как администратор, вам понравятся объяснения и процедуры, описывающие, как добиться успеха
в Red Hat Enterprise Linux.
Итак, почему вам стоит подумать о сдаче экзамена RHCSA? Этот вопрос прост, Ответ:
Linux стала очень важной операционной системой, и квалифицированные специалисты
востребованы во всем мире. Если вы хотите работать профессионалом Linux и докажите свои
навыки, сертификат RHCSA действительно помогает и является одним из самых востребованные
сертификаты в сфере IT. Наличие этого сертификата значительно увеличивает ваши шансы стать
профессионалом Linux.

Как организована эта книга


Эта книга представляет собой справочное руководство, которое поможет вам
подготовиться к экзамену RHCSA. Если вы новичок в этих темах, вы можете просто прочитать их
от корки до корки. Вы также можете прочтите отдельные главы, которые вам понадобятся, чтобы
отточить свои навыки в этой книге.
Каждая глава начинается с вопроса «Знаю ли я это уже?» викторина, которая задает
вопросы около десяти тем, затронутых в этой главе, и предоставляет простой инструмент для
проверки знакомы ли вы с темами, затронутыми в этой главе.
В книге также представлены четыре практических экзамена RHCSA; это важная часть к
подготовке к настоящему экзамену. Возможно, вы сможете дать правильный ответ на вопросы
главы с множественным выбором, но это не значит, что вы можете создавать конфигурации при
сдаче экзамена. В сопутствующие файлы входят два дополнительные практические экзамена, два
часа видео от сертифицированного системного администратора Red Hat (RHCSA) Полный
видеокурс, 3-е издание и дополнительные приложения. Ниже описаны темы, которые
рассматриваются в главах:

Часть I: Выполнение базовых задач управления системой


▪ Глава 1: Установка Red Hat Enterprise Linux: В этой главе вы узнаете, как установить
Red Hat Enterprise Linux Server (RHEL). В ней также показано, как создать среду, которая
может быть использована для выполнения лабораторных работ и других упражнений в этой
книге.
▪ Глава 2: Использование основных инструментов. В этой главе рассматриваются
некоторые основные возможности Linux, включая работу с оболочкой и командами Linux.
Эта глава особенно важна, если вы новичок в работе с Linux.
▪ Глава 3: Основные инструменты управления файлами. В этой главе вы узнаете, как
работать с инструментами для управления файловой системой Linux. Это важный навык,
потому что все в Linux очень ориентировано на файловую систему.
▪ Глава 4: Работа с текстовыми файлами: В этой главе вы узнаете, как работать с
текстовыми файлами. В этой главе рассказывается, как создавать текстовые файлы, а также
как, искать конкретное содержимое в разных текстовых файлах.
6
▪ Глава 5: Подключение к Red Hat Enterprise Linux 8: Эта глава описывает различные
методы, которые можно использовать для подключения к RHEL 8. В ней объясняется как
локальный, так и удаленный вход, а также различные типы терминалов, используемые для
этой цели.
▪ Глава 6. Управление пользователями и группами. В Linux пользователи — это
сущности, которые могут использоваться людьми или процессами, которым необходим
доступ к определенным ресурсам. В этой главе объясняется, как создавать пользователей и
упростить управление пользователями с помощью работы с группами.
▪ Глава 7. Управление разрешениями. В этой главе вы узнаете, как управлять
разрешениями Linux с помощью разрешений на чтение, запись и выполнение, а также с
помощью специальных разрешений и списков контроля доступа.
▪ Глава 8: Настройка сети: сервер бесполезен, если он не подключен к сети. В этой главе
вы изучите основные навыки, необходимые для управления сетевыми подключениями.

Часть II: Операционные системы

▪ Глава 9: Управление программным обеспечением: Red Hat предлагает продвинутую


систему для управления программными пакетами. В этой главе рассказывается, как это
работает.
▪ Глава 10: Управление процессами. Как администратор, вы должны знать, как работать с
различными задачами, которые могут выполняться в Linux. В этой главе показано, как это
сделать, посылая сигналы процессам и изменяя приоритет процесса.
▪ Глава 11: Работа с Systemd: Systemd - стандартный менеджер служб и многое другое в
RHEL 8. В этой главе вы узнаете, как управлять службами с помощью Systemd.
▪ Глава 12: Планирование задач. В этой главе вы узнаете, как запланировать выполнение
задачи в наиболее подходящий для вас момент.
▪ Глава 13: Настройка ведения журнала. Как администратор, вы должны знать, что
происходит на вашем сервере. Для этого используются службы rsyslogd и journald. В этой
главе объясняется, как с ними работать.
▪ Глава 14: Управление хранилищем. Управление хранилищем - важный навык, которым
должен овладеть администратор Linux. В этой главе объясняется, как жесткие диски могут
быть организованы в разделы и как эти разделы могут быть смонтированы в файловой
системе.
▪ Глава 15: Управление расширенным хранилищем: разделение дисков на разделы не
очень гибкое. Если вам нужна оптимальная гибкость, вам потребуются логические тома
LVM, которые используются по умолчанию при установке Red Hat Enterprise Linux. В этой
главе показано, как создавать эти логические тома и управлять ими. Вы также узнаете, как
работать с новыми технологиями хранения Stratis и VDO.

Часть III: Выполнение расширенных задач системного администрирования

▪ Глава 16. Базовое управление ядром: ядро является частью


▪ операционная система, которая заботится об оборудовании. В этой главе объясняется, как
это работает и что администратор может сделать для анализа текущей конфигурации и
управления аппаратными устройствами в случае, если автоматическая процедура не
работает.
▪ Глава 17: Управление и понимание процедуры загрузки: много что происходит, когда
загружается сервер Linux. В этой главе подробно описывается процедура загрузки и
рассматриваются важные аспекты процедуры загрузки, включая загрузчик GRUB 2 и
диспетчер служб Systemd.
▪ Глава 18: Основные навыки устранения неполадок: иногда неправильная конфигурация
может привести к тому, что ваш сервер больше не загружается должным образом. В этой

7
главе рассказывается о некоторых методах, которые можно применить, когда обычный
запуск сервера невозможен.
▪ Глава 19: Введение в создание сценариев оболочки Bash. Некоторые задачи являются
сложными и требуют повторного выполнения. Такие задачи - идеальные кандидаты для
оптимизации с помощью сценариев оболочки. В этой главе вы узнаете, как использовать
условные структуры в сценариях оболочки для эффективной автоматизации задач.

Часть IV: Управление сетевыми службами


▪ Глава 20. Настройка SSH: Secure Shell (SSH) - одна из основных служб, которая включена
в RHEL 8 по умолчанию. Использование SSH позволяет удаленно подключаться к серверу.
В этой главе вы узнаете, как настроить SSH-сервер.
▪ Глава 21: Управление HTTP-службами Apache: Apache - наиболее часто используемая
служба в Linux. В этой главе показано, как настроить Apache для виртуальных хостов
Apache.
▪ Глава 22: Управление SELinux. Многие администраторы Linux знают только, как его
выключить, потому что SELinux сложно управлять, и часто именно поэтому службы
недоступны. В этой главе вы узнаете, как работает SELinux и что нужно сделать, чтобы
настроить его, чтобы ваши службы продолжали работать и были намного лучше защищены
от возможных злоупотреблений.
▪ Глава 23. Настройка брандмауэра. Помимо SELinux, в RHEL 8 есть брандмауэр как одна
из основных мер безопасности, которая реализуется службой firewalld. В этой главе вы
узнаете, как организована эта служба и что вы можете сделать, чтобы заблокировать или
разрешить доступ к определенным службам.
▪ Глава 24: Доступ к сетевому хранилищу. При работе в серверной среде управление
удаленными подключёнными дисками является важным навыком. Удаленное
монтирование позволяет клиентскому компьютеру получить доступ к файловой системе,
предлагаемой через удаленный сервер. Удаленные подключение к дискам могут быть
выполнены с помощью постоянного монтирования в /etc/fstab или с помощью службы
automount. В этой главе рассказывается, как настроить любой из них, и показано, как
настроить FTP-сервер.
▪ Глава 25: Настройка служб времени. Для многих служб, таких как базы данных и
Kerberos, важно иметь правильное время. Вот почему вы как администратор должны уметь
управлять временем в Linux. В этой главе вы узнаете, как это сделать.
▪ Глава 26: Заключительная подготовка: В этой главе вы получите несколько заданий для
подготовки к выпускному экзамену. Он содержит множество советов, которые помогут вам
максимально увеличить ваши шансы на сдачу экзамена RHCSA.
▪ Глава 27: Теоретический предварительный экзамен. В этой главе представлен
теоретический предварительный оценочный экзамен RHCSA, который поможет вам
оценить свои навыки и определить наилучший путь для подготовки к нему.

Часть V: Практические экзамены RHCSA RHEL 8


В этой части представлены два практических экзамена RHCSA, чтобы вы могли
дополнительно проверить свои знания и навыки перед сдачей экзаменов. Два дополнительных
экзамена находятся на сопутствующем веб-сайте.

Как пользоваться этой книгой

Чтобы помочь вам распределить учебное время в изучение книги, определю основные
моменты в главах, которые помогут вам с максимальной пользой использовать свое время:

8
▪ «Знаю ли я это уже?» Опрос: каждая глава начинается с проверочного опроса, который
помогает определить количество времени, которое вам нужно потратить на изучение этой
главы, и конкретные темы, на которых вам нужно сосредоточиться.
▪ Основные темы: Это основные разделы каждой главы. Они объясняют протоколы,
концепции и конфигурацию тем в этой главе.
▪ Задачи подготовки к экзамену: После раздела «Основные темы» каждой главы в разделе
«Задачи подготовки к экзамену» перечислен ряд учебных заданий, которые вы должны
выполнить. Каждая глава включает в себя упражнения, которые имеют наибольший смысл
для изучения тем в этой главе. Данное действие включают следующее:

✓ Просмотрите все ключевые темы: значок ключевой темы отображается рядом с


наиболее важные пункты в разделе «Основные темы» главы. В упражнении «Обзор
всех ключевых тем» перечислены ключевые темы главы и соответствующие им
номера страниц. Хотя на экзамене может быть содержание всей главы, вы
обязательно должны знать информацию, указанную в каждой ключевой теме.
✓ Заполненные таблицы и списки по памяти: чтобы помочь вам запоминать и
запоминать некоторые факты, многие из наиболее важных списков и таблиц из
главы включены в документ на сопутствующем веб-сайте. Этот документ
предлагает только частичную информацию, позволяющую вам заполнить таблицу
или список.
✓ Определите ключевые термины. В этом разделе перечислены наиболее важные
термины из главы с просьбой написать краткое определение и сравнить свои ответ
в глоссарии в конце книги.

▪ Контрольные вопросы: Вопросы в конце каждой главы позволяют лучше понять темы,
которые обсуждались в главе.
▪ Лабораторные работы в конце главы: настоящие лаборатории дают вам правильное
представление о том, что экзаменационное задание выглядит так. Лабораторные работы в
конце главы - это ваш первый шаг в понимание, как на самом деле выглядят
экзаменационные задания.

Другие особенности
В дополнение к особенностям каждой из основных глав, эта книга в целом содержит
дополнительные учебные ресурсы на сопутствующем веб-сайте, в том числе следующие:
▪ Четыре практических экзамена: Red Hat RHCSA 8 Cert Guide включает четыре
практических экзамена. Вы найдете два в книге и два дополнительных экзамена на
сопутствующем веб-сайте; они представлены в виде PDF-файлов, чтобы вы могли
дополнительно попрактиковаться в проверке своих навыков перед сдачей экзамена в
испытательном центре.
▪ Более двух часов обучающего видео. Дополнительный веб-сайт содержит более двух
часов инструкций из пользующегося спросом полного видеокурса для
сертифицированных системных администраторов Red Hat (RHCSA), 3-е издание.

Задача экзамена для сопоставления глав


В таблице 1 подробно описаны все задачи экзамена RHCSA в этой книге, чтобы вам было
легче составить успешный план сдачи экзамена.

Далее - сопоставление глав.

В таблице 1 подробно описаны все задачи экзамена RHCSA в этой книге, чтобы вам было
легче составить успешный план сдачи экзамена.

9
Таблица 1 Обзор задач RHCSA

Задача Название главы Глава


Получите доступ к приглашению оболочки Использование основных 2
и введите команды с правильным инструментов
синтаксисом
Использовать перенаправление ввода- Использование основных 2
вывода (>, >>, |, 2> и т. Д.) инструментов
Используйте grep и регулярные выражения Работа с текстовыми файлами 4
для анализировать текст
Доступ к удаленным системам с помощью Подключение к Red Hat 5
SSH Enterprise Linux 8
Авторизуйтесь и переключайте Подключение к Red Hat 5
пользователей multiuser targets Enterprise Linux 8
Архивировать, сжимать, распаковывать и Основные инструменты 3
распаковывать файлы с помощью tar, star, управления файлами
gzip, и bzip2
Создавать и редактировать текстовые Работа с текстовыми файлами 4
файлы
Создавать, удалять, копировать и Основные инструменты 3
перемещать файлы и каталоги управления файлами
Создавайте жесткие и символьные ссылки Основные инструменты 3
управления файлами
Список, установка и изменение Управление разрешениями 7
стандартных разрешения ugo/rwx
Найдите, прочтите и используйте систему Использование основных 2
документация, включая man, info, и файлы инструментов
в /usr/share/doc
Загрузка, перезагрузка и нормальное Подключение к Red Hat 5
выключение системы Enterprise Linux 8
Загрузите системы в разные цели (targets) Основные навыки устранения 18
вручную неполадок
Прервать процесс загрузки, чтобы Основные навыки устранения 18
получить доступ к системе. неполадок
Выявление процессов, интенсивно Управление процессами 10
использующих процессор/память, и
выполнить kill нужного процесса.
Настроить планирование процессов Управление процессами 10

10
Найдите и интерпретируйте лог файлы и Настройка ведения журнала 13
журналы
Сохранять системные журналы Настройка ведения журнала 13
Запуск, остановка и проверка статуса Настройка сети 8
сетевых сервисов
Безопасная передача файлов между Подключение к Red Hat 5
системами Enterprise Linux 8
Список, создание и удаление разделов на Управление хранилищем 14
MBR и GPT диски
Создание и удаление физических томов Управление расширенным 15
хранилищем
Назначение физических томов группам Управление расширенным 15
томов хранилищем
Создание и удаление логических томов Управление расширенным 15
хранилищем
Настроить системы для монтирования Управление хранилищем 14
файловых систем при загрузке по
универсально уникальному ID (UUID) или
метки (якрлыка)
Добавить новые разделы и логические Управление хранилищем 14
тома, а также раздела подкачки swop
неразрушающим методом
Создавать, монтировать, размонтировать и Управление хранилищем 14
использовать файловые системы vfat, ext4
и xfs
Смонтировать и размонтировать сетевую Доступ к сетевому хранилищу 24
файловую систему, использующие NFS
Расширение существующих логических Управление расширенным 15
томов хранилищем
Создать и настроить set-GID на каталоги Управление разрешениями 7
для совместной работы
Настройка сжатия диска Управление расширенным 15
хранилищем
Управление многоуровневым хранилищем Управление расширенным 15
хранилищем
Диагностика и исправление проблем с Управление разрешениями 7
разрешениями файла
Планирование задач с помощью at и cron. Планирование задач 12

11
Запускать и останавливать службы, Работа с Systemd 11
настраивать службы для автоматического
запуска при загрузке
Настройте системы для загрузки Управление и понимание 17
определенную цель(target) автоматически процедуры загрузки
Настройка клиентов службы времени Настройка служб времени 25
Установите и обновите пакеты Управление программным 9
программного обеспечения из Red Hat обеспечением
Network, удаленного репозитория, или из
локальной файловой системы
Работа с package module streams Управление ПО 9
Измените системный загрузчик. Управление и понимание 17
Процедура загрузки
Настройка адресов IPv4 и IPv6 Настройка сети 8
Настройка разрешения имени хоста Настройка сети 8
Настройте сетевые службы для Настройка сети 8
автоматического запуска при загрузке
Ограничьте доступ к сети с помощью Настройка межсетевого экрана 23
firewall-cmd/ firewall
Создание, удаление и изменение аккаунта Управление пользователями и 6
локального пользователя группами
Изменение паролей и настройка Управление пользователями и 6
устаревания паролей для локальных группами
учетных записей пользователей
Создание, удаление и изменение Управление пользователями и 6
локальных групп и членство в группах группами
Настройка доступа суперпользователя Управление пользователями и 6
группами
Управление безопасностью
Настройте параметры брандмауэра с Настройка межсетевого экрана 23
помощью firewall-cmd/firewalld
Настроить аутентификацию на основе Настройка SSH 20
ключей для SSH
Установите enforcing и permissive режимы Управление SELinux 22
для SELinux
Перечислить и идентифицировать файл Управление SELinux 22
SELinux и контекст процесса

12
Восстановить контексты файлов по Управление SELinux 22
умолчанию
Используйте логические параметры для Управление SELinux 22
изменения системы настройки SELinux
Процедура диагностики и адресации Управление SELinux 22
SELinux нарушения политики

Где находятся файлы сопутствующего контента?

Зарегистрируйте эту печатную версию Red Hat RHCSA 8 Cert Guide, чтобы получить доступ
к бонусу контент онлайн.
К этой печатной версии этого названия прилагается веб-сайт с сопутствующим контентом.
У тебя есть онлайн-доступ к этим файлам, выполнив следующие действия:

Перейдите на сайт www.pearsonITcertification.com/register и войдите в систему или создайте


новый аккаунт.
Введите ISBN: 9780135938133.
Ответьте на контрольный вопрос как доказательство покупки.
Щелкните ссылку «Доступ к бонусному контенту» в разделе «Зарегистрированные
продукты» на странице своей учетной записи, чтобы перейти на страницу, где доступен
загружаемый контент.

Обратите внимание, что многие файлы сопутствующего контента могут быть очень
большими, особенно файлы изображений и видео.
Если вам не удается найти файлы для этого заголовка, следуя инструкциям, посетите
www.pearsonITcertification.com/contact и выберите параметр «Проблемы сайта/Комментарии»
(Problems/Comments). Представитель службы поддержки клиентов поможет вам.
Эта книга также включает эксклюзивное предложение на 70% скидку на Полный видеокурс
Red Hat Certified System Administrator (RHCSA), 3rd Edition.

13
Глава 1

В этой главе рассматриваются следующие темы:

▪ Подготовка к установке Red Hat Enterprise Linux


▪ Выполнение ручной установки

В этой главе не рассматриваются задачи для экзамена.

Чтобы узнать, как работать с Red Hat Enterprise Linux в качестве администратора, вам
сначала необходимо установить его. В этой главе вы узнаете, как создать среду, в которой вы
сможете выполнять все упражнения из этой книги.
На экзамене RHCSA вам не нужно устанавливать Red Hat Enterprise Linux.
Однако, поскольку вам необходимо установить среду, позволяющую протестировать все
элементы, обсуждаемые в этой книге, вы начнете с установки Red Hat Enterprise Linux в этой главе.
В этой главе описаны все шаги, с которыми вы столкнетесь при установке RHEL 8. В ней также
обсуждается, как настроить среду, в которой вы можете выполнять все упражнения из этой книги.
Поскольку Red Hat Enterprise Linux содержит зарегистрированные торговые марки, я
покажу установку на примере CentOS. Единственное, что отличается в CentOS, - это брэндинг,
который в CentOS можно использовать бесплатно. Все программное обеспечение в CentOS такое
же, как и в Red Hat Enterprise Linux. Поскольку CentOS не содержит зарегистрированных товарных
знаков, это распространенное и популярное решение, которое позволяет людям научиться
работать с Red Hat Enterprise Linux.

Установка Red Hat Enterprise Linux

Опрос «Знаю ли я это уже?»

Опрос «Знаю ли я это уже?» позволяет вам оценить, следует ли вам полностью прочитать
эту главу или перейти к разделу «Задачи подготовки к экзамену». Если вы сомневаетесь в своих
ответах на эти вопросы или в собственной оценке своих знаний по темам, прочитайте всю главу.
В Таблице 1-1 перечислены основные заголовки в этой главе и соответствующие им вопросы
«Знаю ли я это уже?» опроса. Вы можете найти ответы в Приложении «A», «Ответы на тесты
«Знаю ли я это уже?» И «Контрольные вопросы».

Таблица 1-1 «Знаю ли я это уже?» Сопоставление раздела с вопросом

Основные темы раздела Вопросы


Подготовка к установке Red Hat Enterprise Linux 1, 2, 6
Выполнение ручной установки 3–5, 7–10

1. Вы хотите установить тестовую среду для практики к экзамену RHCSA.

Каких из следующих дистрибутивов вам следует избегать?

a. Самая последняя версия Fedora

14
b. CentOS 8
c. Scientific Linux 8
d. RHEL 8

2. Какие из следующих функций доступны как в RHEL, так и в CentOS?

a. Сертификация оборудования
b. Сертификация программного обеспечения
c. Право звонить в службу поддержки
d. Программные обновления

3. Почему вам следует устанавливать сервер с графическим интерфейсом пользователя?

a. Чтобы подготовиться к RHCSA, вам понадобятся некоторые инструменты, которые


работают только в графическом интерфейсе.
b. Минимальная установка не завершена.
c. Если вы не установите графический интерфейс сразу, его будет сложно добавить позже.
d. Сервер с графическим интерфейсом - это установка по умолчанию, рекомендованная Red
Hat.

4. Какая файловая система по умолчанию используется в RHEL 8?

a. Ext3
b. Ext4
c. XFS
d. Btrfs

5. Какая функция поддерживается в Ext4, но не в XFS?

a. Уменьшение файловой системы


b. Снимки (Snapshots)
c. Квота файловой системы
d. Максимальный размер превышает 2 ТБ

6. Что из перечисленного не является причиной, по которой следует избегать Fedora?

a. Fedora содержит функции, которые могут быть доступны или недоступны в будущих
выпусков RHEL.
b. Дистрибутивы Fedora находятся на более позднем этапе разработки, чем RHEL.
c. Программное обеспечение Fedora нестабильно.
d. Программное обеспечение в Fedora может отличаться от того же программного
обеспечения в RHEL.

7. Какие из следующих параметров недоступны в сводке на экране по установке?

a. Время и дата
b. Клавиатура
c. Языковая поддержка
d. Устранение неполадок существующей установки

8. После установки пароля root, который вы хотите использовать, вы не сможете


продолжить установку. Какая наиболее вероятная причина?

a. Пароль небезопасен, и незащищенные пароли не принимаются.

15
b. Пароль не соответствует требованиям политики паролей.
c. Также вам необходимо создать пользователя.
d. Если используется незащищенный пароль, необходимо дважды нажать Готово.

9. Какое утверждение о системном языке не соответствует действительности?

a. Вы можете изменить язык системы в окне по установке.


b. Вы можете изменить язык системы сразу после загрузки из установочного носителя.
c. При настройке языка установки вы также можете выбрать раскладку клавиатуры.
d. После установки нельзя изменить языковые настройки.

10. При установке сервера, использующего логические тома LVM, вы получите как
минимум
три тома хранения (разделы или LVM). Что из следующего не является частью из них?

a. /boot
b. /var
c. /
d. Swap

Основные Темы

Подготовка к установке Red Hat Enterprise Linux

Перед тем, как вы начнете устанавливать Red Hat Enterprise Linux, будет полезно немного
подготовиться, как описано в этом разделе. Сначала вы узнаете, что такое Red Hat Enterprise Linux.
Затем вы узнаете, как получить доступ к программному обеспечению. Затем мы обсудим
надстройки Red Hat Enterprise Linux, а также требования к установке. После того, как вы узнаете
все об этом, вы перейдете к следующему разделу, где узнаете, как установить Red Hat Enterprise
Linux.

Что такое Red Hat Enterprise Linux 8 Server?

RHEL 8 - это дистрибутив Linux. Как вы, наверное, знаете, Linux - это бесплатная
операционная система. Это означает, что исходный код всех программ доступен бесплатно.
Однако некоторые корпоративные дистрибутивы Linux продаются как коммерческие продукты со
встроенной поддержкой и обслуживанием, как в случае с RHEL 8; бесплатные загрузки
RHEL 8 ограничены. Доступна 60-дневная ознакомительная версия, или же вы можете
зарегистрироваться для получения бесплатной подписки разработчика Red Hat на
https://developers.redhat.com.
Чтобы использовать RHEL 8, вам нужна подписка. Эта подписка дает вам право на
несколько дополнительных элементов, таких как поддержка и исправления. Когда вы платите за
Red Hat Enterprise Linux, Red Hat предлагает вам поддерживаемую операционную систему
Enterprise Linux, которая имеет некоторые ключевые преимущества, которые являются обычным
требованием в корпоративных средах:

▪ Отслеживаемые обновления и исправления, прошедшие тщательную процедуру


тестирования.

16
▪ Различные уровни поддержки и помощи, в зависимости от того, какой тип подписки вы
приобрели.
▪ Сертифицированная операционная система, которая гарантированно работает и
поддерживается на определенных моделях оборудования.
▪ Сертифицированная платформа для запуска корпоративных приложений, таких как
промежуточное ПО SAP, Oracle Database и многие другие.
▪ Доступ к клиентскому порталу Red Hat по адресу https://access.redhat.com, где вы можете
найти очень подробную документацию, доступную только для клиентов.

В Red Hat понимает, что не все потенциальные клиенты заинтересованы в корпоративных


функциях. Вот почему Red Hat также участвует в разработке двух бесплатных альтернативах:

▪ CentOS 8
▪ Fedora

Больше вы узнаете в следующих разделах этой главы.

Получение программного обеспечения

Есть разные способы получить программное обеспечение, необходимое для выполнения


всех упражнений из этой книги. В этом разделе вы узнаете, какие у вас есть варианты.

Использование Red Hat Enterprise Linux

Если вы хотите научиться работать с различными программами, инструментами и


службами, которые предоставляются в Red Hat Enterprise Linux 8, самый простой способ -
использовать программу разработчика, предлагаемую Red Hat. Перейдите на
https://developers.redhat.com, чтобы зарегистрироваться в бесплатной программе для
разработчиков. Эта программа дает вам бесплатный доступ к Red Hat Enterprise Linux, что
позволяет вам работать с RHEL в вашей собственной тестовой среде, не приобретая ее.
Самое важное, что вы получаете в официальном выпуске сервера RHEL 8, - это доступ к
порталу клиентов Red Hat. Через этот портал у вас есть доступ к разнообразной информации о
RHEL в дополнение к предоставленным обновлениям через Red Hat Network (RHN). В частности,
бесценна база знаний Red Hat; вы можете использовать его, чтобы найти ответы на многие общие
проблемы, которые были опубликованы консультантами Red Hat.

Использование CentOS

CentOS - это операционная система Community Enterprise. CentOS начиналась как


перекомпилированная версия RHEL, при этом все элементы, которые не были доступны
бесплатно, были удалены из программного обеспечения RHEL. По сути, было изменено просто
название, а логотип Red Hat (который является проприетарным) был удален из всех программных
пакетов CentOS. В результате, все еще доступная сегодня операционная система CentOS 8,
представляет собой, тот же RHEL которая предлагает те же функциональные возможности, , но
доступна бесплатно (и без услуг корпоративной поддержки).
В 2014 году Red Hat включила CentOS с намерением предложить что-то клиентам, которые
еще не готовы к корпоративной (Enterprise) поддержке. Основная идея заключается в том, что в
конечном итоге многим клиентам потребуется корпоративная поддержка, потому что их
дистрибутив Linux станет все более важным. Отдавая CentOS бесплатно прежде бренда Red Hat,
ожидается естественным, что клиенты обновятся до Red Hat Enterprise Linux.

17
CentOS 8 также является отличным выбором для работы с этой книгой; он предлагает все,
что может предложить RHEL, но вам не нужно за это платить. Вы можете загрузить CentOS 8 с
https://www.centos.org. Обратите внимание, что CentOS не всегда имеет самую последнюю версию
программного обеспечения RHEL и может отставать от последней версии RHEL от пары недель
до пары месяцев.

Другие дистрибутивы

CentOS - не единственный бесплатный дистрибутив, который предлагает Red Hat. Другим


широко используемым дистрибутивом Linux, который был бесплатным, но основанным на пакетах
Red Hat Enterprise Linux, был Scientific Linux, дистрибутив Linux, разработанный в Fermi National
Accelerator Laboratory. Scientific Linux больше не выпускается, и нет версии Scientific Linux,
которая соответствует программному обеспечению Red Hat Enterprise Linux 8.
Другой дистрибутив Linux, тесно связанный с Red Hat Enterprise Linux, - это Fedora,
дистрибутив Linux с полностью открытым исходным кодом, он доступен бесплатно. В Red Hat
есть много сотрудников, которые вносят свой вклад в проект Fedora, потому что Red Hat
использует Fedora в качестве платформы разработки для RHEL. В результате Fedora предлагает
доступ к новейшему и лучшему программному обеспечению, которое в большинстве случаев
является гораздо более новым, чем тщательно протестированные программные компоненты RHEL
(вот почему вы не должны использовать Fedora для подготовки к экзамену RCHSA). Fedora также
используется Red Hat в качестве испытательной площадки для новых функций, которые могут
быть включены или не включены в будущие выпуски RHEL. Если бы вы выбрали Fedora, вы бы
работали с элементами, недоступными в RHEL, а это значит, что на экзамене вам пришлось бы
действовать по-другому. Так что не используйте это!

Понимание доступа к репозиториям

Важным отличием RHEL от других дистрибутивов является доступ к репозиторию.


Репозиторий - это источник пакетов для установки, используемый для установки программного
обеспечения. Если вы используюте бесплатное программное обеспечение, такое как CentOS,
правильные репозитории устанавливаются автоматически, и никаких дополнительных действий
не требуется. Если вы используете Red Hat Enterprise Linux с подпиской вам нужно будет
использовать программное обеспечение Subscription Manager, чтобы получить доступ к
репозиториям Red Hat Enterprise Linux.

СОВЕТ
Если вы устанавливаете Red Hat с установочного диска RHEL 8, но не регистрируете его, у вас не
будет доступа к репозиторию, поэтому вам нужно знать, как настроить доступ к репозиторию
вручную. В главе 9 «Управление программным обеспечением» вы узнаете, как это сделать.

Требования к установке

RHEL 8 можно установить, как на физическом, так и на виртуальном оборудовании. Для


доступности определенных функций не имеет значения, какой тип оборудования используется,
если выполняются следующие условия:

▪ 1 ГиБ ОЗУ
▪ Жесткий диск емкостью 10 ГиБ

18
▪ Сетевая карта

СОВЕТ
Один ГБ составляет 1000 × 1000 × 1000 байт. Производители оборудования обычно работают с
числами, кратными 1000; однако это не соответствует принципу работы компьютера, поэтому
большая часть компьютерного программного обеспечения работает с KiB, MiB и GiB. В этом
случае один ГиБ равен 1024 × 1024 × 1024 байта (что составляет 1,07 ГБ).

Приведенные выше требования позволяют запустить минимальную установку RHEL, но


если вы хотите создать среду, которая позволит вам выполнять все упражнения, описанные в этой
книге, убедитесь, что выполняются следующие минимальные требования:

▪ Поддержка 64-битной платформы


▪ 2 ГиБ ОЗУ
▪ Жесткий диск емкостью 20 ГиБ
▪ DVD-привод, виртуальный или физический.
▪ Сетевая карта

ПРИМЕЧАНИЕ.
Некоторые ресурсы в Интернете могут упоминать другие минимальные требования. Для экзамена
RHCSA это не проблема.

Руководство и описание среды для сертификации

Чтобы настроить среду для работы с этой книгой, я предлагаю вам начать с установки
одного сервера CentOS или RHEL 8, следуя инструкциям в следующем разделе. Для глав в Части
IV «Управление сетевыми службами» полезно если у вас есть второй сервер. Второй сервер не
имеет особых требований.
Чтобы настроить среду для подготовки к получению сертификата, я рекомендую вам
использовать решение для виртуализация настольных компьютеров, например, VMware
Workstation (или Fusion, если вы используете Mac) или Oracle VirtualBox. Преимущество
использования одного из них заключается в том, что вы можете использовать моментальные
снимки (snapshots), что позволяет легко вернуться к предыдущему состоянию конфигурации.
Другие решения виртуализации, такие как KVM, также поддерживаются, но поскольку KVM
работает в Linux, вам потребуются уже некоторые знания Linux, если вы хотите начать с KVM. Вы
также можете установить на реальном оборудовании, но это решение будет менее гибким.

СОВЕТ
Во всех главах вы найдете пошаговые упражнения, которые расскажут вам, что именно нужно
делать для настройки определенных служб. В конце всех глав вы найдете лабораторные работы,
которые предоставляют задания, очень похожие на типы заданий, с которыми вы столкнетесь на
экзамене. Чтобы получить максимальную отдачу от лабораторных работ в конце главы,
рекомендуется начинать с чистой среды. Самый эффективный способ сделать это - создать
моментальные снимки состояния ваших виртуальных машин в начале главы. Это позволяет вам
вернуться в состояние, в котором были ваши виртуальные машины, когда вы начали работу над
главой, сохранив при этом всю работу, которую вы проделали в предыдущих главах.

Выполнение ручной установки


Даже если RHEL и CentOS 8 можно установить с другого носителя, такого как
установочный сервер или USB-ключ, обычно установка начинается с установочного DVD-диска
или, при работе на виртуальной машине, с установочного DVD-файла ISO. Итак, возьмите

19
установочный DVD-диск (или его ISO-образ) и загрузите компьютер, на который вы хотите
установить программное обеспечение. Следующие шаги описывают, как действовать с того
момента, как вы увидите загрузочный экран с установочного DVD. Обратите внимание, что в
пошагово описано установка CentOS 8, и все показаное на рисунках также основано на CentOS 8.
Тем не менее, процедура применяется так же и к установке Red Hat Enterprise Linux 8:

Шаг 1.
После загрузки с DVD вы увидите меню загрузки CentOS 8. В меню вы можете выбрать
один из нескольких вариантов:

▪ Установить CentOS 8.0.0: Выберите этот вариант для обычной установки.


▪ Проверить этот носитель и установить CentOS 8.0.0: Выберите это, если перед
установкой вы хотите протестировать установочный носитель. Учтите, что это займет
много времени.
▪ Устранение неполадок: Выберите этот вариант для некоторых вариантов устранения
неполадок. Эта опция полезна, если вы не можете нормально загрузиться с жесткого диска
вашего компьютера.
При запуске программы установки вы можете передать ядру параметры загрузки, чтобы
включить или отключить определенные функции. Чтобы получить доступ к приглашению, в
котором вы можете добавить эти параметры, нажмите Tab в меню установки.
Здесь показана строка загрузки ядра, которая будет использоваться, и предложена опция для
изменения параметров загрузки.

Шаг 2.
Чтобы начать обычную установку, выберите вариант загрузки «Установить CentOS 8.0.0»
(Install CentOS 8.0.0)(см. Рисунок 1-1). Сей час загрузится система установки, и вы сможете
продолжить в течение минуты.

РИСУНОК 1-1. Выберите «Установить CentOS 8.0.0» (Install CentOS 8.0.0), чтобы начать
установку.

20
Шаг 3
После загрузки базовой системы, из которой вы будете выполнять установку, вы увидите экран
«Добро пожаловать в CentOS 8.0.0». На этом экране вы можете выбрать язык и настройку
клавиатуры. Для экзамена RHCSA нет смысла выбирать что-либо, кроме английского. Если вы
работаете с неамериканской клавиатурой, на этом экране вы можете выбрать настройка
клавиатуры. Обязательно выберите соответствующую настройку клавиатуры, после чего нажмите
«Продолжить» (Continue), чтобы продолжить (см. Рисунок 1-2).
РИСУНОК 1-2 Выберите соответствующий язык и настройку клавиатуры, прежде чем
продолжить

РИСУНОК 1-3. Укажите полную конфигурацию вашего сервера при установке в окне «Обзор
установки» (Installation Summary)

21
Шаг 4
После выбора настроек клавиатуры и языка вы увидите экран «Сводная информация об
установке» (см. Рисунок 1-3). На этом экране вы указываете все настройки, которые хотите
использовать. На этом экране у вас есть несколько различных вариантов:
▪ Клавиатура: используется для изменения расположения клавиатуры.
▪ Языковая поддержка: используется для добавления поддержки дополнительных языков.
▪ Время и дата: используются для указания текущего времени и даты, а также часового
пояса.
▪ Источник установки: используется для указания источника установки. Обычно вы
выполняете установку с установочного DVD.
▪ Выбор программного обеспечения: предлагает различные шаблоны установки, чтобы
легко установить набор пакетов по умолчанию.
▪ Место установки: используется для определения диска (дисков) для копирования файлов
во время установки.
▪ KDUMP: позволяет использовать ядро KDUMP. Это ядро, которое создает дамп ядра, если
что-то пойдет не так.
▪ Сеть и имя хоста: установите здесь IP-адрес и соответствующие настройки.
▪ Политика безопасности: предлагает ограниченный набор политик безопасности,
позволяющих легко усилить защиту сервера.
▪ Назначение системы: позволяет указать, для какой цели используется эта система. Эту
информацию можно легко передать в службу поддержки Red Hat для облегчения любых
случаев, когда требуется поддержка.
На этом экране «Сводная информация об установке» вы можете увидеть, нужно ли еще
настраивать элементы - эти элементы отмечены восклицательным знаком, а описание - красным
текстом. Пока существуют какие-либо проблемы, вы не можете нажимать кнопку «Начать
установку» (т. е. Она отключена). Во всех случаях Вам не придется изменять настройки для
каждого параметра, но для полноты картины следующие шаги описывают различные настройки,
доступные при установке в окне «Обзор установки» (Installation Summary), где это возможно с
рекомендованными изменениями.
Шаг 5.
Щелкните параметр «Клавиатура», чтобы просмотреть параметры настройки раскладки
клавиатуры. На этом экране вы также можете выбрать дополнительную раскладку клавиатуры,
это полезно, если ваш сервер используется администраторами, использующими разные
раскладки клавиатуры. Поддерживаются не только различные языковые настройки, но и
также разные компоновки оборудования. Если многие администраторы используют Apple
Компьютер Mac, например, вы можете выбрать стандартную раскладку клавиатуры
для Mac в соответствующем регионе.
После добавления другой раскладки клавиатуры вы также можете настроить варианты
переключения раскладки клавиатуры. Это последовательность клавиш, которая используется для
переключения между разными видами языковых раскладок. Выберите «Параметры» (Options),
чтобы указать комбинацию клавиш, которую вы хотите использовать для переключения раскладки
клавиатуры. После указания конфигурации, которую вы хотите использовать, нажмите «Готово»
(Done), чтобы вернуться к окну «Обзор установки» (Installation Summary).

Шаг 6.

Параметр «Поддержка языков» на экране «Обзор установки» (Installation Summary) -

22
такой же, как вариант языковой поддержки, который вы использовали на шаге 3. Если вы
уже настроили языковые настройки, которые будут использоваться, то здесь ничего менять не
нужно.

Шаг 7.

Щелкните «Время и дата» (Time & Date), чтобы увидеть карту мира, на которой вы можете
легко выбрать часовой пояс, в котором вы находитесь (см. Рисунок 1-4). Кроме того, вы можете
выбрать регион и город, в котором вы находитесь, из соответствующих выпадающих списков. Вы
также можете установить текущую дату и время, а после настройки сети вы можете указать
сетевой протокол времени (NTP), который будет использоваться для синхронизации времени с
серверами времени в Интернете. Эта опция недоступна, если сеть недоступна. При использовании
сетевого времени вы можете добавить сетевые серверы времени, которые будут использоваться,
щелкнув значок конфигурацию в верхней правой части экрана. После указания параметров,
которые вы хотите использовать, нажмите «Готово» (Done) в верхнем левом углу экрана, чтобы
записать выбранные параметры.

Шаг 8.

В разделе «Программное обеспечение» (Software) в окне «Обзор установки» (Installation


Summary) щелкните «Источник установки» (Installation Source), чтобы открыть экран, показанный
на (рис. 1-5). Если вы загрузились с обычного установочного диска, то указывать ничего не надо.
Если вы загрузились из среды с минимальной загрузкой, вы можете указать сетевой URL-адрес,
по которому доступны дополнительные пакеты, а также дополнительные репозитории, которые
необходимо использовать. Вам не обязательно делать это для подготовки к экзамену RHCSA, но
если вам когда-либо настраивать сервер, то полезно знать, что такой выбор существует. Щелкните
«Готово» (Done).

Шаг 9.

Щелкните «Выбор программного обеспечения» (Software Selection), чтобы перейти к


важной части процедуры установки (см. Рисунок 1-6). Отсюда вы выбираете базовую среду и
надстройки, доступные для выбранной среды. Очень распространен минимальный вариант
установки. Эта базовая среда позволяет установить CentOS на жесткий диск минимального
размера. В этой книге я предполагаю, что вы устанавливаете сервер с опцией Server with GUI. Для
выполнения задач, которые необходимо выполнить на экзамене RHCSA доступны несколько
простых в использовании графических инструментов, поэтому имеет смысл установить сервер с
графическим пользовательским интерфейсом (GUI), даже если вы никогда не сделаете этого в
производственной среде. Все дополнительные пакеты могут быть добавлены позже. На этом этапе
вам не нужно выбирать какие-либо дополнительные пакеты. Щелкните «Готово» (Done).

Рис. 1-4 выбор настроек времени и даты

23
Рис. 1-5 Выбор источника установки

Рисунок 1-6 Убедитесь, что вы выбрали сервер с графическим интерфейсом для каждого
сервера, который вы собираетесь использовать для упражнений в этой книге.

24
ПРИМЕЧАНИЕ
Некоторые люди говорят, что настоящие администраторы не используют сервер с шаблоном
установки GUI. Подготовка к экзамену RHCSA - это не значит быть настоящим администратором.
Большим преимуществом использования сервера с шаблоном установки графического интерфейса
пользователя является то, что он обеспечивает простой в использовании интерфейс. Некоторые
инструменты, обсуждаемые в этой книге, работают только в графическом интерфейсе. Кроме того,
при использовании сервера с графическим интерфейсом вы можете использовать несколько окон
терминала одновременно, и это делает работу с командной строкой RHEL очень простой!

Шаг 10.
После установки программного обеспечения необходимо указать, куда вы хотите
установить операционную систему. Щелкните пункт «Место установки» (Installation Destination)
на экране «Обзор установки» (Installation Summary). По умолчанию выбрано автоматическое
разбиение на разделы, и вам нужно только подтвердить дисковое устройство, которое вы хотите
использовать для автоматического разбиения на разделы (см. рис. 1-7). Также доступны многие
дополнительные параметры. Чтобы подготовить вашу установку ко всем упражнениям,
описанным в последующих главах этой книги, вы не можете просто использовать разделение по
умолчанию. Вместо этого вам нужна установка, которая использует диспетчер логических томов
(LVM) и сохраняет доступное дисковое пространство. Для этого на экране, показанном на Рисунке
1-7, выберите переключатель Пользовательский (Custom) в разделе «Конфигурация хранилища»
Storage Configuration. Затем убедитесь, что выбран диск, который вы хотите использовать, и
нажмите «Готово» (Done), чтобы продолжить. Обратите внимание, что иногда отображаются не
все параметры, и вы видите полосу прокрутки справа от экрана. Если это так, прокрутите вниз,
чтобы отобразить дополнительные параметры установки.

25
РИСУНОК 1-7. Выберите «Пользовательский» (Custom) и нажмите «Готово» (Done), чтобы
продолжить.

СОВЕТ.
Если вы хотите использовать этот сервер для выполнения упражнений, описанных в следующих
главах, убедитесь, что у вас есть дисковое пространство, которое не выделено ни одному из
разделов. Вам потребуется неразмеченное дисковое пространство для работы с упражнениями по
разбиению на разделы и LVM, что является важной частью целей экзамена RHCSA.

После того, как вы укажете, что хотите настроить структуру диска вручную, вы увидите
экран ручного разбиения диска, показанный на рис. 1-8. Щелкните +, чтобы добавить новые
дисковые устройства. Чтобы настроить среду, которая требуется в этой книге, я рекомендую
использовать следующую структуру диска (на основе жесткого диска 20 ГиБ диск):

▪ / boot установлен на традиционный раздел в формате XFS размером 500 МБ.


▪ Логический том в формате XFS размером 10 ГиБ, смонтированный на /
▪ Логический том размером 1 ГиБ, который используется как пространство подкачки.

ПРИМЕЧАНИЕ
RHEL 8 по умолчанию использует файловую систему XFS. Эта файловая система не может быть
сжата; его можно только расширить. Поэтому иногда лучше использовать Ext4.

26
РИСУНОК 1-8. Настройка расширенного размещение диска.

Начните конфигурировать, после нажатия + на экране, показанном на рис. 1-8, вы увидите


всплывающее диалоговое окно, в котором вы можете указать точку монтирования и желаемую
емкость. В раскрывающемся списке «Точка монтирования» (Mount Point) выберите /boot и
добавьте желаемую емкость 500 МБ. Обратите внимание, что вместо этого вы можете ввести
500M, что позволит выделить емкость 500MiB. Затем нажмите «Добавить точку подключения»
(Add Mount Point). Теперь вы перейдете к экрану, показанному на Рисунке 1-9, на котором вы
можете указать конкретные детали только что созданной точки монтирования.
На этом этапе в интерфейсе, который вы видите на рис. 1-9, снова щелкните значок + и
укажите точку монтирования / и емкость 10 ГиБ. На экране «Сведения о точке подключения»,
который вы видите сейчас, убедитесь, что установлен тип устройства LVM и выбрана файловая
система XFS. Больше ничего изменять не нужно.
Теперь щелкните значок + еще раз, чтобы добавить устройство swop. В раскрывающемся
списке Mount Point выберите swap и укажите желаемую емкость 1 ГиБ. Затем нажмите «Добавить
точку подключения». Схема на этом этапе должна выглядеть, как на рис. 1-10. В этом случае
щелкните «Готово» (Done), чтобы записать конфигурацию.
Перед тем как конфигурация будет сохранена на диске, вы увидите экран, на котором
отображается сводка изменений, которые вы применили (см. Рис. 1-11). Если все в порядке,
нажмите «Принять изменения» (Accept Changes), чтобы записать выбранную конфигурацию.

РИСУНОК 1-10. Если конфигурация выглядит так, вы можете записать ее на диск.

27
РИСУНОК 1-11. Прежде чем записывать изменения на диск, вы можете убедиться, что все
в порядке

Шаг 11.
Следующая часть экрана «Обзор установки» (Installation Summary) позволяет настроить
сеть. Обратите внимание, что вы должны, что либо настроить. Если вы ничего не сделаете, ваш
сервер может не подключиться ни к какой сети. Щелкните «Сеть и имя хоста» (Network & Host
Name), чтобы настроить сеть. Это открывает экран что вы видите на рисунке 1-12.
РИСУНОК 1-12. На экране «Сеть и имя хоста» установите для сетевой карты значение
«Вкл.».

28
Сетевое подключение по умолчанию отключено. Обязательно включите его. После
включения сетевого подключения вы можете нажать «Настроить» (Configure), чтобы добавить
дополнительную конфигурацию. Работа в сети подробно обсуждается в главе 8 «Настройка сети»,
поэтому вам не нужно делать это сейчас, и вы можете просто оставить настройки по умолчанию,
которые получают IP-адрес от сервера (DHCP). Вы также можете оставить имя хоста по
умолчанию; вы также узнаете, как это изменить, в главе 8.

Шаг 12.
Параметр «Политика безопасности» позволяет усилить безопасность на сервере в
соответствии с некоторыми общепринятыми стандартами. В настоящее время поддерживаются
параметры PCI-DSS и OSPP. Откройте интерфейс и нажмите «Выбрать профиль» (Select Profile),
чтобы применить любой из них.

Шаг 13.
Последний параметр, доступный в «Обзор установки» (Installation Summary), позволяет
определить цель системы (System Purpose). Под этой опцией вы найдете несколько опций, которые
позволят вам указать, для чего вы используете свой сервер. Вы можете указать роль (например,
RHEL Server или RHEL Workstation), а также Соглашение об уровне обслуживания Red Hat.
Установка этих параметров может облегчить определение конкретных типов серверов в большой
корпоративной среде.
Шаг 14.
После задания всех параметров на экране «Обзор установки» (Installation Summary) вы можете
нажать «Начать установку», чтобы начать установку. Это немедленно запускает процедуру
установки, при этом в следующем окне будет запрошено настройки для пользователей. (см.
Рисунок 1-13).

29
РИСУНОК 1-13 Указание параметров обычного пользователя и пользователя root

Шаг 15.
На этом экране сначала нажмите Root Password и установите пароль password. Это не очень
безопасно, но, используя такой простой пароль, вы впоследствии избежите проблем, которые
могут возникнуть из-за того, что вы его не запомните. Вы должны указать пароль дважды, а также
вам потребуется дважды нажать «Готово» (Done) (потому что вы должны подтвердить, что
действительно хотите использовать слабый пароль).
Шаг 16.
Затем нажмите «Создание пользователя» (User Creation), чтобы создать пользователя (см.
Рис. 1-14). Введите имя пользователя student, и для этого пользователя также установите пароль
password. Опять же, вам нужно дважды нажать «Готово», чтобы подтвердить, что вы
действительно хотите использовать слабый пароль.

РИСУНОК 1-14. Задание дополнительных пользовательских настроек

30
Шаг 17.
Когда установка будет завершена, вы увидите экран, показанный на рисунке 1-15. Теперь
вам нужно будет нажать Reboot, чтобы перезагрузить компьютер и завершить установку.
Шаг 18.
После перезагрузки вам необходимо выполнить еще пару дополнительных шагов по
настройке. Во-первых, вам нужно принять лицензионное соглашение. Для этого щелкните
красный текст «Лицензия не принята» (License Not Accepted), выберите «Я принимаю
лицензионное соглашение» (Accept the License Agreement), а затем нажмите «Готово» (Done) для
завершения. Теперь вы можете нажать «Завершить настройку», чтобы завершить настройку, после
чего откроется графическое окно входа в систему. НЕ настраивайте регистрацию в системе с
помощью диспетчера подписок; нам нужна очень специфическая настройка, и мы позаботимся об
этом в главе 9.
РИСУНОК 1-15 Перезагрузка для завершения установки

31
Резюме
В этой главе вы узнали, что такое Red Hat Enterprise Linux и как он соотносится с
некоторыми другими дистрибутивами Linux. Вы также узнали, как установить Red Hat Enterprise
Linux 8 или CentOS 8. Теперь вы готовы настроить базовую среду, которую можно использовать
для работы над всеми упражнениями из этой книги.
Задачи подготовки к экзамену
Как упоминалось в разделе «Как пользоваться этой книгой» во Введении, у вас есть
несколько вариантов подготовки к экзамену: лабораторные работы в конце главы; таблицы памяти
в Приложение B; Глава 26, «Заключительная подготовка»; и практические экзамены.

Просмотрите все ключевые темы


Просмотрите наиболее важные темы в главе, отмеченные значком ключевой темы на
внешнем поле страницы. В Таблице 1-2 перечислены ссылки на эти ключевые темы и указаны
номера страниц, на которых каждый из них находится.
Таблица 1-2 Ключевые темы главы 1

Ключевая тема Элемент Описание Страница


Список шагов Как выполнить ручную установку RHEL 8 20

Определить ключевые термины


Определите следующие ключевые термины из этой главы и проверьте свои ответы в
глоссарии:
distribution, Linux, Red Hat, CentOS, Fedora, Scientific Linux

Обзорные вопросы

Следующие ниже вопросы помогут вам проверить свои знания концепций и терминологии,
а также широту ваших знаний. Вы можете найти ответы на эти вопросы в Приложении А.
1. Вы не хотите покупать лицензию RHEL, но хотите создать среду для практики перед
экзаменом. Какой дистрибутив вам следует использовать?
2. Что произойдет с конфигурацией сети, если вы ничего не укажете при установке?
3. Вы хотите установить минимальную систему. Сколько оперативной памяти вам нужно?
4. Почему рекомендуется иметь доступ в Интернет на всех устанавливаемых серверах?
5. Вы хотите установить виртуальную машину на компьютер без оптического дисковода.
Какую альтернативу выполнить установку проще всего?
6. Почему установить графический интерфейс - это хорошая идея?

32
Глава 2

В этой главе рассматриваются следующие темы:

▪ Базовые навыки работы с оболочкой shell


▪ Редактирование файлов с помощью vim
▪ Понимание окружающей среды Shell
▪ Поиск помощи

В этой главе рассматриваются следующие цели экзамена RHCSA:

▪ Использовать перенаправление ввода-вывода (>, >>, |, 2> и т. Д.)


▪ Создавать и редактировать текстовые файлы
▪ Найдите, прочтите и используйте системную документацию, включая man, info и файлы в
/usr/share/doc.
Эта глава посвящена описанию основных навыков работы с Linux, которые необходимо
знать до начала сдачи экзамена RHCSA.

Использование основных инструментов


Опрос «Знаю ли я это уже?»
Опрос «Знаю ли я это уже?» позволяет вам оценить, следует ли вам полностью прочитать
эту главу или перейти к разделу «Задачи подготовки к экзамену». Если вы сомневаетесь в своих
ответах на эти вопросы или в собственной оценке своих знаний по темам, прочитайте всю главу.
В таблице 2-1 перечислены основные заголовки в этой главе и соответствующие им «Знаю ли я
это уже?» вопросы викторины. Вы можете найти ответы в Приложении A, «Ответы на тесты «Знаю
ли я это уже?» и «Контрольные вопросы»».
Таблица 2 - 1 «Знаю ли я это уже?» Сопоставление раздела с вопросом

Раздел основных тем Вопросы


Базовые навыки работы с оболочкой shell 1, 3, 4–7
Редактирование файлов с помощью vim 8
Понимание окружающей среды Shell 2, 9
Поиск помощи 10

1. Какая из следующих команд позволяет перенаправить стандартный вывод, а также


стандартную ошибку в файл?

a. 1&2> file
b. file 2>&1

33
c. >1&2 file
d. 1>2& file

2. Вы ищете переменную, которая установлена в оболочке входа в Bash для всех


пользователей. Какой из следующих файлов является наиболее вероятным местом
установки этой переменной? (Выберите два.)

a. /etc/profile
b. /etc/bashrc
c. ~/.bash_profile
d. ~/.bashrc

3. Пользователь создал скрипт с именем myscript. Он пытается запустить его с помощью


команды myscript, но он не запускается. Пользователь подтвердил, что разрешения скрипта
установлены как исполняемые. Что из следующего является наиболее вероятным
объяснением?

a. Внутренняя команда препятствует запуску скрипта.


b. Пользователям не разрешается запускать скрипты.
c. Каталог, содержащий сценарий, отсутствует в PATH.
d. У скрипта нет соответствующих разрешений.

4. Вам нужен вывод команды ls, который будет использоваться в качестве ввода для команды
less. Какой из следующих примеров подойдет вам?

a. ls > less
b. ls >> less
c. ls >| less
d. ls | less

5. Пользователь хочет удалить свою историю полностью. Какой из следующих подходов


сделает это?

a. Удалите файл ~/.bash_history и введите history -c.


b. Введите history -c.
c. Удалите файл ~/.bash_history.
d. Введите history -c и закройте текущую оболочку.

6. Что из нижеперечисленного не является допустимым методом повторения команды из


истории?

34
a. Нажмите Ctrl-r и начните вводить часть команды.
b. Напечатать символ «!» за которым следуют первые буквы команды.
c. Напечатать символ «!» за которым следует номер команды, как указано в истории.
d. Нажмите Ctrl-x, а затем номер в истории.

7. Для каких из следующих элементов можно использовать авто завершение Bash?

a. Команды
b. Файлы
c. Переменные
d. Все вышеперечисленное

8. Какая из следующих команд позволяет вам заменять каждое вхождение старого на новое
в текстовом файле, который открывается с помощью vi?

a. :%s/old/new/g
b. :%r/old/new/
c. :s/old/new/g
d. r:/old/new

9. Какой подход работает лучше всего, если во время процесса входа в систему вы хотите
показать сообщение всем пользователям, которые только что вошли в сеанс оболочки на
вашем сервере?
a. Поместите сообщение в /etc/issue.
b. Поместите сообщение в /etc/motd.
c. Поместите сообщение в /etc/profile.
d. Поместите сообщение в /etc/bashrc.

10. Вы используете команду man -k user, но получаете сообщение «ничего подходящего».


Какое из следующих решений, скорее всего, исправит это для вас?

a. Введите updatedb, чтобы обновить базу данных mandb.


b. Введите makewhatis, чтобы обновить базу данных mandb.
c. Введите mandb, чтобы обновить базу данных mandb.
d. Используйте man -K, а не man -k.

Основные Темы

Базовые навыки работы с оболочкой shell


Оболочка shell - это рабочая среда по умолчанию для администратора Linux. Это среда, в
которой пользователи и администраторы вводят команды, выполняемые операционной системой.
Доступны разные оболочки для Linux, но наиболее распространенной оболочкой является Bash.

35
Поэтому, когда мы говорим в этой книге о «оболочке shell», мы фактически говорим о оболочке
Bash. В этой главе представлен обзор некоторых элементов, с которыми вы столкнетесь при работе
с оболочкой.

Понимание команд
Работа с оболочкой shell - это работа с синтаксисом команд. Обычно синтаксис команды
состоит из трех основных частей: команды, ее параметров и аргументов.
Команда - это сама команда, например ls. Эта команда показывает список файлов в текущем
каталоге. Чтобы изменить поведение команды, вы можете использовать параметры (options).
Параметры являются частью программного кода и изменяют то, что делает команда. Например,
когда вы используете параметр -l с командой ls, отображается длинный список имен файлов и
свойств.
Слово аргумент немного сбивает с толку. Вообще говоря, это относится ко всему, к чему
обращается команда, поэтому все, что вы помещаете после команды, является аргументом
(включая параметры). Помимо параметров, которые можно использовать в качестве аргумента,
команды могут иметь и другие аргументы, которые служат целью для команды.
Давайте посмотрим на пример: команда ls -l /etc. У этой команды есть два разных
аргумента: -l и /etc. Первый аргумент - это опция, изменяющая поведение команды. Второй
аргумент - это цель, указывающая, где команда должна выполнять свою работу. Вы найдете эти
три элемента почти во всех командах, с которыми вы будете работать в среде Linux.

Выполнение команд
Назначение оболочки shell Linux - предоставить среду, в которой могут выполняться
команды. Shell заботится о правильной интерпретации команды, введенной пользователем. Для
этого оболочка различает три вида команд:
▪ Псевдонимы (Aliases)
▪ Внутренние команды
▪ Внешние команды

Псевдоним далее по тексту Aliases - это команда, которую пользователь может определить по
мере необходимости. Некоторые Aliases предоставляются по умолчанию; введите alias в
командной строке, чтобы получить обзор определённых Aliases. Чтобы определить псевдоним,
используйте Aliases newcommand = 'oldcommand', как в Aliases по умолчанию ll = 'ls -l --color =
auto', который уже был создан в вашей системе. Псевдонимы всегда выполняются в первую
очередь. Таким образом, если у вас есть псевдоним с именем ll, но также есть команда с именем ll,
псевдоним всегда будет иметь приоритет, если не используется полный путь.
Внутренняя команда - это команда, которая является частью самой оболочки и, как таковая, не
должна загружаться с диска отдельно. Внешняя команда - это команда, которая существует в виде
исполняемого файла на диске компьютера. Поскольку он должен быть прочитан с диска при
первом использовании, он немного медленнее. Когда пользователь выполняет команду, оболочка
shell сначала проверяет, является ли это внутренней командой; если это не так, shell ищет
исполняемый файл с именем, которое соответствует команде на диске. Чтобы узнать, является ли

36
команда внутренним файлом Bash или исполняемым файлом на диске, вы можете использовать
команду type. Пример:
1. $ type ls
ls is aliased to `ls --color=auto'
2. # type man
man is /usr/bin/man

Для поиска внешних команд используйте переменную $PATH. Эта переменная определяет
список каталогов, в которых выполняется поиск соответствующего имени файла, когда
пользователь вводит команду. Чтобы узнать, какую именно команду будет использовать оболочка,
вы можете использовать команду which. Например, введите which ls, чтобы узнать, где shell
найдёт файл команды ls. Еще более сильная команда - type. Эта команда также будет работать с
внутренними командами и псевдонимами.
Вы должны заметить, что по соображениям безопасности текущий каталог не находится в
переменной $PATH, и Linux не смотрит в текущий каталог, чтобы узнать, доступна ли конкретная
команда из этого каталога. Вот почему вам для выполнения команды из текущего каталога, но не
указана в переменной $PATH, необходимо добавить символы ./ перед ней. Точка обозначает
текущий каталог, и, запустив его как ./ , вы указываете Bash искать команду в текущем каталоге.
Хотя такой способ выполнения команд не является распространенным явлением, вам придется
делать это для запуска сценариев, которые вы создали в текущем каталоге.
Переменная $PATH может быть установлена для конкретных пользователей, но в целом
большинство пользователей будут использовать одну и ту же переменную $PATH. Единственным
исключением является пользователь root, которому требуется доступ к определенным командам
администрирования. В упражнении 2-1 вы узнаете некоторые основы работы с командами.

Упражнение 2-1 Использование внутренних и внешних команд из оболочки shell

7. При установке сервера авторизуйтесь как пользователь, созданный вами в главе 1,


«Установка Red Hat Enterprise Linux».
8. Введите time ls. При этом выполняется команда ls, где внутреннее Bash time показывает
информацию о времени, которое потребовалось для выполнения этой команды.
9. Введите which time. Это показывает имя файла /usr/bin/time, которое было найдено в
переменной $PATH.
10. Введите echo $PATH, чтобы отобразить содержимое переменной $PATH. Вы можете
видеть, что директория /usr/bin включена в список, но поскольку существует также
внутренняя команда time, команда time из указанного пути не будет выполняться, если вы
специально не укажете оболочке сделать это - команда на шаге 2 выполнила внутреннюю
команду из-за приоритета команд.
11. Введите /usr/bin/time ls, чтобы запустить команду /usr/bin/time при выполнении ls. Вы
заметите, что результат полностью отличается. Не обращайте внимания на смысл вывода;
мы вернемся к этому позже. На данный момент важно то, что вы понимаете, что это
действительно две разные команды.

Перенаправление ввода/вывода

По умолчанию, когда команда выполняется, она показывает ее результаты на экране


компьютера, с которым вы работаете. Монитор компьютера используется как стандартное место
назначения для вывода, которое также называется STDOUT. Оболочка также имеет места
назначения по умолчанию для отправки сообщений об ошибках (STDERR) и приема ввода
(STDIN). Таблица 2-2 дает обзор всех трех.

37
Таблица 2-2 Обзор стандартных входов, выходов и ошибок

Название Место назначения Использование при Номер дескриптора


по умолчанию перенаправлении файла
STDIN Компьютерная <(то же, что и 0 <) 0
клавиатура
STDOUT Компьютерный > (то же, что и 1>) 1
монитор
STDERR Компьютерный 2> 2
монитор

Итак, если вы запустите команду, эта команда будет ожидать ввода с клавиатуры и обычно
отправляет свой вывод на монитор вашего компьютера, не делая различия между нормальным
выводом и ошибками. Однако некоторые команды запускаются в фоновом режиме, а не из
текущего сеанса терминала, поэтому у этих команд нет сеанса монитора или консоли для отправки
вывода, и они не слушают ввод с клавиатуры, чтобы принять свой стандартный ввод. Вот здесь и
пригодится перенаправление. Перенаправление также полезно, если вы хотите работать с вводом
из альтернативного расположения, например файл.
Программы, запускаемые из командной строки, понятия не имеют, что они читают или что
пишут. Они просто читают то, что ядро Linux называет файловым дескриптором 0, если они хотят
читать из стандартного ввода, и они записывают в файловый дескриптор номер 1 для отображения
вывода без ошибок (также известного как «стандартный вывод» (standard output)) и в файловый
дескриптор 2, если у них есть сообщения об ошибках, которые нужно вывести. По умолчанию эти
файловые дескрипторы связаны с клавиатурой и экраном. Если вы используете символы
перенаправления, такие как <,> и |, оболочка shell соединяет файловые дескрипторы с файлами
или другими командами. Давайте сначала посмотрим на < и >. Позже мы обсудим pipe (символ |).
В таблице 2-3 показаны наиболее распространенные символы перенаправления, которые
используются в оболочке Bash.

Таблица 2-3 Общие редиректоры Bash

Перенаправление Объяснение

Перенаправляет STDOUT. Если перенаправление выполняется в файл,


> (то же, что и 1>)
текущее содержимое этот файл перезаписывается.
Перенаправляет STDOUT. Если вывод записывается в файл, вывод
>> (то же, что и 1 >>)
добавляется к этому файлу.
2> Перенаправляет STDERR.
Перенаправляет STDERR в то же место назначения, что и STDOUT.
2> & 1 Обратите внимание, что это должно использоваться в сочетании с
обычным перенаправлением вывода, как в ls whuhiu> errout 2> & 1.
<(то же, что и 0 <) Перенаправляет STDIN.

При перенаправлении ввода-вывода файлы могут использоваться для замены стандартных


STDIN, STDOUT и STDERR. Вы также можете перенаправить на файлы устройства. Файл
устройства в Linux - это файл, который используется для доступа к определенному оборудованию.
Например, ваш жесткий диск может называться /dev/sda, консоль вашего сервера называется

38
/dev/console или /dev/tty1, если вы хотите отменить вывод команды, вы можете перенаправить на
/dev/null (отправить в никуда). Обратите внимание, что для доступа к большинству файлов
устройства вы должны быть root.

Использование pipe |

В то время как перенаправление ввода-вывода используется в качестве альтернативы для


клавиатуры и монитора компьютера, pipe | можно использовать для перехвата вывода одной
команды и использования его в качестве ввода для второй команды. Например, если пользователь
запускает команду ls, выходные данные команды отображаются на экране, поскольку экран
является стандартным выходом STDOUT по умолчанию.
Если пользователь использует ls | less, команды ls и less запускаются параллельно.
Стандартный вывод команды ls связан со стандартным вводом less. Все, что ls записывает на
стандартный вывод, станет доступным для чтения со стандартного ввода команды страниц less. В
результате вывод ls отображается less, постраничный вывод которой пользователь может легко
просматривать результаты перемещаясь вверх и вниз.
Как администратор Linux вы будете часто использовать pipe. Использование каналов делает
Linux гибкой операционной системой; комбинируя несколько команд с помощью конвейеров, вы
можете создавать «супер» команды, которые делают возможным практически все. В упражнении
2-2 вы используете перенаправление ввода-вывода и pipe.

Упражнение 2-2 Использование перенаправления ввода/вывода и каналов (pipe)

1. Откройте shell, как пользователь и введите cd без аргументов. Это гарантирует, что
домашний каталог этого пользователя является текущим каталогом во время работы над
этим упражнением. Введите pwd, чтобы убедиться в этом.
2. Введите ls. Вы увидите результаты на экране.
3. Введите ls> /dev/null. Это перенаправляет STDOUT на нулевое устройство, в результате
чего вы не увидите вывод выполнения команды на экране.
4. Введите ls ilwehgi> /dev/null. Эта команда показывает на экране сообщение «нет такого
файла или каталога». Вы видите это сообщение, потому что это не STDOUT, а скорее
сообщение об ошибке, записанное в STDERR.
5. Введите ls ilwehgi 2> /dev/null. Теперь вы больше не увидите сообщение об ошибке.
6. Введите ls ilwehgi Documents 2> /dev/null. Это показывает имя папки Documents (только в
том случае если файл с таким именем существует в вашем каталоге можно предварительно
выполнить команду >Documents для его создания) в вашем домашнем каталоге, скрывая
сообщение об ошибке.
7. Введите ls ilwehgi Documents 2> /dev/null> output. В этой команде вы по-прежнему пишете
сообщение об ошибке в /dev/null при отправке STDOUT в файл с выходным именем,
который будет создан в вашем домашнем каталоге.
8. Введите cat output, чтобы отобразить содержимое этого файла.
9. Введите echo hello> output. Это перезаписывает содержимое выходного файла.
10. Введите ls >> output. Это добавляет результат команды ls в выходной файл с именем
output.
11. Введите ls -R /. На мониторе компьютера отображается длинный список файлов и папок.
(Вы можете нажать Ctrl-C, чтобы остановить [или подождать некоторое время]).
12. Тип ls -R | less. Это показывает тот же результат, но на страницах команды less, где вы
можете прокручивать вверх и вниз с помощью клавиш со стрелками на клавиатуре.
13. Введите q, чтобы закрыть меньше. Это также завершит программу ls.
14. Введите ls> /dev/tty1. Это дает сообщение об ошибке, потому что вы выполняете команду
как обычный пользователь, а обычные пользователи не могут напрямую обращаться к

39
файлам устройства (если вы не вошли в систему на tty1). Только пользователь root имеет
разрешение на запись в файлы устройства напрямую.

История (history)

Удобная функция оболочки Bash - это история ввода команд Bash. По умолчанию Bash
настроен на сохранение последних 1000 команд, использованных пользователем (если сеанс
оболочки никогда не закрывается, точное число может значительно увеличиться). Когда сеанс
оболочки закрывается, история этого сеанса обновляется в файле истории введёных команд. Имя
этого файла - .bash_ history, и он создается в домашнем каталоге пользователя, запустившего
конкретный сеанс оболочки. Обратите внимание, что файл истории закрывается только при
закрытии сеанса оболочки; до этого момента все команды в истории сохраняются в памяти.
Функция history позволяет легко повторять сложные команды. Есть несколько способов
работы с функцией истории ввода команд:

▪ Введите history, чтобы отобразить список всех команд в истории Bash.


▪ Нажмите Ctrl-r, чтобы открыть подсказку, из которой вы можете выполнить обратный
поиск в командах, которые вы использовали ранее. Просто введите строку, и Bash
посмотрит назад в истории команд любую команду, содержащую эту строку в качестве
имени команды или одного из ее аргументов. Снова нажмите Ctrl-r, чтобы повторить
последний поиск в обратном направлении.
▪ Введите !number, чтобы выполнить команду с определенным номером из истории.
▪ Введите !Sometext, чтобы выполнить последнюю команду, начинающуюся с sometext.
Обратите внимание, что это потенциально опасная команда, потому что найденная команда
выполняется немедленно!

В некоторых случаях может потребоваться стереть историю команд в Bash. Это полезно,
например, если вы случайно ввели пароль открытым текстом. Если это произойдет, вы можете
ввести history -c, чтобы очистить текущую историю. Команды из этого сеанса не будут записаны
в файл истории при выходе из текущего сеанса. Если вы хотите удалить всю историю Bash, введите
history -w сразу после использования history -c.

Упражнение 2-3 проведет вас через некоторые особенности истории команд в Bash

Упражнение 2-3 Работа с историей команд

1. Убедитесь, что вы открыли оболочку как пользователь student.


2. Введите историю, чтобы получить обзор команд, которые вы использовали ранее.
3. Введите несколько команд, например, следующие:
a. ls
b. pwd
c. cat /etc/hosts
d. ls -l
Цель - немного заполнить историю команда.
4. Откройте второй терминал на своем сервере, щелкнув правой кнопкой мыши графический
рабочий стол и выбрав пункт меню «Открыть в терминале».
5. Введите history во второго окне терминала. Обратите внимание, что вы не видите команды,
которые вы только что набрали в предыдущем терминале. Это потому, что файл истории
еще не обновлен.
6. В первом сеансе терминала нажмите Ctrl-r. В открывшейся подсказке введите ls. Вы
увидите последнюю использованную команду ls. Снова нажмите Ctrl-r. Теперь вы увидите,

40
что видно предыдущая команда и выделена предыдущая команда ls. Нажмите Enter, чтобы
выполнить его.
7. Введите history | grep cat. Команда grep ищет в выводе истории любые команды,
содержащие текст cat. Обратите внимание на номер одной из команд cat, которые вы
использовали ранее.
8. Введите !nn, где nn заменяется числом, записанным на шаге 7. Вы увидите, что повторяется
последняя команда cat.
9. Закройте этот терминал, набрав exit.
10. В оставшемся окне терминала введите history -c. Это стирает всю историю, которая в
данный момент находится в памяти. Закройте и этот сеанс терминала.
11. Откройте новый сеанс терминала и введите history. Это может быть немного неожиданно,
но вы все равно увидите список команд. Это потому, что history -c очищает историю в
памяти, но не удаляет файл .bash_history в вашем домашнем каталоге.

Функция оболочки Bash Shell завершение команды

Еще одна полезная функция оболочки Bash - авто завершение в командной строке. Эта функция
помогает вам найти нужную команду, а также работает с переменными и именами файлов. Если
вы установили программный пакет bash-сompletion, он также работает для некоторых более
сложных команд.
Авто завершение Bash полезно при работе с командами. Просто введите начало команды и
нажмите клавишу TAB на клавиатуре компьютера. Если есть только один вариант завершения,
Bash выполнит команду автоматически за вас. Если есть несколько вариантов, вам нужно нажать
Tab еще раз, чтобы просмотреть все доступные варианты. В упражнении 2-4 вы узнаете, как
работать с этими замечательными функциями.

Использование Функция оболочки Bash Shell завершение команды

1. Из пользовательской оболочки введите gd и нажмите Tab. Вы увидите, что ничего не


происходит.
2. Снова нажмите Tab. Оболочка Bash теперь показывает краткий список всех команд,
начинающихся с буквы gd.
3. Чтобы дать Bash понять, что вы хотите, введите i (чтобы на этом этапе в приглашении
отображалась команда gdi). Снова нажмите Tab. Теперь Bash знает, что вы хотите, и
предлагает для выбора вам команду gdisk. Нажмите Enter, чтобы закрыть только что
открывшуюся подсказку.
4. Используйте cd /etc для перехода в каталог /etc.
5. Введите cat pas и нажмите Tab. Поскольку существует только один файл, который
начинается с pas, Bash знает, что делать, и автоматически дополняет имя файла. Нажмите
Enter, чтобы выполнить команду.

Изменение текстовых файлов с помощью редактора vim

Управление Linux часто означает работу с текстовыми файлами. Большинство вещей, которые
настраиваются в Linux, настраиваются через текстовые файлы. Для выполнения
административных задач часто требуется изменить содержимое файла конфигурации с помощью
текстового редактора.
За прошедшие годы для Linux было создано множество текстовых редакторов. Однако
действительно важен один редактор, и это vi. Даже если некоторые другие текстовые редакторы
проще в использовании, vi - единственный текстовый редактор, который всегда доступен. Вот
почему как администратор Linux вам нужно знать, как работать с текстовым редактором vi. Одна
из распространенных альтернатив - vim или «vi улучшенный»; это полностью переписанный vi с

41
множеством улучшений, упрощающих работу с текстовым редактором vi, таких, как подсветка
синтаксиса для многих файлов конфигурации, что упрощает распознавание допущенных вами
опечаток. Все, что вы узнаете в этом разделе о vim, работает и с vi.
Важной концепцией при работе с vim является то, что он использует разные режимы. Два из
них особенно важны: командный режим и режим ввода. Эти режимы часто вызывают путаницу,
потому что в командном режиме вы можете просто ввести команду и не можете изменить
содержимое текстового файла. Чтобы изменить содержимое текстового файла, вам нужно перейти
в режим ввода.
Проблема при работе с vim - это огромное количество доступных команд. Некоторые даже
создали шпаргалки по vim, в которых перечислены все доступные команды. Не используйте их.
Вместо этого сосредоточьтесь на минимальном количестве действительно важных команд. В
таблице 2-4 перечислены наиболее важные команды текстового редактора vim. Используйте их (и
только эти), и вы хорошо сдадите экзамен RHCSA.

СОВЕТ
Не пытайтесь работать с максимально возможным количеством команд при работе с vim. Просто
используйте минимальный набор команд и используйте их часто. Вы увидите; что привыкнешь к
этим командам и запоминаешь их для экзамена. Также вам может понравиться команда vimtutor.
(Для его установки используйте yum install vim-еnhanced.) Эта команда открывает руководство
по vim, в котором вы можете выполнить несколько полезных дополнительных упражнений.

Таблица 2-4 Основных команд текстового редактора vim

Команда vim Объяснение


Переключает из режима ввода в командный режим. Нажмите эту клавишу
Esc
перед вводом любой команды.
Переключает из командного режима в режим ввода в (i) или после (a)
i, a
текущей позиции курсора.
Открывает новую строку под текущей позицией курсора и переходит в
o
режим ввода.
: wq Записывает текущий файл и завершает работу.
Выходит из файла без внесения изменений. ! заставляет команду делать свою
: q!
работу. Добавляйте символ ! если вы действительно знаете, что делаете.
: w filename Записывает текущий файл с новым именем filename.

dd Удаляет текущую строку.

yy Копирует текущую строку.

P Вставляет текущий выбор.


Переход в визуальный режим, в котором можно выделить блок текста с
v помощью клавиш стрелки. Используйте d, чтобы вырезать выделение, или y,
чтобы скопировать его.
Отменяет последнюю команду. Повторяйте столько раз, сколько
u
необходимо.
Ctrl-r Повторяет последнюю отмену.

42
gg Переход к первой строке документа.

G Переход к последней строке в документе.

/text Ищет текст от текущей позиции курсора вперед.

?text Ищет текст от текущей позиции курсора назад.

^ Переход к первой позиции в текущей строке.

$ Переход к последней позиции в текущей строке.

!ls Добавляет вывод ls (или любой другой команды) в текущий файл.

Заменяет все найденные слова правой части (old) на указанное новое (new) в
:%s/old/new/g
левой части команды.

Обратите внимание, что вы знаете самые важные команды для работы с vim.
Упражнение 2–5 дает вам возможность проверить их.

Упражнение 2-5 Практика c редактором vim

1. Введите vim ~/testfile. Это запускает vim и открывает для редактирования файл с именем
testfile в ~, который представляет ваш текущий домашний каталог.
2. Введите i, чтобы войти в режим ввода, а затем введите следующий текст:

корова
овца
бык
курица
змея
рыба
кислород

3. Нажмите Esc, чтобы вернуться в командный режим, и введите :w, чтобы записать файл с
тем же именем файла.
4. Введите :3, чтобы перейти к строке номер 3.
5. Введите dd, чтобы удалить эту строку.
6. Введите dd еще раз, чтобы удалить еще одну строку.
7. Введите u, чтобы отменить последнее удаление.
8. Введите o, чтобы открыть новую строку.
9. Введите еще текст в текущую позицию курсора:

дерево
ферма

10. Нажмите Esc, чтобы вернуться в командный режим.


11. Введите :%s/бык/БЫК/g.
12. Введите: wq, чтобы записать файл и выйти. Если по какой-то причине это не сработает,
использование: wq!.

Понимание окружающей среды Shell


43
Когда вы работаете из оболочки (shell), создается среда, гарантирующая, что все, что
происходит, происходит правильно. Эта среда состоит из переменных, которые определяют
пользовательскую среду, таких как переменная $PATH, описанная ранее. В этом разделе вы
получите краткий обзор среды shell и ее создания.

Понимание переменных

Среда shell Linux состоит из множества переменных. Переменные - это фиксированные имена,
которым можно присвоить динамические значения. Примером переменной является $LANG,
которая в моей оболочке установлено значение en_US.UTF-8. Это значение (которое может
отличаться в вашей системе) гарантирует, что я могу работать на английском языке, используя
общие настройки для английского языка (подумайте, как отображаются дата и время).
Преимущество скриптов и программ для работы с переменными состоит в том, что программа
должна использовать только имя переменной, не интересуясь конкретным значением,
присвоенное переменной. Поскольку у разных пользователей разные потребности, переменные,
устанавливаемые в пользовательской среде, будут разными. Чтобы получить обзор текущих
переменных, определенные в среде оболочки, введите команду env, которая отобразит
переменные среды. В примере 2-1 показаны некоторые строки вывода этой команды.

Пример 2-1 Отображение текущей среды

Как видно из примера 2-1, чтобы определить переменную, вы вводите имя переменной, за
которым следует знак равенства (=) и значение, присвоенное конкретной переменной. Чтобы
прочитать значение переменной, вы можете использовать команду echo (среди прочего), за
которой следует имя переменной, как в echo $PATH, которая считывает текущее значение
переменной $PATH и печатает его в STDOUT. На данный момент вам не нужно больше знать о
переменных. Вы можете прочитать о более сложном использовании переменных в главе 19,
«Введение в сценарии оболочки Bash».

Распознавание файлов конфигурации среды

Когда пользователь входит в систему, для него автоматически создается среда. Это происходит
на основе четырех разных файлов конфигурации, в которых можно указать некоторый код
сценария и где переменные могут быть определены для использования одним конкретным
пользователем:

44
▪ /etc/profile: это общий файл, который обрабатывается всеми пользователями при входе в
систему.
▪ /etc/bashrc: этот файл обрабатывается при запуске подоболочки.
▪ ~/.bash_profile: в этом файле могут быть определены пользовательские переменные
оболочки входа в систему.
▪ ~/.bashrc: в этом пользовательском файле могут быть определены переменные
подоболочки.

Как вы видели, в этих файлах делается различие между shell входа и подоболочкой. Оболочка
(shell) входа - это первая оболочка, которая открывается для пользователя после входа в систему.
Из оболочки входа пользователь может запускать сценарии, которые запускают подоболочку этой
оболочки входа. Bash позволяет создавать разные среды в оболочке входа и в подоболочке, но,
чтобы убедиться, что одни и те же настройки используются во всех оболочках, рекомендуется
также включить настройки подоболочки в оболочку входа.

Использование /etc/motd и /etc/issue

Для отображения сообщений во время входа в систему Bash использует файлы /etc/motd и
/etc/issue. Сообщения в /etc/motd отображаются после того, как пользователь успешно вошел в
систему. (Обратите внимание, что пользователи в графической среде не видят его содержимое
после графического входа в систему.) Использование /etc/motd может быть удобным способом
для системных администраторов, например, информировать пользователей о проблеме или
политике безопасности.
Другой способ отправить информацию пользователям – использовать файл /etc/issue.
Содержимое этого файла отображается до того, как пользователь войдет в систему. Это отличный
способ указать конкретные инструкции для входа в систему для пользователей, которые еще не
вошли в систему.
В упражнении 2-6 вы можете просмотреть темы, которые обсуждались в этом разделе.

Упражнение 2-6 Управление окружающей средой оболочки (shell)

1. Откройте shell, в которой вы являетесь пользователем.


2. Введите echo $LANG, чтобы отобразить содержимое переменной, которая задает
системные настройки клавиатуры и языка.
3. Введите ls --help. Вы увидите, что справка о команде ls отображается в текущих языковых
настройках вашего компьютера.
4. Введите LANG=es_ES.UTF-8. Это временно устанавливает для языковой переменной
испанский.
5. Снова введите ls --help. Вы увидите, что теперь текст справки ls отображается на
испанском языке.
6. Введите exit, чтобы закрыть окно терминала. Поскольку вы не изменяли содержимое ни
одного из ранее упомянутых файлов, при открытии новой оболочки будет использоваться
исходное значение переменной LANG.
7. Снова откройте оболочку как пользователь.
8. Проверьте текущее значение переменной LANG, набрав echo $ LANG или printenv
LANG
9. Введите vim .bashrc, чтобы открыть файл конфигурации .bashrc.
10. В этом файле добавьте строку COLOR=red, чтобы установить переменную с именем
COLOR и присвоить ей значение red. Обратите внимание, что эта переменная на самом
деле ничего не меняет в вашей системе; он просто устанавливает переменную.
11. Закройте оболочку пользователя и откройте новую оболочку пользователя.
45
12. Убедитесь, что переменная COLOR установлена, используя echo $COLOR. Поскольку
файл .bashrc включен в процедуру входа в систему, переменная устанавливается после
входа в систему.

Поиск помощи

В средней системе Linux доступны сотни команд - слишком много, чтобы запомнить их все,
поэтому использование ресурсов справки на вашем компьютере так важно. Команда man - самый
важный ресурс для получения справки о синтаксисе и использовании команд. Кроме того, вы
можете отобразить компактный список параметров команды, command --help.

Использование --help

Самый быстрый способ получить обзор того, как использовать команду, - это запустить
команду с параметром --help. При использовании этой опции почти все команды будут отображать
сводку использования. Список параметров, который показан таким образом, используется в
основном, когда у вас уже есть общее представление о том, как использовать команду и вам нужен
быстрый обзор параметров, доступных с командой - он не дает подробной информации, которая
поможет пользователям кто еще не знает команду.

СОВЕТ
При использовании параметра --help почти все команды предоставляют краткий обзор справки.
Некоторые команды не учитывают эту опцию и считают ее ошибочной. К счастью, эти команды
будут настолько удобными, что будут отображать сообщение об ошибке, отображающие
допустимые параметры с командой, что фактически означает, что вы все равно получите то, что
вам нужно.

Использование команды man (manual)

При использовании командной строки Linux вы в какой-то момент обратитесь к страницам


руководства. Команда man - это то, что делает возможной работу из командной строки. Если вы
не знаете, как используется команда, справочная страница этой команды предоставит ценную
информацию. В этом разделе рассказывается о нескольких важных моментов о man.
Начнем с того, что наиболее важные части справочной страницы в целом находятся внизу
справочной страницы. Здесь вы найдете два важных раздела: во многих случаях есть примеры;
если нет примеров, всегда есть раздел «См. также» (“See Also”). Темы, которые вы здесь найдете,
представляют собой связанные справочные страницы, что полезно, если вы просто не попали на
нужную справочную страницу. Чтобы добраться до конца страницы руководства, как можно
быстрее, используйте команду G. Вы также можете ввести /example, чтобы найти на странице
руководства любые примеры. На рис. 2-1 показано, как может выглядеть конец страницы
руководства.

РИСУНОК 2-1 Образец содержания страницы man

46
Поиск нужных страниц man
Чтобы найти информацию на страницах руководства, если у вас новая установка вам может
понадобиться выполнить поиск в базе данных командой mandb, только после этого можно
используя команды apropos или man -k. Если база данных актуальна, получить доступ к
необходимой информации очень просто. Просто введите man -k, а затем ключевое слово, которое
вы хотите найти. Эта команда просматривает сводку всех страниц руководства, которые хранятся
в базе данных mandb. В примере 2-2 показан частичный результат этой команды.

Пример 2-2 Поиск man-страниц с помощью man -k

47
Основываясь на информации, которую дает вам man -k, вы, вероятно, сможете определить
справочную страницу, к которой вам нужно получить доступ, чтобы делать то, что вы хотите
выполнить. Однако имейте в виду, что man -k не идеален; он ищет только краткую сводку по
каждой установленной команде. Если вашего ключевого слова нет в сводке, вы ничего не найдете
и получите сообщение об ошибке «ничего подходящего» (“nothing appropriate”).
СОВЕТ
Вместо использования man -k вы можете использовать команду apropos, которая эквивалентна
man -k.

При использовании команды man -k для поиска конкретной информации на страницах


руководства вы иногда можете получить массу информации. Если это произойдет, немного
отфильтровать результаты может помочь команда grep. Но если вы хотите это сделать, важно
знать, что вы ищете.
Страницы руководства разделены на разные разделы. Наиболее актуальные разделы для
системных администраторов:

▪ 1: исполняемые программы или команды оболочки


▪ 5: Форматы файлов и соглашения
▪ 8: Команды системного администрирования

Есть также разделы, в которых подробно рассказывается о вашей системе Linux, например, о
системных вызовах и вызовах библиотек. При использовании man -k вы получите результаты из
всех этих разделов. Чтобы ограничить отображаемые результаты, имеет смысл использовать grep,
чтобы отображать только те разделы, которые имеют отношение к тому, что вам нужно. Итак, если
вы ищете файл конфигурации, имеющий отношение к паролям, используйте команду man -k
password | grep 5, или если вы ищете команду, которую администратор будет использовать для
создания разделов, используйте команду man -k partition | grep 8.
Еще одна полезная опция man -f. Команда man -f <somecommand> отображает краткое
описание элемента, найденное в базе данных mandb. Это может помочь вам при принятии
решения, содержит ли эта справочная страница информацию, которую вы ищете.

Обновление mandb

Как упоминалось ранее, при использовании команды man -k выполняется обращение к базе
данных mandb. Эта база данных создается автоматически с помощью запланированного задания
cron. Иногда вы можете искать что-то, что, очевидно, должно быть задокументировано, но все, что
вы получаете, - это сообщение «ничего подходящего» (“nothing appropriate.). Если это произойдет,
вам может потребоваться обновить базу данных mandb. Сделать это просто: запустите команду
mandb от имени пользователя root без каких-либо аргументов. Он увидит, были ли установлены
новые страницы руководства, и соответственно обновит базу данных mandb.

СОВЕТ
Не пытайтесь запомнить все команды, необходимые для выполнения определенных задач.
Вместо этого запомните, как найти эти команды, и найдите, какую справочную страницу
следует прочитать, чтобы получить дополнительную информацию о команде. В
упражнении 2-7 вы увидите, как это работает.

Предположим, вы ищете команду, используя man -k, но все, что вы получаете, это сообщение
«ничего подходящего», и вы не помните, как это исправить. В упражнении 2-7 показано, что вы
можете сделать в таких случаях.

48
Упражнение 2-7. Использование man -k

1. Поскольку man - k не дает ожидаемого результата, имеет смысл поискать на странице


руководства команду man для получения дополнительной информации о man -k. Введите
man man, чтобы открыть справочную страницу man. Оказавшись на странице
руководства, введите /-k, чтобы найти описание параметра -k. Введите n несколько раз,
пока не дойдете до строки с описанием опции. Вы увидите, что man -k эквивалентно
apropos и что вы можете прочитать справочную страницу apropos для получения более
подробной информации. Итак, введите q, чтобы закрыть эту страницу руководства.
2. Наберите man apropos и прочтите первые абзацы описания. Вы увидите, что база данных,
которую искал apropos, обновляется программой mandb.
3. Введите man mandb. Эта страница руководства объясняет, как запустить mandb для
обновления базы данных mandb. По мере чтения все, что вам нужно сделать, это набрать
mandb, который сделает всю работу за вас.
4. Введите mandb, чтобы обновить базу данных mandb. Обратите внимание, что вы не
увидите много добавляемых страниц руководства, если база данных mandb уже была
достаточно точной.

Использование команды info

Помимо информации, которую вы найдете на страницах руководства, другая система


предоставляет помощь по использованию команд. Это информационная система. Большинство
команд задокументировано на страницах руководства, но некоторые команды имеют основную
документацию в информационной системе, и на странице руководства отображается только
краткое описание использования. Если это так, в разделе «См. Также» на странице руководства по
этой команде будет сказано, что «Полный документация для… поддерживается как руководство в
формате Texinfo ». Затем вы можете прочитать информационную страницу, используя команду
pinfo или info. Обе команды работают, но в pinfo специальные элементы, такие как пункты меню,
четко обозначены, поэтому использовать pinfo проще.
При работе с информацией смотрите на верхнюю строку программы просмотра. Это
показывает текущую позицию в информационном документе. Особенно интересны индикаторы
«Вверх», «Далее» и «Назад», которые рассказывают, как ориентироваться. Информационные
страницы организованы как веб-страницы, что означает, что они организованы иерархически.
Чтобы просмотреть эту иерархию, введите n, чтобы перейти на следующую страницу, p, чтобы
перейти на предыдущую страницу, или u, чтобы перейти вверх по иерархии.
На информационной странице вы также найдете меню. Каждый пункт, отмеченный звездочкой
(*), является пунктом меню. Используйте клавиши со стрелками для выбора определенного пункта
меню. Это опустит вас на один уровень. Чтобы снова подняться, введите u. Это вернет вас к
исходной начальной точке в иерархии pinfo. На рис. 2-2 показано, как выглядит информационная
страница.

В упражнении 2-8 показан пример такой команды, и в этом упражнении вы узнаете, как
получить информацию с информационной страницы.

Упражнение 2-8 Использование информации

1. Введите man ls. После открытия страницы введите G, чтобы перейти в конец страницы
руководства и просмотреть раздел «См. Также». Он сообщает вам, что полная
документация по ls поддерживается в виде руководства в формате Texinfo. Закройте
страницу руководства, нажав q.

49
2. Введите команду pinfo coreutils 'ls invocation'. Это показывает информацию об
использовании ls на странице pinfo. Прочтите его и нажмите q, когда закончите.

РИСУНОК 2-2. Получение дополнительной информации об использовании команд с


помощью pinfo

Использование файлов документации /usr/share/doc


Третий источник информации - это файлы, которые иногда копируются в каталог
/usr/share/doc. Это происходит, в частности, для сервисов и более крупных систем это немного
сложнее. Обычно вы не найдете много информации о такой команде, как ls, но некоторые
cлужбы предоставляют полезную информацию в /usr/share/doc.
Некоторые службы хранят в этом каталоге очень полезную информацию, например,
rsyslog, bind, Kerberos и OpenSSL. Для некоторых сервисов включены даже файлы примеров.
Одним из примеров таких сервисов является VDO, который более подробно рассматривается в
главе 15 «Управление расширенным хранилищем».

Резюме
В этой главе вы прочитали об основных задачах администрирования Linux. Вы узнали о
некоторых важных основах оболочки, таких как перенаправление ввода-вывода, работа с историей
и управление средой. Вы также узнали, как редактировать текстовые файлы с помощью редактора
vim. В последней части этой главы вы узнали, как искать информацию с помощью man и
связанных команд.

Задачи подготовки к экзамену


Как упоминалось в разделе «Как пользоваться этой книгой» во введении, у вас есть несколько
вариантов подготовки к экзамену: лабораторные работы в конце главы; таблицы в Приложение B;
Глава 26, «Заключительная подготовка»; и практические экзамены.

50
Просмотрите все ключевые темы

Просмотрите наиболее важные темы в главе, отмеченные значком ключевой темы на внешнем
поле страницы. В Таблице 2-5 перечислены ссылки на эти ключевые темы и указаны номера
страниц, на которых каждый из них находится.
Таблица 2-5 Ключевые темы главы 2

Элемент ключевой темы Описание Страница

Таблица 2-4 Основные команды vim 42


Список Значимые разделы в man 49

Заполните таблицы и списки для памяти


Распечатайте копию Приложения B, «Таблицы памяти» (можно найти на сопутствующем веб-
сайте) или, по крайней мере, раздел этой главы, и заполните таблицы и памятки. Приложение C,
«Ключ ответов к таблицам памяти», включает заполненные таблицы и списки для проверки вашей
работы.

Определить ключевые термины


Определите следующие ключевые термины из этой главы и проверьте свои ответы в глоссарии:
shell, bash, internal command, external command, $PATH, variable, STDIN, STDOUT,
STDERR, file descriptor, pipe, redirect, device files, environment, login shell, subshell (оболочка,
bash, внутренняя команда, внешняя команда, $ PATH, переменная, STDIN, STDOUT,
STDERR, дескриптор файла, конвейер, перенаправление, файлы устройства, среда,
оболочка входа, подоболочка)

Обзорные вопросы
Следующие ниже вопросы помогут вам проверить свои знания концепций и терминологии, а
также широту ваших знаний. Вы можете найти ответы на эти вопросы в Приложении А.
1. Что такое переменная?
2. Какая команда позволяет найти правильную страницу руководства на основе
использования ключевых слов?
3. Какой файл вам нужно изменить, если вы хотите, чтобы переменная задавалась для каждой
запускаемой оболочки?
4. Анализируя, как использовать команду, вы читаете, что документация поддерживается
системой Techinfo. Как можно прочитать информацию?
5. Как называется файл, в котором Bash хранит свою историю?
6. Какая команда позволяет обновлять базу данных, содержащую ключевые слова man?
7. Как вы можете отменить последнюю модификацию, которую вы применили в vim?
8. Что вы можете добавить к команде, чтобы убедиться, что она не выводит сообщение об
ошибке, при условии, что вам не важна информация, содержащаяся в сообщениях об
ошибках?
9. Как вы читаете текущее содержимое переменной $PATH?
10. Как повторить последнюю использованную команду, содержащую строку dog где-нибудь
в команде?

51
Лабораторная работа в конце главы
Теперь вы узнали о некоторых из наиболее важных базовых навыков, которыми должен
обладать администратор Linux. В этом разделе вы примените эти навыки, выполнив лабораторную
работу в конце главы.
Лабораторная работа 2.1
1. Измените среду оболочки (shell environment) так, чтобы для каждой запущенной
подоболочки (subshell) устанавливалась переменная. Имя переменной должно быть
COLOR, а значение должно быть red. Убедитесь, что он работает.
2. Используйте соответствующие инструменты, чтобы найти команду, с помощью которой
можно установить системное время на 1 минуту вперед.
3. В своем домашнем каталоге введите команду ls -al wergihl * и убедитесь, что ошибки, а
также обычный вывод перенаправляются в файл с именем /tmp/lsoutput.

52
Глава 3

В этой главе рассматриваются следующие темы:


▪ Работа с иерархией файловой системы
▪ Управление файлами
▪ Использование ссылок
▪ Работа с архивами и сжатыми файлами

В этой главе рассматриваются следующие цели экзамена RHCSA:


▪ Создавать, удалять, копировать и перемещать файлы и каталоги.
▪ Архивировать, сжимать, распаковывать и распаковывать файлы с помощью tar, star, gzip
и bzip2.
▪ Создавайте жесткие и символические ссылки.
Linux - это файловая операционная система. Это означает, что многие вещи, которые должен
делать администратор в Linux, можно проследить до управления файлами в операционной системе
Linux. Также при использовании аппаратных устройств задействуются файлы. Эта глава знакомит
вас с основными навыками управления файлами. Вы узнаете, как устроена файловая система Linux
и как вы можете работать с файлами и каталогами. Вы также узнаете, как управлять ссылками и
сжатыми или несжатыми архивами.

Основные инструменты управления файлами

Опрос «Знаю ли я это?»


Опрос «Знаю ли я это?» позволяет вам оценить, следует ли вам полностью прочитать эту
главу или перейти к разделу «Задачи подготовки к экзамену». Если вы сомневаетесь в своих
ответах на эти вопросы или в собственной оценке своих знаний по темам, прочитайте всю главу.
В таблице 3-1 перечислены основные заголовки в этой главе и соответствующие им «Знаю ли я
это?» вопросы викторины. Вы можете найти ответы в Приложении A, «Ответы на тесты «Знаю ли
я это уже?» и «Контрольные вопросы»».
Таблица 3 - 1 «Знаю ли я это уже?» Сопоставление раздела с вопросом

Раздел основных тем Вопросы

Работа с иерархией файловой системы 1–4


Управление файлами 5–7
Использование ссылок 8
Работа с архивами и сжатыми файлами 10

1. В каком каталоге вы ожидаете найти ненужные программные файлы?

a. /etc
b. /boot
53
c. /home
d. /usr

2. В каком каталоге вы ожидаете найти файлы журналов?

a. mount
b. mount -a
c. df -hT
d. du –h

3. Какие из следующих каталогов обычно не монтируются на собственном выделенном


устройстве?

a. /etc
b. /boot
c. /home
d. /usr

4. Какая из следующих команд даст наиболее точный обзор смонтированных дисковых


устройств (без отображения дополнительной информации о смонтированных системных
устройствах)?

a. mount
b. mount -a
c. df -hT
d. du –h

5. Какая команда позволяет отображать все файлы в текущем каталоге, чтобы самые новые
файлы указывались последними?

a. ls -lRt
b. ls -lrt
c. ls -alrt
d. ls –alr

6. Какая команда позволяет копировать как скрытые, так и обычные файлы из /home/$ USER
в текущий каталог?

a. cp -a /home/$USER .
b. cp -a /home/$USER/* .
c. cp -a /home/$USER/. .
d. cp -a home/$USER. .

7. Какая команда позволяет вам переименовать файл myfile в mynewfile?

a. mv myfile mynewfile
b. rm myfile mynewfile
c. rn myfile mynewfile
d. ren myfile mynewfile

8. Какое утверждение о жестких ссылках не соответствует действительности?

a. Невозможно создать жесткие ссылки на каталоги.


b. Жесткие ссылки не могут ссылаться на файлы на других устройствах.

54
c. Inode хранит счетчик жестких ссылок.
d. Если исходная жесткая ссылка удалена, все остальные жесткие ссылки станут
недействительными.

9. Какая команда создает символическую ссылку на каталог /home в каталоге /tmp?

a. ln /tmp /home
b. ln /home /tmp
c. ln -s /home /tmp
d. ln -s /tmp /home

10. Какая опция tar позволяет добавить один файл в архив tar?

a. -a
b. -A
c. -r
d. –u

Основные Темы

Работа с иерархической структурой файловой системы

Чтобы управлять системой Linux, вы должны быть знакомы с существующими каталогами


созданных по умолчанию, существующих почти во всех системах Linux. В этом разделе
описываются эти каталоги и объясняется, как монтирования используются для создания ерархии
файловой системы.

Определение иерархии файловой системы

Файловая система в большинстве систем Linux организована аналогичным образом. Структура


файловой системы Linux определена в Стандарте иерархии файловой системы (Filesystem
Hierarchy Standard (FHS)), и эта иерархия файловой системы описана в man 7. В таблице 3-2
приведен обзор наиболее важных каталогов, которые вы встретите в системе Red Hat Enterprise
Linux (RHEL), как указано в FHS.

Таблица 3-2 Обзор FHS

Каталог Назначение

/ Корневой каталог. Здесь начинается дерево файловой системы.

/boot Содержит все файлы и каталоги, необходимые для загрузки ядра Linux.

Содержит файлы устройств, которые используются для доступа к физическим


/dev
устройствам. Этот каталог важен во время загрузки.
Содержит файлы конфигурации, которые используются программами и
/etc
службами на вашем сервере. Этот каталог важен во время загрузки.

55
/home Используется для домашних каталогов локальных пользователей.
Содержат каталоги, которые используются для монтирования устройств в дереве
/media, /mnt
файловой системы.
Используется для дополнительных пакетов, которые могут быть установлены на
/opt
вашем сервере.
Используется файловой системой proc. Это структура файловой системы,
/proc
которая дает доступ к информации ядра.
/root Домашний каталог пользователя root.
Содержит информацию о процессе и пользователя, созданную с момента
/run
последней загрузки.
/srv Может использоваться для данных такими службами, как NFS, FTP и HTTP.
Используется как интерфейс для различных аппаратных устройств, которым
/sys
управляет ядро Linux и связанные с ним процессы.
Содержит временные файлы, которые могут быть удалены без предупреждения
/tmp
во время загрузки.
Содержит подкаталоги с программными файлами, библиотеками для этих
/usr
программных файлов и документацией по ним.
Содержит файлы, размер которых может изменяться динамически, например
/var
файлы журналов, почтовые ящики и файлы очереди.

Понимание монтирования (подключения)

Для понимания организации файловой системы Linux важна концепция монтирования.


Файловая система Linux представлена в виде одной иерархии с корневым каталогом (/) в качестве
отправной точки. Эта иерархия может быть распределена по различным устройствам и даже
компьютерным системам, которые смонтированы в корневом каталоге.
В процессе монтирования устройство подключается к определенному каталогу, так что после
успешного монтирования этот каталог предоставляет доступ к содержимому устройства.
Монтирование устройств позволяет гибко организовать файловую систему Linux. Хранение
всех файлов в одной файловой системе имеет несколько недостатков, что дает несколько веских
причин для работы с несколькими точками монтирования:

▪ Высокая активность в одной области может привести к заполнению всей файловой


системы, что отрицательно повлияет на службы, работающие на сервере.
▪ Если все файлы находятся на одном устройстве, трудно обеспечить безопасный доступ и
различить разные области файловой системы с разными требованиями безопасности.
Смонтировав отдельную файловую систему, можно добавить параметры монтирования для
удовлетворения конкретных требований безопасности.
▪ Если файловая система на одном устройстве полностью заполнена, может быть сложно
выделить дополнительное пространство для хранения.

Чтобы избежать этих ловушек, обычно файловые системы Linux организуют на разных
устройствах (и даже на общих ресурсах других компьютерных систем), таких как разделы дисков
и логические тома, и монтируют эти устройства в иерархию файловой системы. При настройке
устройства в качестве выделенного монтирования, можно также использовать специфические

56
параметры монтирования, которые могут ограничить доступ к устройству. Некоторые каталоги
обычно монтируются на выделенных устройствах:

▪ /boot: Этот каталог часто монтируется на отдельном устройстве, так как он требует
существенной информации, необходимой для загрузки компьютера. Так как корневой
каталог (/) часто находится на логическом томе Logical Volume Manager (LVM), с которого
Linux не может загрузиться по умолчанию, ядро и связанные с ним файлы необходимо
хранить отдельно на специальном устройстве /boot.
▪ /var: этот каталог часто находится на выделенном устройстве, потому что он увеличивается
в размее динамически и неконтролируемым образом (например, из-за файлов журнала,
которые записываются в /var/log). Установив его на специальное устройство, вы можете
убедиться, что он не заполнит всю память на вашем сервере.
▪ /home: этот каталог часто находится на выделенном устройстве из соображений
безопасности. Поместив его на выделенное устройство, его можно смонтировать с
определенными параметрами, такими как noexec и nodev, для повышения безопасности
сервера. При переустановке операционной системы лучше иметь домашние каталоги в
отдельной файловой системе. При размещении на отдельной файловой системе домашние
каталоги при необходимости могут пережить переустановку системы.
▪ /usr: Этот каталог содержит только файлы операционной системы, к которым обычным
пользователям не требуется права записи. Размещение этого каталога на выделенном
устройстве позволяет администраторам настроить его как монтирование только для чтения.

Помимо этих каталогов, вы можете найти серверы, на которых есть другие каталоги, которые
также подключены к выделенным разделам или томам. В конце концов, решение о том, какие
каталоги получат свои выделенные устройства, остается на усмотрение администратора.
Чтобы получить обзор всех устройств и их точек монтирования, вы можете использовать
разные команды:

Команда mount дает обзор всех подключенных устройств. Чтобы получить эту информацию,
читается файл /proc/mounts, в котором ядро хранит информацию обо всех текущих
монтированиях. Он также показывает интерфейсы ядра, что может привести к отображению
длинного списка подключенных устройств. В примере 3-1 показан пример вывода этой команды.

Пример 3-1 Частичный вывод команды mount

57
▪ Команда df -Th была разработана для отображения доступного дискового пространства на
подключенных устройствах; вывод включает в себя большинство системных
монтирований. Поскольку команда будет проверять все смонтированные файловые
системы, это удобно для получения обзора текущих смонтированных систем. Параметр -h
суммирует вывод команды в удобочитаемом виде, а параметр -T показывает, какой тип
файловой системы используется при различных присоединение.
▪ Команда findmnt показывает подключения и отношения, существующие между
различными монтированиями. Поскольку вывод команды mount немного перегружен, вам
может понравиться вывод findmnt. В примере 3-2 показан пример вывода этой команды.
Обратите внимание, что из-за ограничений ширины на странице книги выходные данные,
относящиеся к столбцу OPTIONS, отображаются в левой части страницы. (при переводе
для ясности вставлены рисунки)

Пример 3-2 Пример вывода данных команды findmnt

58
В упражнении 3-1 вы используете разные команды, чтобы получить обзор
установленных в данный момент устройств.

Упражнение 3-1 Обзор под монтированных устройств

1. Войдите в систему как обычный пользователь и введите mount. Обратите внимание, что
вывод команды довольно ошеломляющий. Однако если вы внимательно прочитаете, вы
увидите несколько каталогов из структуры каталогов Linux и их соответствующие точки
монтирования.
2. Теперь введите df -hT. Обратите внимание, что отображается намного меньше устройств.
Пример вывода этой команды показан далее в Примере 3-3.

Пример 3-3 df -hT Пример вывода (при переводе вставлен скрин)

Теперь, когда вы ввели команды mount и df, давайте внимательнее посмотрим на вывод
команды df -hT в примере 3-3.

Вывод df отображается в семи столбцах:

▪ Файловая система(Filesystem): имя файла устройства, который взаимодействует с


используемым дисковым устройством. Реальные устройства в выводе начинаются с /dev
(который относится к каталогу, который используется для хранения файлов устройств). Вы
также можете увидеть пару устройств tmpfs. Это устройства ядра, которые используются
для создания временной файловой системы в ОЗУ.
▪ Тип(Type): тип использованной файловой системы.
▪ Размер(Size): размер установленного устройства.
▪ Используется(Used): объем дискового пространства, которое используется устройством.
▪ Доступно(Avail): количество неиспользуемого дискового пространства.
▪ Использовано%( Use): процент устройства, которое в настоящее время используется.
▪ Подмонтированый на (Mounted on): каталог, в котором в настоящее время смонтировано
устройство.

Обратите внимание, что при использовании команды df размеры указываются в килобайтах.


Параметр -m отобразит их в мегобайтах, а использование -h отобразит удобочитаемый формат в
KiB, MiB, GiB, TiB или PiB.

Управление файлами

59
Как администратор, вы должны иметь возможность выполнять общие задачи по управлению
файлами.

Эти задачи включают следующее:

▪ Работа с подстановочными знаками (wildcards)


▪ Управление каталогами и работа с ними
▪ Работа с абсолютными и относительными путями
▪ Список файлов и каталогов
▪ Копирование файлов и каталогов
▪ Перемещение файлов и каталогов
▪ Удаление файлов и каталогов

В следующих подразделах объясняется, как выполнять эти задачи.

Работа с подстановочными знаками


При работе с файлами использование подстановочных знаков может значительно облегчить
вашу работу. Подстановочный знак - это функция оболочки, которая помогает вам легко ссылаться
на несколько файлов. Таблица 3-3 дает обзор подстановочных символов.

Таблица 3-3 Обзор подстановочных знаков (Wildcard)

Подстановочный знак Использовать


* Относится к неограниченному количеству любых символов. ls*,
например, показывает все файлы в текущем каталоге (кроме тех,
имя которых начинается с точки).
? Используется для обозначения одного конкретного символа,
которым может быть любой символ. ls c?t будет соответствовать
cat, а также cut.

[auo] Относится к одному символу, который может быть выбран из


диапазона, указанного в квадратных скобках. ls c[auo]t будет
соответствовать cat, cut, и cot..

Управление каталогами и работа с ними

Для организации файлов Linux работает с каталогами (также называемыми папками). Вы уже
читали о некоторых каталогах по умолчанию, определенных FHS. Когда пользователи начинают
создавать файлы и хранить их на сервере, имеет смысл также предоставить структуру каталогов.
Как администратор, вы должны иметь возможность перемещаться по структуре каталогов. В
упражнении 3-2 вы попрактикуетесь в работе с каталогами.

Упражнение 3-2 Работа с каталогами

1. Откройте оболочку как обычный пользователь. Введите cd. Далее введите pwd, что
расшифровывается как print working directory (вывести имя текущего каталога). Вы

60
увидите, что в данный момент находитесь в своем домашнем каталоге, то есть
/home/<username>
2. Введите touch file1. Эта команда создает на вашем сервере пустой файл с именем file1.
Поскольку вы в настоящее время находитесь в своем домашнем каталоге, вы можете
создать любой файл или каталог, который вы посчитаете необходимым.
3. Введите cd /. Данная команда изменяет текущий каталог на корневую (/) директорию.
Введите touch file2. Вы увидите сообщение «В разрешении отказано (permission denied)».
Обычные пользователи могут создавать файлы только в тех каталогах, в которых у них есть
необходимые для этого разрешения.
4. Введите cd /tmp. Выполнение команды приведет вас в каталог /tmp, где все пользователи
имеют права на запись. Снова введите touch file2. Вы увидите, что вы можете создавать
разные элементы в каталоге /tmp (если еще нет файла с именим file2, который принадлежит
другому пользователю).
5. Введите cd без аргументов. Эта команда возвращает вас в ваш домашний каталог.
6. Введите mkdir files. Это создает каталог с именами files в текущем каталоге. Команда
mkdir использует имя каталога, который должен быть создан в качестве от носительного
имени; оно относится к позиции, в которой вы в данный момент находитесь.
7. Введите mkdir /home/$USER/files. В этой команде вы используете переменную $USER,
которая замениться вашим текущим именем пользователя. Полный аргумент mkdir - это
абсолютное имя файла для файлов каталога, которые вы пытаетесь создать. Поскольку этот
каталог уже существует, вы получите сообщение об ошибке «файл существует (file
exists)».
8. Введите rmdir files, чтобы удалить только что созданные файлы каталога. Команда rmdir
позволяет удалять каталоги, но работает только в том случае, если каталог пуст, не
содержит файлов.

Работа с абсолютными и относительными путями

В предыдущем разделе вы работали с командами cd и mkdir. Вы использовали эти команды


для просмотра структуры каталогов. Вы также работали с относительным именем файла и
абсолютным именем файла.

Абсолютное имя файла (absolute filename) или абсолютный путь (absolute pathname) - это
полный путь к файлу или каталогу, с которым вы хотите работать. Этот путь начинается с
корневого каталога, за которым следуют все подкаталоги вплоть до фактического имени файла.
Независимо от того, какой у вас текущий каталог, всегда будут работать абсолютные имена
файлов. Примером абсолютного имени файла является /home/lisa/file1.

Относительное имя файла относится к текущему каталогу, как показано с помощью команды
pwd. Он содержит только те элементы, которые необходимы для получения из текущего каталога
до нужного вам элемента. Предположим, что ваш текущий каталог - /home (как показано командой
pwd). Когда вы ссылаетесь на относительное имя файла lisa/file1, вы имеете в виду абсолютное
имя файла /home/lisa/file1.
При работе с относительными именами файлов иногда полезно подняться на один уровень
иерархии. Представьте, что вы вошли в систему как root и хотите скопировать файл
/home/lisa/file1 в каталог /home/lara. Для этого подойдут несколько решений:

61
▪ Используйте cp /home/lisa/file1 /home/lara. Поскольку в этой команде вы используете
абсолютные пути, эта команда будет работать всегда.
▪ Убедитесь, что ваш текущий каталог /home, и используйте cp lisa/file1 lara. Обратите
внимание, что как исходный файл, так и файл назначения упоминаются как относительные
имена файлов и по этой причине не начинаются с символа /.
▪ Если текущий каталог установлен в /home/lisa, вы также можете использовать cp file1
../lara. В этой команде в имени целевого файла используется (..), что означает переход на
один уровень выше. После (..) следует /lara, поэтому полное имя целевого файла будет
интерпретировано как «подняться на один уровень» (так что вы окажетесь в /home), а
оттуда найдите подкаталог /lara.

СОВЕТ
Если вы новичок в работе с Linux, понять относительное имя файла не всегда легко. Однако есть
простой обходной путь. Просто убедитесь, что вы всегда работаете с абсолютными путями. В
результате необходимо больше печатать, но это проще, поэтому вы будете делать меньше ошибок.

В главе 2, «Использование основных инструментов», вы узнали, как можно использовать


завершение Bash с помощью клавиши Tab для выполнения команд. Использование авто
дополнения Bash значительно упрощает работу с длинными командами. Авто завершение Bash
работает и с именами файлов. Если у вас длинное имя файла, например my-long-file-name,
попробуйте ввести my- и нажмите клавишу TAB. Если в текущем каталоге только один файл имеет
имя, начинающееся с my-, имя файла будет автоматически добавлено. Если есть другие файлы,
имена которых начинаются с my-, вам нужно дважды нажать клавишу TAB, чтобы увидеть список
всех доступных имен файлов.

Список файлов и каталогов

При работе с файлами и каталогами полезно отображать содержимое текущего каталога. Для
этого вы можете использовать команду ls. Если использовать команду без аргументов, ls
показывает содержимое текущего каталога. Некоторые распространенные аргументы облегчают
работу с ls. Таблица 3-4 дает их обзор.

Таблица 3-4 Общие параметры командной строки ls

Команда Использование

Показывает длинный список, который включает информацию о свойствах файла,


ls -l
таких как дата создания и разрешения.
ls -a Показывает все файлы, включая скрытые.
Это очень полезная команда. Он показывает команды, отсортированные по дате
ls -lrt модификации. Последними в списке будут отображаться файлы, которые были
недавно изменены.
Показывает имена каталогов, а не содержимое всех каталогов, соответствующих
ls -d
подстановочным знакам, которые использовались с командой ls.
Показывает содержимое текущего каталога в дополнение ко всем его
ls -R
подкаталогам; то есть он рекурсивно спускается по всем подкаталогам.

62
СОВЕТ
Скрытый файл в Linux - это файл, имя которого начинается с точки. Выполните следующую
команду: touch .hidden. Затем введите ls. Вы не увидите созданный файл. Затем введите ls -a.
Теперь вы сможете его увидеть.

При использовании ls и ls -l вы увидите, что файлы имеют разную цветовую градацию. Разные
цвета, используемые для разных типов файлов, позволяют легче различать разные типы файлов.
Однако не зацикливайтесь на них слишком сильно, потому что цвета, являются результатом
настройки переменной, которая может отличаться в других оболочках Linux или на других
серверах Linux.

Копирование файлов

Чтобы упорядочить файлы на своем сервере, вы часто будете копировать файлы. В этом вам
поможет команда cp. Копирование одного файла несложно: просто используйте команду с
указанием необходимых аргументов cp /path/to/file /path/to/destination. Для примера, что бы
скопировать файл /etc/hosts в каталог /tmp, используйте cp /etc/hosts /tmp. В результате файл hosts
записывается в каталог /tmp.

СОВЕТ
Если вы копируете файл в каталог, но целевой каталог не существует, будет создан файл с именем
предполагаемого целевого каталога. Во многих случаях это не лучшее решение, и было бы лучше
просто получить сообщение об ошибке. Вы можете сделать это, поместив / после имени каталога,
поэтому используйте cp /etc/hosts/tmp/, а не cp /etc/hosts/tmp.

С помощью команды cp вы можете скопировать весь подкаталог с его содержимым и всем, что
находится под ним. Для этого используйте параметр -R, что означает рекурсивный. (Вы также
увидите параметр -R со многими другими командами Linux.) Например, чтобы скопировать
каталог /etc и всё, что находится в нем, в каталог /tmp, вы должны использовать команду cp -R
/etc/sound.
При использовании команды cp необходимо учитывать разрешения и другие свойства файлов.
Без дополнительных опций вы рискуете, что эти свойства не будут скопированы. Если вы хотите
убедиться, что сохраняете текущие разрешения, используйте параметр -a, который позволяет cp
работать в режиме архива. Эта опция гарантирует, что разрешения и все другие свойства файла
будут сохранены во время копирования. Итак, чтобы скопировать точное состояние вашего
домашнего каталога и всего, что внутри него, в каталог /tmp, используйте cp -a ~ /tmp.
Особый случай при работе с командой cp - это скрытые файлы. По умолчанию скрытые файлы
не копируются. Есть три решения для копирования скрытых файлов:

▪ cp /somedir/.* /tmp Копирует все файлы, имена которых начинаются с точки (то есть
скрытые файлы), в /tmp. Он выдает сообщение об ошибке для каталогов, имя которых
начинается с точки в /somedir, потому что параметр -R не использовался.
▪ cp -a /somedir/ . Это копирует весь каталог /somedir, включая его содержимое, в текущий
каталог. Итак, в результате подкаталог somedir будет быть создан в текущем каталоге.
▪ cp -a / somedir/ .. Будут скопированы все файлы, обычные и скрытые, в текущий каталог
(обратите внимание на пробел между двумя точками в конце этой команды).

Перемещение файлов

63
Чтобы переместить файлы, вы используете команду mv. Эта команда удаляет файл из его
текущего местоположения и помещает его в новое местоположение. Вы также можете
использовать его для переименования файла (что, по сути, есть не что иное, как копирование и
удаление исходного файла). Давайте посмотрим на несколько примеров:

▪ mv myfile /tmp: перемещает файл myfile из текущего каталога в / tmp.


▪ mkdir somefiles; mv somefiles /tmp: сначала создает каталог с именем somefiles, а затем
перемещает созданный каталог в /tmp. Обратите внимание, что это также работает, если
каталог не пустой и содержит файлы.
▪ mv myfile mynewfile: переименовывает файл myfile в новый файл с именем mynewfile.

Удаление файлов

Последняя распространенная задача администрирования файлов - это удаление файлов. Чтобы


удалить файлы или каталоги, вы используете команду rm. При выполнении команды
применительно к одному имени файла, удалиться файл с указанным именем. Вы также можете
использовать команду применительно к каталогам, содержащих файлы. Для этого включите
параметр -r, который снова означает рекурсивный.

ПРИМЕЧАНИЕ.
Многие команды имеют параметр, который задаёт рекурсивное поведение. В некоторых командах
вы используете опцию -R, а в других командах вы используете опцию -r. Это сбивает с толку, но
так оно и есть.

В RHEL 8, если вы используете команду rm как root, команда запрашивает подтверждение для
удаления. Это потому, что в /root/.bashrc rm определяется как alias rm -i. Если вам это не нравится,
вы можете использовать параметр -f или удалить alias из /root/.bashrc. Убедитесь, что вы знаете,
что делаете, когда используете эту опцию, потому что после ее использования нет пути назад,
кроме восстановления из бэкапа!

В упражнении 3-3 вы работаете с обычными утилитами управления файлами.

ПРИМЕЧАНИЕ.
В этом упражнении точки важны и используются как часть команд. Чтобы избежать путаницы,
если обычно точка используется для обозначения конца предложения, в этом упражнении мы не
использовали ее, если она следует сразу за командой.

Упражнение 3-3 Работа с файлами

На рис. 3-1 представлен обзор структуры каталогов, с которой вы работаете в этом упражнении.

РИСУНОК 3-1 Обзор примерной структуры каталогов

64
1. Откройте shell как обычный пользователь.
2. Введите pwd.
Вы должны быть в каталоге /home/$USER (примечание переводчика: для примера
/home/alex (где alex) имя пользовательского каталога).
3. Введите mkdir newfiles oldfiles.
Наберите команду ls
Вы увидите два только что созданных каталога.
4. Введите touch newfiles/.hidden и touch newfiles/unhidden.
Это создает два файла в каталоге newfiles.
5. Введите cd oldfiles.
6. Введите ls -al
Здесь показаны только два элемента: (.), Который относится к текущему каталогу; и (..),
который относится к элементу выше (родительский каталог).
7. 7. Введите ls -al ../newfiles.
В этой команде вы используете относительный путь для ссылки на содержимое каталога
/home/$USER/newfiles.
8. Используйте команду cp -a ../newfiles/ . (обратите внимание на пробел между / и . в конце
команды).
9. Введите ls -a
Вы видите, что вы создали подкаталог newfiles в каталоге oldfiles.
10. Убедитесь, что вы по-прежнему находитесь в /home/$USER/oldfiles, и введите rm -rf
newfiles.
11. Теперь используйте команду cp -a ../newfiles/* .. (обратите внимание на пробел между * и
..). Введите ls -al, чтобы увидеть, что скопировано сейчас. Вы увидите, что скрытый файл
не был скопирован.
12. Чтобы убедиться, что вы копируете не только обычные, но и скрытые файлы, используйте
cp -a ../newfiles/ ..
13. Убедитесь, что на этот раз команда сработала, используя ls -al.
Вы заметите, что скрытые файлы, как и обычные файлы, были успешно скопированы.

Использование ссылок
Ссылки в Linux похожи на псевдонимы, назначаемые файлу. Есть символические ссылки и есть
жесткие ссылки. Чтобы понять ссылку, вам нужно немного узнать о том, как файловая система
Linux использует inodes для администрирования файловой системы.

Объяснение жестких ссылок

65
Linux хранит административные данные о файлах в индексных дескрипторах. Inode
используется для хранения всех административных данных о файлах. Каждый файл в Linux имеет
индексный дескриптор, и в нем хранится важная информация о файле:
▪ Блок данных, в котором хранится содержимое файла.
▪ Дата создания, доступа и изменения
▪ Разрешения
▪ Владельцы файлов
В индексном дескрипторе не хранится только одна важная информация: имя файла. Имена
хранятся в каталоге, и каждое имя файла знает, к какому inode оно должно обратиться для доступа
к дополнительной информации о файле. Интересно знать, что индексный дескриптор не знает,
какое имя он имеет; он просто знает, сколько имен связано с индексный дескриптор. Эти имена
называются жесткими ссылками.
Когда вы создаете файл, вы даете ему имя. По сути, это имя жесткая ссылка. В файловой
системе Linux можно создать несколько жестких ссылок на файл. Это может быть полезно,
поскольку позволяет получить доступ к файлу из нескольких разных мест. Однако к жестким
ссылкам применяются некоторые ограничения:

▪ Все жесткие ссылки должны существовать на одном устройстве (разделе, логическом томе
и т.д.).
▪ Вы не можете создавать жесткие ссылки на каталоги.
▪ Когда последние имя (жесткая ссылка) файла удаляется, доступ к данным файла также
удаляется.

Хорошая вещь о жестких ссылках заключается в том, что между первой жесткой ссылкой и
второй жесткой ссылкой нет разницы. Они обе являются просто жесткими ссылками, и если первая
жесткая ссылка, которая когда-либо существовала для файла, была удалена, это не повлияет на
другие жесткие ссылки, которые все еще существуют. Операционная система Linux использует
ссылки во многих местах, чтобы сделать файлы более доступными.

Понимание символических ссылок

Символьная ссылка (также называемая мягкая ссылка) не связывает непосредственно


индексный дескриптор, а к имени файла. Это делает символические ссылки более гибкими, но
также имеет некоторые недостатки. Преимущество символических ссылок в том, что они могут
ссылаться на файлы на других устройствах, а также на каталоги. Главный недостаток заключается
в том, что если исходный файл удаляется, символическая ссылка становится недействительной и
больше не работает.
Рисунок 3-2 дает схематический обзор того, как inodes (индексный дескриптор), жесткие
ссылки и символические ссылки связаны друг с другом.

РИСУНОК 3-2 Обзор ссылок и индексов

66
Создание ссылок
Используйте команду ln для создания ссылок. Команда использует тот же порядок параметров,
что и cp и mv; сначала вы упоминаете имя источника, а затем имя назначения. Если вы хотите
создать символическую ссылку, вы используете параметр -s, а затем указываете исходный и
целевой файл или каталог. Однако действует одно важное ограничение: чтобы иметь возможность
создавать жесткие ссылки, вы должны быть владельцем элемента, на который хотите создать
ссылку. Это относительно новое ограничение безопасности, введенное в RHEL 7. Таблица 3-5
показывает несколько примеров.

Таблица 3-5 Примеры использования команды ln

Команда Объяснение

ln /etc/hosts . Создает ссылку на файл /etc/hosts в текущем каталоге


ln -s /etc/hosts . Создает символическую ссылку на файл /etc/hosts в текущем каталоге
ln -s /home /tmp Создает символическую ссылку на каталог /home в каталоге /tmp

Команда ls покажет, является ли файл ссылкой:


В выводе команды ls -l, если файл является символической ссылкой, то первым символом будет
l. Если файл является символической ссылкой, вывод ls -l показывает имя элемента, на который
он ссылается, после имени файла.
Если файл является жесткой ссылкой, ls -l показывает счетчик жестких ссылок. В выходных
данных в примере 3-4 это номер 3, который стоит прямо перед root root для файла hosts.

Пример 3-4. Отображение свойств ссылки с помощью ls –l

67
ПРИМЕЧАНИЕ
В примере 3-4 используется команда \ls -l, а не ls -l. Команда ls по умолчанию является
псевдонимом, который заботится об использовании разных цветов при отображении команды ls; \
перед командой означает, что псевдоним (alias) не используется.

Удаление ссылок

Удаление ссылок может быть опасным. Чтобы понять, почему, давайте рассмотрим
следующую процедуру.

1. Создайте в домашнем каталоге каталог с именем test: mkdir ~/test.


2. Скопируйте все файлы, имена которых начинаются с a, b, c, d или e, из /etc в этот каталог:
cp /etc/[a-e]* ~/test.
3. Убедитесь, что вы находитесь в своем домашнем каталоге, используя cd без аргументов.
4. Введите ln -s test link.
5. Введите rm link. Это удаляет ссылку. (Не используйте -r или -f для удаления ссылок, даже
если они являются подкаталогами.)
6. Введите ls -l. Вы увидите, что символическая ссылка была удалена.
7. Давай сделаем это снова. Введите ln -s test link, чтобы создать ссылку снова.
8. Введите rm -rf link/ (это то, что вы получите, используя авто завершение командной строки
Bash).
9. Введите ls. Вы увидите, что ссылка на каталог все еще существует.
10. Введите ls test/ . Вы увидите, что каталог test теперь пуст.

В упражнении 3-4 вы узнаете, как работать с символическими и жесткими ссылками.

Упражнение 3-4 Работа с символическими и жесткими ссылками

1. Откройте оболочку (shell) как обычный (не root) пользователь.


2. В домашнем каталоге введите ln /etc/passwd .. (убедитесь, что команда заканчивается
точкой!) Эта команда выдает ошибку «операция запрещена», потому что вы не являетесь
владельцем /etc/passwd.
3. Введите ln -s /etc/passwd .. (снова убедитесь, что команда заканчивается точкой!) Это
работает; вам не обязательно быть владельцем, чтобы создать символическую ссылку.
4. Введите ln -s /etc/hosts (на этот раз без точки в конце команды). Вы заметите, что эта
команда тоже работает. Если цель не указана, ссылка создается в текущем каталоге.
5. Введите touch newfile и создайте жесткую ссылку на этот файл с помощью ln newfile
connectedfile.
6. Введите ls -l и обратите внимание на счетчик ссылок для нового и связанного файлов,
который в настоящее время установлен на 2.
7. Введите ln -s newfile symlinkfile, чтобы создать символическую ссылку на новый файл.
8. Введите rm newfile.
9. Введите cat symlinkfile. Вы получите сообщение об ошибке «Нет такого файла или
каталога», потому что исходный файл не может быть найден.
10. Введите cat connectedfile. Это не создает проблем.
11. Введите ls -l и посмотрите, как отображается файл символической ссылки. Также
посмотрите связанный файл, в котором теперь счетчик ссылок установлен на 1.
12. Введите ln connectedfile newfile.
13. Введите ls -l еще раз. Вы увидите, что исходная ситуация восстановлена.

68
Работа с архивами и сжатыми файлами

Управление архивами с помощью tar

Утилита Tape ARchiver (tar) используется для архивирования файлов. Хотя изначально tar был
разработан для потоковой передачи файлов на резервную ленту, в настоящее время tar
используется в основном для записи файлов в файл архива. На экзамене RHCSA вы должны уметь
выполнять четыре важных задачи с tar:

▪ Создать архив
▪ Список содержимого архива
▪ Распаковать архив
▪ Сжимать и распаковывать архивы

Создание архивов с помощью команды tar

Чтобы создать архив, вы используете команду tar -cf archivename.tar /files-you-want-


toarchive. Если вы хотите увидеть, что происходит, также используйте параметр -v. Чтобы
поместить файлы в архив, вам нужны, как минимум права на чтение файла и разрешения на
выполнение в каталоге, в котором находится файл. Используйте tar -cvf /root/homes.tar /home в
качестве пользователя root, чтобы записать содержимое /home каталог и все, что ниже, в файл
homes.tar в каталоге /root. Обратите внимание на используемые параметры; порядок в этих
вариантах важен.
Первоначально tar не использовал тире (-) перед опциями. Современные реализации tar
используют тире, как и все другие программы Linux, но они по-прежнему допускают старое
использование без тире для обратной совместимости. Для полного обзора актуальных опции
используемые, см. Таблицу 3-6.
При управлении архивами с помощью tar также можно добавить файл к существующему
архиву или обновить архив. Чтобы добавить файл в архив, используйте параметры -r.
Используйте, например, tar -rvf /root/homes.tar /etc/hosts, чтобы добавить файл /etc/hosts в архив.
Чтобы обновить существующий файл архива, вы можете использовать параметр -u. Итак,
используйте tar -uvf /root/homes.tar /home для записи новых версий всех файлов в /home в архив.

Мониторинг и извлечение файлов tar

Перед извлечением файла полезно знать, что можно ожидать. Чтобы узнать, можно
использовать параметр -t. Введите, например, tar -tvf /root/homes.tar, чтобы увидеть содержимое
архива tar.

СОВЕТ
Рекомендуется создавать архивные файлы с расширением, например .tar или .tgz, чтобы их можно
было легко распознать, но не все это делают. Если вы думаете, что файл представляет собой tar-
архив, но не уверены, используйте команду file. Например, если вы введете file somefile, команда
file проанализирует его содержимое и покажет в командной строке, какой это тип файла.

Чтобы извлечь содержимое архива, используйте tar -xvf /archivename. Даная команда
извлекает архив в текущий каталог. Это означает, что, если вы находитесь в /root при вводе tar -

69
xvf /root/homes.tar, и файл содержит каталог /home, после распаковки у вас появится новый
каталог /root/home, содержащий все файлы. Возможно, это не то, чего вы хотели достичь. Есть
два решения, чтобы поместить извлеченное содержимое туда, где вы хотите его получить:

▪ Перед извлечением файла архива перейдите в каталог, в который вы хотите извлечь файл.
▪ Используйте параметр -C /targetdir, чтобы указать целевой каталог, в который вы хотите
распаковать файл. Если вы хотите поместить содержимое файла /root/homes.tar, например,
в каталог /tmp, вы можете использовать tar -xvf homes.tar -C /tmp.

ПРИМЕЧАНИЕ.
В целях RHCSA упоминается, что вам также необходимо знать, как работать со star. Утилита
star была разработана для поддержки архивации атрибутов файлов, отличных от заданных
по умолчанию, таких как списки управления доступом (см. Глава 7, «Управление
разрешениями») или контекст файла SELinux (см. Глава 22, «Управление SELinux»). В своем
текущем выпуске tar также предлагает эту функциональность, поэтому нет реальной
необходимости использовать star.

Помимо извлечения всего файла архива, из архива также можно извлечь один файл. Для этого
используйте tar -xvf /archivename.tar file-you-want-to-extract (файл-который-вы-хотите-
извлечь). Если ваш архив etc.tar содержит файл /etc/hosts, который вы хотите извлечь, например,
выполните tar -xvf /root/etc.tar etc/hosts.

Использование сжатия

Многие файлы содержат много избыточности. Программы сжатия позволяют уменьшить


объем дискового пространства для файлов за счет устранения этой избыточности. Если нет
избыточности, вы не выиграете от сжатия. Во всех примерах команды tar, которые вы видели до
сих пор, ни один байт не был сжат. Изначально после создания архива его нужно было сжать
отдельной утилитой сжатия, такой как gzip или bzip2. После создания home.tar вы можете сжать
его с помощью gzip home.tar. gzip заменяет home.tar его сжатой версией home.tar.gz, которая
занимает значительно меньше места.
В качестве альтернативы использованию gzip вы можете использовать утилиту bzip2.
Первоначально в bzip2 использовался более эффективный алгоритм шифрования, что приводило
к уменьшению размеров файлов, но в настоящее время почти нет разницы в размере файла между
результатом bzip2 и результатом gzip.
Чтобы распаковать файлы, сжатые с помощью gzip или bzip2, вы можете использовать
утилиты gunzip и bunzip2; вы работаете с некоторыми примерами этой команды в упражнении 3-
5.

Таблица 3-6 Обзор опций tar

Вариант Назначение

c Создает архив.
v Показывает подробный вывод во время работы tar.

70
t Показывает содержимое архива.
z Сжимает/распаковывает архив при его создании с помощью gzip.
j Сжимает/распаковывает архив с помощью bzip2.
x Извлекает архив.
u Обновляет архив; в архив будут записаны только более новые файлы.
C Изменяет рабочий каталог перед выполнением команды.
r Добавляет файлы в архив.

Упражнение 3-5 Использование tar

1. Откройте shell как root на своем сервере. После входа в систему домашний каталог
пользователя root станет текущим каталогом, поэтому все относительные имена файлов,
используемые в этом упражнении, относятся к /root/.
2. Введите tar -cvf etc.tar /etc, чтобы заархивировать содержимое каталога /etc.
3. Введите file etc.tar и прочтите информацию, предоставленную командой.
Это должно выглядеть так:
[root @ server1 ~] # file etc.tar
tar: tar-архив POSIX (GNU)
4. Введите gzip etc.tar.
5. Введите tar tvf etc.tar.gz. Обратите внимание, что команда tar не имеет проблем с чтением
из сжатого файла gzip. Также обратите внимание, что содержимое архива состоит из всех
относительных имен файлов.
6. Введите tar xvf etc.tar.gz etc/hosts.
7. Введите ls -R. Обратите внимание, что в текущем каталоге был создан подкаталог etc. В
этом подкаталоге восстановлен файл hosts.
8. Введите gunzip etc.tar.gz. Данная команда распаковывает сжатый файл, но ничего не
меняет в отношении команды tar.
9. Введите tar xvf etc.tar -C /tmp etc/passwd. Это извлечет файл паролей в каталог /tmp.
10. Введите tar cjvf homes.tar /home. Это создает сжатый архив домашнего каталога в
домашний каталог пользователя root.
11. Введите rm -f *gz*tar, чтобы удалить все файлы, полученные в результате упражнений в
этой главе, из домашнего каталога /root.

Резюме
В этой главе вы узнали, как работать с основными инструментами управления файлами. Вы
узнали, как по умолчанию организована структура каталогов Linux, и вы узнали, какие типы
файлов ожидать в каких каталогах. Вы также узнали, как ориентироваться в структуре каталогов
и работать с файлами.

Задачи подготовки к экзамену

Как упоминалось в разделе «Как пользоваться этой книгой» во Введении, у вас есть несколько
вариантов подготовки к экзамену: лабораторные работы в конце главы; таблицы памяти в
Приложении B; Глава 26, «Заключительная подготовка»; и практические экзамены.

Просмотрите все ключевые темы

71
Просмотрите наиболее важные темы в главе, отмеченные значком ключевой темы на внешнем
поле страницы. В Таблице 3-7 перечислены ссылки на эти ключевые темы и указаны номера
страниц, на которых каждый из них находится.

Таблица 3-7 Ключевые темы главы 3

Элемент ключевой
Описание Страница
темы
Таблица 3-2 Обзор FHS 55
Таблица 3-3 Обзор подстановочных знаков 60
Пункт Определение абсолютного имени файла 61
Пункт Определение относительного имени файла 61
Таблица 3-4 ls общие параметры командной строки 62
Пункт Определение inode 65
Таблица 3-5 ln примеры использования 67
Таблица 3-6 Обзор опций tar 70

Заполните таблицы и списки по памяти

Распечатайте копию Приложения B, «Таблицы памяти» (можно найти на сопутствующем веб-


сайте) или, по крайней мере, раздел этой главы и заполните таблицы и списки по памяти.
Приложение C, «Таблица ответов на вопросы», включает заполненные таблицы и списки для
проверьте свою работу.

Определить ключевые термины

Определите следующие ключевые термины из этой главы и проверьте свои ответы в глоссарии:

Стандарт иерархии файловой системы (FHS), каталог, монтирование, устройство,


папка, корневой каталог, путь, жесткая ссылка, символическая ссылка, абсолютное
имя файла, относительное имя файла, inode, tar, gzip, сжатие, архивирование, bzip2,
star.

Обзорные вопросы

Следующие далее вопросы помогут вам проверить свои знания концепций и терминологии, а
также широту ваших знаний. Вы можете найти ответы на эти вопросы в Приложении А.

1. В какой каталог вы бы пошли, чтобы найти файлы конфигурации?


2. Какая команда позволяет отобразить список содержимого текущего каталога, причем
самые новые файлы будут перечислены первыми?
3. Какая команда позволяет переименовать файл myfile в yourfile?
72
4. Какая команда позволяет стереть всю структуру каталогов, включая все ее содержимое?
5. Как создать ссылку на каталог /tmp в вашем домашнем каталоге?
6. Как бы вы скопировали все файлы, имена которых начинаются с a, b или c, из каталога /etc
в текущий каталог?
7. Какая команда позволяет создать ссылку на каталог /etc в вашем домашнем каталоге?
8. Как можно безопасно удалить символическую ссылку на каталог?
9. Как создать сжатый архив каталогов /etc и /home и записать этот архив в /tmp/etchome.tgz?
10. Как бы вы извлекли файл /etc/passwd из /tmp/etchome.tgz, который вы создали на
предыдущем шаге?

Лабораторная работа в конце главы

В этой главе вы узнали, как выполнять основные задачи управления файлами. Управление
файлами - важная задача администратора Linux. Эта лабораторная работа в конце главы позволяет
вам попрактиковаться в этих навыках и убедиться, что вы овладели ими, прежде чем сдавать
экзамен RHCSA.

Лабораторная работа 3.1

1. Войдите в систему как пользователь root. В домашнем каталоге root создайте один
архивный файл, содержащий содержимое каталога /home и каталога /etc. Используйте имя
/root/essentials.tar для файла архива.
2. Скопируйте этот архив в каталог /tmp. Также создайте жесткую ссылку на этот файл в
каталоге /.
3. Переименуйте файл /essentials.tar в /archive.tar.
4. Создайте символическую ссылку в домашнем каталоге пользователя root, которая
ссылается на /archive.tar. Используйте имя link.tar для символической ссылки.
5. Удалите файл /archive.tar и посмотрите, что случилось с символической ссылкой. Удалите
также символическую ссылку.
6. Сожмите файл /root/essentials.tar.

73
Глава 4

В этой главе рассматриваются следующие темы:


▪ Использование Общих Инструментов, связанных с Текстовыми Файлами
▪ Учебник по использованию регулярных выражений
▪ Использование утилиты grep для анализа текста
▪ Работа с другими полезными утилитами обработки текста

В этой главе рассматриваются следующие цели экзамена RHCSA:


▪ Используйте grep и регулярные выражения для анализа текста.
▪ Создание и редактирование текстовых файлов.
С первых дней существования UNIX работа с текстовыми файлами была важным навыком
администратора. Даже в современных версиях Linux, таких как Red Hat Enterprise Linux 8, работа
с текстовыми файлами по-прежнему является важным умением. Применяя правильные
инструменты, вы легко найдете нужную информацию. Эта глава п