В 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 у вас просто может не быть