Чтение / редактирование файлов
В данном посте про Linux будут рассмотрены следующие моменты работы с файлами: создание (touch), редактирование (nano) и чтение (cat, grep, less, tail) текстовых файлов.
$ cat, head, tail
Команда cat — самый простой способ прочитать файл!
$ cat file.txt
$ head -n 5 file.txt
$ tail file.txt
Иногда бывает нужно посмотреть только начало файла или его конец, в такой ситуации помогают команды head и tail. Они тоже принимают на вход путь до файла, только head показывает первые 10 строк, а tail — последние 10 строк файла. Это поведение можно менять, задавая желаемое количество строк через опцию -n.
$ grep
Слово "грепать" входит в топ самых популярных терминов, используемых разработчиками. Грепать аналогично гуглить по файлу через CLI. Оно происходит от одноимённой консольной утилиты grep (global regular expression print), выполняющей поиск по файлу или файлам определённого текста.
# Поиск всех строк в файле Kubuntu.txt, в которых встречается слово *alt*
$ grep alt ~/Документы/Kubuntu.txt
ctrl + alt + shift + pgDw - Выключить комп без подтверждения
ctrl + alt + t - terminal
alt + пробел - строка поиска сверху экрана (kRunner)
Переключиться на окно слева - meta + alt + стр. влево
Переключиться на окно справа - meta + alt + стр. вправо
В примере выше grep нашёл 5 строк. Найденные строчки выводятся на экран в том же порядке, в котором они встречаются в исходном файле.
$ touch
Для создания файлов принято использовать утилиту touch, хотя основная ёё задача поменять время последнего доступа к файлу, но она обладает побочным эффектом. Если файла не существует, то он будет создан — именно поэтому её используют для создания файлов, хотя это не основное предназначение.
# В текущей директории создаётся пустой файл
$ touch empty-index.html
Редактирование файлов
Для редактирования файлов в командной строке используют редакторы Nano, Vim и Emacs. Эти редакторы запускаются прямо в терминале.
Nano
Nano очень простенький консольный текстовый редактор для UNIX.
$ nano ~/Документы/Kubuntu.txt
После запуска редактора внизу открывается панель с подсказками, какие горячие клавиши доступны для использования. Управление через клавишу Ctrl (символ ' ^ ' ). Например, для выхода из редактора нужно набрать Ctrl + x, а затем либо подтвердить сохранение изменений, либо отвергнуть, нажав y (yes) или n (no). Подходит для несложных изменений в файлах, но совсем неудобен для работы над многофайловыми проектами, да ещё и с кодом.
Пейджеры (less)
Особая категория программ для просмотра содержимого файла — пейджеры. Пейджер похож на текстовый редактор, но открытый только в режиме чтения. Самый распространённый пейджер называется less.
less предоставляет несколько десятков команд для перемещения по тексту и его поиску, про большинство из них можно прочитать в соответствующем мануале. Здесь же затронем основные:
- q — выход
- f — вперёд на страницу
- b — назад на страницу
- если набрать /, затем начать вводить буквы и нажать Enter, то выполнится поиск введённого текста. Перемещение по найденным совпадениям выполняется командой n (переход к следующему совпадению) и командой N (переход к предыдущему совпадению).