Пособие для новичков во FreeBSD и UNIX®
Пред. |  | След.

# 5. Редактирование текста

Для конфигурации вашей системы вам нужно редактировать текстовые файлы. Большинство из них будут находиться в каталоге `/etc`; и вам необходимо командой `su` получить полномочия пользователя `root`, чтобы их править. Вы можете использовать простой редактор `ee`, однако в смысле перспективности лучше изучить текстовый редактор `vi`. В каталоге `/usr/src/contrib/nvi/docs/tutorial` есть прекрасный учебник по vi, если у вас есть исходники системы.

Перед тем, как редактировать файл, наверное, вы должны сохранить резервную копию. Предположим, что вы собираетесь отредактировать файл `/etc/rc.conf`. Вы можете воспользоваться командой `cd /etc` для перехода в каталог `/etc` и выполнить следующее:

    # cp rc.conf rc.conf.orig

При этом файл `rc.conf` скопируется в `rc.conf.orig`, и в последующем вы сможете скопировать `rc.conf.orig` в файл `rc.conf` для восстановления оригинала. Но ещё лучше его переместить (переименовать), после чего скопировать обратно:

    # mv rc.conf rc.conf.orig
    # cp rc.conf.orig rc.conf

потому что команда `mv` сохраняет исходную информацию о дате и владельце файла. Теперь вы можете редактировать `rc.conf`. Если вы захотите восстановить исходное состояние, то выполните `mv rc.conf rc.conf.myedit` (полагаем, что вы хотите сохранить отредактированную версию), а затем

    # mv rc.conf.orig rc.conf

для возврата всего на место.

Для редактирования файла наберите

    # vi filename

Передвигайтесь по тексту при помощи клавиш со стрелками. Esc (клавиша отмены) переводит редактор `vi` в командный режим. Вот некоторые из них:

`x`

  удалить символ, на котором находится курсор

`dd`

  удалить целую строку (даже если на экране она не помещается в целую строку)

`i`

  вставка текста в позиции курсора

`a`

  вставка текста после курсора

Сразу после набора `i` или `a` вы можете вводить текст. `Esc` возвратит вас обратно в командный режим, где вы можете набрать

`:w`

  для записи ваших изменений на диск и продолжения редактирования

`:wq`

  для записи и выхода

`:q!`

  для выхода без сохранения изменений

`/`text``

  для перемещения курсора на `text`; `/Enter` (клавиша ввода) для поиска следующего экземпляра `text`.

`G`

  для перехода в конец файла

``n`G`

  Для перехода к строке `n` в файле, где `n` является числом

Ctrl-L

  для перерисовки экрана

Ctrl-b и Ctrl-f

  для перемотки на экран назад и вперёд, как при работе с `more` и `view`.

Поупражняйтесь с редактором `vi` в своём домашнем каталоге, создав новый файл по команде `vi `filename``, добавляя и удаляя текст, сохраняя файл и вызывая его снова. Редактор `vi` преподносит некоторые сюрпризы, потому что он на самом деле достаточно сложный, и иногда вы можете неправильно вызвать команду, которая сделает нечто, чего вы не ожидали. (Некоторым людям действительно нравится `vi`--он более мощный, чем EDIT из DOS--посмотрите команду `:r`.) Для того, чтобы удостовериться, что вы находитесь в режиме команд, нажимайте Esc один или несколько раз, и начинайте снова с этого места, если возникли какие-то проблемы, часто сохраняйте текст командой `:w` и используйте `:q!` для того, чтобы прекратить работу и начать всё сначала (с вашей последней команды `:w`), если это нужно.

Теперь вы можете выполнить `cd` для перехода в каталог `/etc`, `su` в пользователя `root`, использовать `vi` для редактирования файла `/etc/group` и добавлять пользователя в группу `wheel`, чтобы он имел полномочия пользователя root. Просто добавьте запятую и имя входа пользователя в конце первой строки этого файла, нажмите Esc и воспользуйтесь `:wq` для записи файла на диск и выхода. Работает всегда. (Вы не поставили пробел после запятой, ведь так?)

Пред. | Начало | След.
Получение помощи и информации |  | Печать файлов из DOS

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.