Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

где N — число выводимых строк файла, считая от последней. Командой

head [-N] [имя_файла]

можно просмотреть, наоборот, только первые N его строк. Значение N по умолчанию равно 10.

Если вы хотите просмотреть не весь файл, а только те его строки, которые содержат заданный фрагмент текста, используйте команду-фильтр grep. Например, я хочу сменить клавишу переключения раскладки клавиатуры в графическом режиме. Я знаю, что строки конфигурационного файла

/etc/X11/xorg.conf
, имеющие отношение к клавиатуре, содержат фрагмент XKB… а может, Xkb или xkb? Неважно:

$ grep -in xkb /etc/X11/xorg.conf

[...]

65: Option "XkbLayout" "us,ru"

66: Option "XkbOptions" "grp:shift_toggle,grp_led:scroll"

Я

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

Для всех команд ключи без аргументов можно соединять: запись -in эквивалентна записи -i -n.

Редактирование текстовых файлов

Вышеприведенный пример показывает, что переключением раскладки клавиатуры в графическом режиме управляет комбинация клавиш Shift + Shift. Неудобно: в консольном режиме я привык к Ctrl+Shift. Надо заменить значение shift_toggle на ctrl_shift_toggle. Такие мелкие правки конфигурационных файлов — обычное дело для администратора, поэтому средство их внесения присутствовало в UNIX-системах всегда. Это консольный редактор vi, входящий в каждый дистрибутив Linux (в дистрибутив Fedora Core 3 включен его улучшенный вариант vim, но команда vi тоже доступна: она стала псевдонимом для команды vim).

Итак, я делаю на всякий случай резервную копию конфигурационного файла

/etc/X11/xorg.conf
и приступаю к его редактированию:

$ cp /etc/X11/xorg.conf /etc/X11/xorg.conf.sav

$ vi /etc/X11/xorg.conf

Перемещаюсь к строке 66 командой 66G (буква G заглавная: редактор vi различает регистры). Клавишами управления курсором перемещаюсь к началу слова shift.

Включаю режим вставки командой i (строчная буква). Набираю ctrl_. Выключаю режим вставки клавишей Esc. Сохраняю изменения командой :w. Выхожу по команде :q.

Сложно и на вид бессистемно? Да. Зато есть команда :help.

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

РЕЖИМ ВСТАВКИ.

Включение режима вставки:

♦ i в текущей позиции курсора;

♦ I перед первым непробельным символом в текущей строке;

♦ w в новой строке, добавленной после текущей;

♦ W в новой строке, добавленной перед текущей.

Выключение режима вставки:

♦ <Esc>

Команды режима вставки:

♦ Ctrl+a повторить предыдущую вставку;

♦ Ctrl+у вставить символ, находящийся над курсором (в предыдущей строке);

♦ Ctrl+e вставить символ, находящийся под курсором (в следующей строке).

КОМАНДНЫЙ РЕЖИМ.

Удаление (здесь

и далее N — это число):

♦ N x N символов под курсором и справа от него;

♦ N X N символов слева от курсора;

♦ N dd N строк;

♦ D до конца текущей строки;

♦ N D до конца текущей строки и еще N-1 строку.

Копирование и вставка строк:

♦ N yy взять в буфер N строк от текущей и ниже;

♦ p вставить содержимое буфера после текущей строки;

♦ P вставить содержимое буфера перед текущей строкой.

Поиск и переход:

♦ N G перейти к строке с номером N;

♦ $ G перейти к последней строке файла;

♦ /<образец> искать образец вниз от курсора;

♦ ?<образец> искать образец вверх от курсора;

♦ n повторить поиск в том же направлении;

♦ N (буквально «N»): повторить поиск в обратном направлении.

Сохранение и выход:

♦ :w сохранить текущий файл;

♦ :w <имя> сохранить под новым именем, если файл <имя> еще не существует;

♦ :w! <имя> сохранить пол новым именем, переписав существующий файл;

♦ :q выйти;

♦ :q! принудительно выйти без сохранения;

♦ :wq сохранить и выйти.

Разное полезное:

♦ N u отменить последние N изменений;

♦ N Ctrl+r вернуть последние N отмененных изменений;

♦ U отменить изменения в последней строке;

♦ N r <символ> заменить N следующих символов на <символ>;

♦ N >> добавить отступ (Tab) в N следующих строк;

♦ N << удалить один отступ (Tab) из N следующих строк;

♦ :sh временно выйти в оболочку (вернуться — exit);

♦ :!<команда> выполнить команду оболочки.

Поиск файлов

Быстрый поиск имени программы можно выполнить прямо из командной строки: для этого введите первые буквы нужной вам команды и нажмите <Tab>. Если введенные вами буквы однозначно определяют команду или исполняемый файл, то ее имя появится в командной строке. Эта функция называется автозаполнением командной строки. Если не появилось ничего, нажмите <Tab> еще раз для вывода списка всех доступных команд, начинающихся со введенных букв. Если таких команд окажется больше сотни, у вас попросят подтверждения того, что вы действительно хотите увидеть их все.

В разных каталогах может оказаться несколько исполняемых файлов с одинаковыми именами. Какой из них будет исполнен? На этот вопрос отвечает команда which. Она просматривает каталоги, перечисленные в переменной окружения PATH, в поисках исполняемого файла с указанным именем, и выводит абсолютное имя первого встреченного из них.

Команда whereis ищет не только исполняемый файл, но и его справочные страницы и исходный код.

Команда locate ищет файл по образцу имени, опираясь на свою базу данных о файловой системе. Ее вариант с повышенной безопасностью slocate сохраняет данные о правах доступа к файлам, так что пользователь не увидит тех файлов, на которые у него нет прав. В дистрибутиве Fedora Core 3 команда locate представляет собой символическую ссылку на утилиту slocate.

Поделиться с друзьями: