Linux notes #4 — Текстовые редакторы и файлы

В Linux вам часто придется работать с такой простой вещью как чтение текстовых файлов — как пример текст конфигов программ или логи.

Для того чтобы просмотреть лог файл есть команда cat

sudo cat /var/log/boot.log

Прокручивать большие файлы можно с помощью комбинаций — Shift + Page Up и Shift + Page Down.

Для удобства чтения больших файлов есть less

sudo less /var/log/boot.log

С помощью пробела, Page Up, Page Down и Enter можно листать. Для выхода нажмите q.

Для поискать текста введите

/ текст

С помощью n и N можно искать вперед или назад

Если файл слишком большой, можно вывести определенные строки с начала или конца

head /var/log/boot.log
tail /var/log/boot.log

Для вывода определенного количества строк (по умолчанию выводит 10)

head - 5 /var/log/boot.log 
tail -5 /var/log/boot.log

Для просмотра в режиме реального времени, что особенно актуально с файлами логов

tail -f file.log

Есть еще одна полезная команда — grep. Например для поиска в history всех действий связанных с командой touch

history | grep touch

Для работы с текстовыми файлами нам понадобится редактор. Мы рассмотрим 2 — vi (vim) и nano. Есть и другие, но остановимся на этих двух, так как первый вам нужно знать, хотя бы на уровне базовых команд, а второй скорее всего покажется удобнее и вы будете пользоваться им чаще.

Начнем с vi

Для создания файла введите

vi file

В vi есть разные режимы и это очень важный момент.

  • командный
  • режим ввода
  • режим последней строки

При запуске вы сразу попадаете в командный, в котором, что логично можно писать команды, но не получится набрать текст. Как примеры команд — удаление строки (нажать 2 раза d) или удаление символа (нажать x).

Для перехода в режим ввода:

  • i — текст можно вводить с того места где находился курсор
  • a — пишем после курсора
  • o — добавление строки ниже
  • Shift + I —  с начала строки
  • Shift + A — с конца строки
  • Shift + O — добавление строки сверху

Сохранить — Shift + Z + Z.

Теперь о режиме последней строки и для вас больше не будет актуальной шутка про выход из vi.

В командном режиме ставим : (двоеточие).

В случае если изменений в файле нет и вы хотите просто выйти

q Enter

Если изменения есть, но сохранять их не нужно

q! Enter 

Если нужно сохранить

w Enter

Теперь рассмотрим nano

Для создания файла

nano file

В отличие от vi здесь вы можете сразу изменять текст.

Основные команды:

  • Ctrl + A — перейти в начало строки
  • Ctrl + E — в конец
  • Ctrl + O — сохранить
  • Ctrl + X — выход

Небольшой лайфхак

Если зажать Ctrl при перемещении по файлу, перемещение будет быстрее. 

Знак ^ внизу на панели с подсказками означает Ctrl:

Ctrl + C - покажет на какой строке, символе строки и символе файла в целом вы находитесь (бывает полезно например при работе с конфигами)

Ctrl + W - найти слово в файле

Чтобы переместить на определенную строку нажимаем Ctrl + W, затем Ctrl + T и вводим номер строки

Ctrl + K - вырезать строку для копирования

Ctrl + U - вставить строку

Мне в работе nano показался несколько удобнее, но vi нужно просто знать, так как при установке системы, nano у вас просто может не быть