Перейти к содержанию

3.1 Назначение и функции текстового редактора vi (The Role and Function of the vi Text Editor)

Возможно, вы сейчас думаете: «Я умею работать с текстовыми редакторами в других операционных системах. В Windows у меня есть Notepad. Зачем посвящать целую главу текстовым редакторам в этой книге?» На то есть две причины:

  • Умение работать с текстовым редактором совершенно необходимо для управления системой Linux. Если вы не можете использовать текстовый редактор, вам будет трудно разобраться с остальными темами этой книги.
  • Текстовые редакторы Linux, откровенно говоря, трудны в освоении для большинства новых пользователей, особенно если вы пришли из мира Windows.

Совет к экзамену

Для экзаменов Linux+ и LPIC-1 вам необходимо знать только текстовый редактор vi. Поэтому уделите ему особое внимание. Вы должны хорошо знать, как открыть файл в vi, отредактировать его и сохранить изменения.

Поэтому в данной главе мы уделим значительное время изучению различных средств редактирования текста в Linux. Однако имейте в виду, что нередко доступны графические интерфейсы (front ends), позволяющие вносить изменения в конфигурационные файлы без непосредственного редактирования через текстовый редактор. Один из лучших графических интерфейсов, на мой взгляд, — Yet another Setup Tool (YaST), поставляемый в составе openSUSE Linux. Графический интерфейс YaST показан на рис. 3-1.

Рис. 3-1. Окно настроек YaST с разделами «Сетевые устройства» и «Сетевые службы».

Рис. 3-1. Настройка конфигурации системы с помощью YaST

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

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

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

Почему же мы посвящаем целую главу инструментам работы с текстом? Причин две:

  • Экзамены Linux+ и LPIC-1 не охватывают эти графические утилиты настройки. Чтобы сдать эти экзамены, вы должны хорошо знать текстовые конфигурационные файлы и текстовые редакторы, используемые для работы с ними.
  • Большинство администраторов Linux используют графические интерфейсы лишь ради удобства и не полагаются на них. Иными словами, хороший системный администратор Linux должен прекрасно знать конфигурационные текстовые файлы, стоящие за графическим интерфейсом, а не только сам интерфейс.

Имея это в виду, приступим к изучению текстовых редакторов. Для экзаменов Linux+ и LPIC-1 вам необходимо знать текстовый редактор vi. Редактор vi — это весьма простая программа, предназначенная для редактирования текстовых файлов в системе Linux. Редактор vi существует уже довольно долгое время и, осмелюсь утверждать, является одним из наиболее широко используемых текстовых редакторов среди системных администраторов Linux.

Существует два варианта vi. Более старый носит то же название — просто vi. Более новый называется vim (Vi IMproved — улучшенный Vi). На старых системах при вводе vi в приглашении командной строки вы, возможно, действительно будете использовать именно vi. Однако на большинстве современных дистрибутивов Linux при запуске vi вы, по всей видимости, будете работать с более новой версией — vim.

Исполняемый файл программы vi — это файл на жёстком диске системы по имени vim. На большинстве дистрибутивов исполняемый файл vim находится в каталоге /bin. В каталоге /usr/bin создаётся символьная ссылка (symbolic link) с именем vi, указывающая на исполняемый файл /bin/vim, как показано здесь:

openSUSE:/usr/bin # ls -al vi*
lrwxrwxrwx 1 root root 8 Nov  6 2013 vi -> /bin/vim
lrwxrwxrwx 1 root root 3 Nov  6 2013 view -> vim
lrwxrwxrwx 1 root root 8 Nov  6 2013 vim -> /bin/vim
lrwxrwxrwx 1 root root 3 Nov  6 2013 vimdiff -> vim

Обратите внимание, что в каталоге /usr/bin также существует файл vim, который является лишь символьной ссылкой на исполняемый файл /bin/vim.

Примечание

Символьная ссылка — это файл-ярлык, указывающий на другой файл в файловой системе. Символьные ссылки подробно рассматриваются в главе 4.

В итоге, какую бы команду вы ни ввели в приглашении командной строки — vi или vim — будет запущен редактор vim. Например, на рис. 3-2 показан ввод команды vi в приглашении командной строки системы Fedora. Обратите внимание, однако, что загружается именно редактор vim, о чём свидетельствует приветственный экран.

Рис. 3-2. Приветственный экран vim, отображаемый после запуска vi на системе Fedora.

Рис. 3-2. Работа с vim

Итак, рассмотрим редактирование текстовых файлов в vi.