$ tput reset
(или, если вы работаете в графическом режиме в окне виртуального терминала, выберите в его меню команду Терминал|Сброс и очистка для среды GNOME или Edit|Reset & Clear Terminal для среды KDE).
Кроме уже упомянутой команды cat, для вывода файла на терминал служат команда
more <имя_файла>
и ее улучшенный вариант less.
Команда-фильтр more разбивает поток своего вывода на порции размером в экран и ожидает ввода пользователя для отображения следующей порции. Чтобы увидеть следующую строку, нажмите <Ввод>; чтобы увидеть следующий экран, нажмите <пробел>; чтобы прервать работу команды, нажмите <Q> или Ctrl+C.
Утилита less позволяет листать выводимый файл не только вперед, но и назад (клавишами PgDn и PgUp), перемещаться к указанному месту в файле, искать по образцу и дает еще много полезных возможностей. В общем, man less.
Если интересующая вас информация находится в конце файла (например, вы хотите просмотреть журнал системных сообщений messages
в каталоге /var/log
, чтобы узнать, что именно только что пошло наперекосяк), то вам поможет команда
tail [-N] [имя_файла]
где 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 отменить изменения в последней строке;