- Как использовать Nano, текстовый редактор командной строки Linux
- Установка Nano
- Установите Nano в Ubuntu и Debian
- Установите Nano на CentOS и Fedora
- Открытие и создание файлов
- Редактирование файлов
- Поиск и замена
- Копирование, резка и склеивание
- Сохранение и выход
- Настройка Nano (nanorc)
- Подсветка синтаксиса
- Установите Nano в качестве текстового редактора по умолчанию
- Базовое использование нано
- Выводы
- Sysadminium
- Создание файлов и просмотр их в каталоге
- Редактирование файлов
- Чтение файлов
- Команды cat и tac
- Команда grep
- Команда less
- Команды tail и head
Как использовать Nano, текстовый редактор командной строки Linux
При работе в командной строке довольно часто возникает необходимость создавать или редактировать текстовые файлы. Два самых мощных и популярных редактора командной строки — это Vim и Emacs. У обоих из них крутая кривая обучения, которая может напугать новых пользователей. Для тех, кому нужен простой редактор, есть nano.
GNU nano — это простой в использовании текстовый редактор командной строки для операционных систем Unix и Linux. Он включает в себя все базовые функции, которые вы ожидаете от обычного текстового редактора, такие как выделение синтаксиса, несколько буферов, поиск и замена с поддержкой регулярных выражений, проверка орфографии, кодировка UTF-8 и многое другое.
В этом руководстве объясняется базовое использование редактора nano, в том числе как создать и открыть файл, отредактировать файл, сохранить файл, найти и заменить текст, вырезать и вставить текст и многое другое.
Установка Nano
Текстовый редактор Nano предварительно установлен в macOS и большинстве дистрибутивов Linux. Чтобы проверить, установлен ли он в вашей системе, введите:
Результат будет выглядеть примерно так:
Если в вашей системе не установлен nano, вы можете установить его с помощью диспетчера пакетов вашего дистрибутива.
Установите Nano в Ubuntu и Debian
Установите Nano на CentOS и Fedora
Открытие и создание файлов
Чтобы открыть существующий файл или создать новый файл, введите nano и имя файла:
Это открывает новое окно редактора, и вы можете начать редактирование файла.
Внизу окна находится список основных сочетаний клавиш для использования с редактором nano.
Все команды начинаются с символа ^ или M Символ каретки ( ^ ) представляет собой Ctrl . Например, команды ^J означают одновременное нажатие Ctrl и J Буква M представляет собой Alt .
Вы можете получить список всех команд, набрав Ctrl+g .
Чтобы открыть файл, у вас должны быть права на чтение файла.
Если вы хотите открыть файл с курсором на определенной строке и символе, используйте следующий синтаксис:
nano +line_number,character_number filename
Если вы опустите character_number курсор будет помещен на первый символ.
Редактирование файлов
В отличие от vi, nano — это немодальный редактор, что означает, что вы можете начать вводить и редактировать текст сразу после открытия файла.
Чтобы переместить курсор на определенную строку и номер символа, используйте команду Ctrl+_ . Меню в нижней части экрана изменится. Введите число (а) в поле «Введите номер строки, номер столбца:» и нажмите Enter .
Поиск и замена
Чтобы найти текст, нажмите Ctrl+w , введите поисковый запрос и нажмите Enter . Курсор переместится к первому совпадению. Чтобы перейти к следующему совпадению, нажмите Alt+w .
Если вы хотите найти и заменить, нажмите Ctrl+ . Введите поисковый запрос и текст, который нужно заменить. Редактор перейдет к первому совпадению и спросит, заменить ли его. После нажатия Y или N он перейдет к следующему матчу. Нажатие A заменит все совпадения.
Копирование, резка и склеивание
Чтобы выделить текст, переместите курсор в начало текста и нажмите Alt+a . Это установит отметку выбора. Переместите курсор в конец текста, который хотите выделить, с помощью клавиш со стрелками. Выбранный текст будет выделен. Если вы хотите отменить выделение, нажмите Ctrl+6
Скопируйте выделенный текст в буфер обмена с помощью команды Alt+6 . Ctrl+k обрежет выделенный текст.
Если вы хотите вырезать целые строки, просто переместите курсор на строку и нажмите Ctrl+k . Вы можете вырезать несколько строк, несколько раз нажав Ctrl+k .
Чтобы вставить текст, переместите курсор туда, где вы хотите поместить текст, и нажмите Ctrl+u .
Сохранение и выход
Чтобы сохранить изменения, внесенные в файл, нажмите Ctrl+o . Если файл еще не существует, он будет создан после его сохранения.
Чтобы выйти из nano, нажмите Ctrl+x . Если есть несохраненные изменения, вас спросят, хотите ли вы сохранить изменения.
Чтобы сохранить файл, у вас должны быть права на запись в файл. Если вы создаете новый файл , вам необходимо иметь разрешение на запись в каталог, в котором создается файл.
Настройка Nano (nanorc)
Когда nano запущен, он считывает свои параметры конфигурации из общесистемного файла конфигурации /etc/nanorc и из пользовательских файлов ~/.config/nano/nanorc и ~/.nanorc если файлы присутствуют.
Параметры, указанные в пользовательских файлах, имеют приоритет над глобальными параметрами.
Посетите страницу nanorc для получения полного списка всех доступных опций.
Подсветка синтаксиса
Nano поставляется с правилами подсветки синтаксиса для большинства популярных типов файлов. В большинстве систем Linux файлы синтаксиса хранятся в каталоге /usr/share/nano и по умолчанию включены в файл конфигурации /etc/nanorc .
include "/usr/share/nano/*.nanorc"
Самый простой способ включить выделение для нового типа файла — скопировать файл, содержащий правила выделения синтаксиса, в каталог /usr/share/nano .
Установите Nano в качестве текстового редактора по умолчанию
По умолчанию в большинстве систем Linux текстовый редактор по умолчанию для таких команд, как visudo и crontab , установлен на vi. Чтобы использовать nano в качестве текстового редактора по умолчанию, вам необходимо изменить EDITOR среды VISUAL и EDITOR .
Пользователи Bash могут экспортировать переменные в файл ~/.bashrc :
export VISUAL=nano export EDITOR="$VISUAL"
Базовое использование нано
Ниже приведены основные шаги для начала работы с nano:
- В командной строке введите nano а затем имя файла.
- При необходимости отредактируйте файл.
- Используйте команду Ctrl-x для сохранения и выхода из текстового редактора.
Выводы
В этом уроке мы показали вам, как использовать текстовый редактор Gnu nano. Это популярный текстовый редактор среди пользователей Linux, требующий небольшого обучения.
Для получения дополнительной информации о Gnu Nano посетите официальную страницу документации nano .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Sysadminium
На этом уроке по Linux мы рассмотрим создание (touch), редактирование (nano) и чтение (cat, tac, grep, less, tail) текстовых файлов.
Создание файлов и просмотр их в каталоге
Все примеры я буду показывать на Debian 11, так как на Ubuntu 22.04 все выполняется аналогично. Вообще в Linux работа в терминале на любых системах практически одинакова. Поэтому создание, редактирование и чтение файлов можно продемонстрировать на любой системе.
Для создания текстового файла служит команда touch:
С помощью команды ls можно посмотреть какие файлы есть в каталоге:
Для команды ls есть дополнительные опции:
- -l — показывает информацию по каждому файлу;
- -h — показывает размер файла в удобном для человека виде (байты, килобайты, мегабайты и т.д.). Эту опцию можно использовать только вместе в -l.
Опции можно писать слитно (ls -lh) или раздельно (ls -l -h). Вот пример:
alex@deb:~$ ls -lh итого 0 -rw-r--r-- 1 alex alex 0 ноя 26 16:15 file.txt
Команда touch не только создает файл, но если этот файл уже есть, то обновляет время доступа и модификации данного файла:
alex@deb:~$ touch file.txt alex@deb:~$ ls -lh итого 0 -rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt
Как вы могли заметить вначале время последнего изменения файла было 16:15, а после выполнения команды touch оно изменилось на 16:17. На самом деле команда touch не изменила файл, она лишь прикоснулась к файлу и тем самым изменила его время доступа. Кстати, с английского touch переводится как прикасаться.
Давайте теперь разберём вывод команды ls -lh:
Тип файла | Права | | Кол-во ссылок | | | Владелец | | | | Группа | | | | | Размер | | | | | | Дата и время последнего касания или изменения | | | | | | | Имя файла | | | | | | | | - rw-r--r-- 1 alex alex 0 ноя 26 16:17 file.txt
Пока что вам нужно запомнить что таким образом можно посмотреть размер файла и дату его изменения, с остальным разберемся позже. И ещё запомните 2 типа файлов:
- знак тире «-« — это обычный файл;
- символ «d» — это каталог;
- есть и другие типы файлов, но пока их рассматривать не будем.
Редактирование файлов
Отредактировать текстовый файл можно с помощью текстового редактора «nano»:
После выполнения этой команды у Вас откроется текстовый редактор:
Для того чтобы сохранить этот файл нужно нажать комбинацию клавиш «Ctrl+o«.
А чтобы закончить редактирование и закрыть этот файл нужно нажать «Ctrl+x«. При этом у вас спросят, хотите ли вы сохранить этот файл и если да, то нужно ввести «y» и нажать клавишу «Enter«. Таким образом необязательно использовать комбинацию «Ctrl+o» перед закрытием файла.
Внизу я выделил подсказки текстового редактора Nano, в подсказках символ «^» — это клавиша Ctrl.
Если с помощью nano открыть несуществующий файл, то файл будет создан как только вы его сохраните. Поэтому выполнять touch перед nano не обязательно.
Чтение файлов
Команды cat и tac
Давайте теперь научимся читать текстовые файлы. Чаще всего для этого используется команда cat:
alex@deb:~$ cat file.txt И тут мы можем вводить текст, какой только пожелаем.
У команды cat есть опция -n, которая выводит номера строк:
alex@deb:~$ cat -n file.txt 1 И тут мы можем 2 вводить текст, 3 какой только пожелаем.
Для команды cat есть команда перевёртыш, это команда tac. Она выводит текст задом наперед:
alex@deb:~$ tac file.txt какой только пожелаем. вводить текст, И тут мы можем
Команда grep
Если Вам нужно что-то найти в тексте, то для этого используйте команду grep. Например, мы ищем строку в которой встречается слово «какой»:
alex@deb:~$ grep какой file.txt какой только пожелаем.
Команда less
Если текст длинный то вместо cat лучше использовать команду less:
alex@deb:~$ less /etc/ssh/sshd_config
Используя less мы можем кнопками вверх / вниз перемещаться по тексту:
Если нажать кнопу «/», то откроется строка, куда можно ввести фразу для поиска в этом файле. Давайте, например, найдём строку со словом «Port»:
При поиске удобно использовать кнопку «n» для дальнейшего поиска введенной фразы, и комбинацию «Shift+n» для поиска в обратном направлении (к началу файла). Для выхода из программы используйте клавишу»q«.
Команды tail и head
Если Вам нужно посмотреть последние строки файла используйте команду «tail«:
alex@deb:~$ tail /etc/ssh/sshd_config # override default of no subsystems Subsystem sftp /usr/lib/openssh/sftp-server # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server
А если нужно посмотреть первые строки файла то команду «head«:
alex@deb:~$ head /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the
Эти две команды выводят 10 последних (tail) или 10 первых (head) строк файла. И у этих команд есть параметр -n, с помощью которого можно указать сколько строк выводить, например выведем по 3 строки:
alex@deb:~$ tail -n 3 /etc/ssh/sshd_config # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server alex@deb:~$ head -n 3 /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See
А ещё команда tail позволяет выводить изменяющиеся файлы, например логи. Для этого используется опция -f. Чтобы закончить наблюдение за файлом, нужно нажать комбинацию Ctrl+c.