Linux: Полное руководство
Шрифт:
где N — число выводимых строк файла, считая от последней. Командой
можно просмотреть, наоборот, только первые N его строк. Значение N по умолчанию равно 10.
Если вы хотите просмотреть не весь файл, а только те его строки, которые содержат заданный фрагмент текста, используйте команду-фильтр grep. Например, я хочу сменить клавишу переключения раскладки клавиатуры в графическом режиме. Я знаю, что строки конфигурационного файла
Я
Для всех команд ключи без аргументов можно соединять: запись -in эквивалентна записи -i -n.
Вышеприведенный пример показывает, что переключением раскладки клавиатуры в графическом режиме управляет комбинация клавиш Shift + Shift. Неудобно: в консольном режиме я привык к Ctrl+Shift. Надо заменить значение shift_toggle на ctrl_shift_toggle. Такие мелкие правки конфигурационных файлов — обычное дело для администратора, поэтому средство их внесения присутствовало в UNIX-системах всегда. Это консольный редактор vi, входящий в каждый дистрибутив Linux (в дистрибутив Fedora Core 3 включен его улучшенный вариант vim, но команда vi тоже доступна: она стала псевдонимом для команды vim).
Итак, я делаю на всякий случай резервную копию конфигурационного файла
Перемещаюсь к строке 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.