PQ
PQ.Hosting

Валюта

Как сохранить файл в nano: Ctrl+O, права доступа и типичные ошибки

Автор
PQ
03 марта 2026
3 мин чтения
595 просмотров
Как сохранить файл в nano: Ctrl+O, права доступа и типичные ошибки

Nano — первый редактор, с которым сталкивается большинство пользователей Linux: он установлен по умолчанию в Ubuntu, Debian и большинстве серверных дистрибутивов. Открыть файл легко. Сохранить — тоже, но только если знаешь нужные сочетания клавиш. Без них можно потерять изменения или намертво застрять в редакторе без понимания как выйти.

Основное сохранение: Ctrl+O

Ctrl+O («Write Out») сохраняет текущий файл не закрывая редактор. После нажатия nano показывает строку в нижней части экрана:

File Name to Write: /etc/nginx/nginx.conf

Здесь можно оставить имя как есть (нажать Enter) — файл сохранится на то же место. Или изменить путь — тогда изменения запишутся в новый файл, оригинал останется нетронутым.

После сохранения nano продолжает работу — можно продолжать редактировать.

Сохранить и выйти: Ctrl+X

Ctrl+X закрывает редактор. Если в файле есть несохранённые изменения, nano спросит:

Save modified buffer?  (Answering "No" will DISCARD changes.)
Y Yes
N No            ^C Cancel

Y — сохранить и выйти. N — выйти без сохранения (все изменения потеряны). Ctrl+C — отмена, вернуться к редактированию.

После нажатия Y появится запрос имени файла — такой же как при Ctrl+O. Нажать Enter для подтверждения.

Сохранить файл без прав: sudo

Частая ситуация на сервере: открыл системный конфиг обычным nano, поредактировал, нажал Ctrl+O — и получил:

Error writing /etc/nginx/nginx.conf: Permission denied

Права на файл есть только у root. Два варианта решения.

Вариант 1 — закрыть и переоткрыть с sudo:

nano /etc/nginx/nginx.conf        # открыли без sudo
# редактировали...
# Ctrl+O → Permission denied
# Ctrl+X → выходим без сохранения
sudo nano /etc/nginx/nginx.conf   # открываем правильно

Минус: нужно заново вносить изменения.

Вариант 2 — сохранить копию в доступное место:

Не выходя из редактора, при запросе имени файла изменить путь на домашнюю директорию:

File Name to Write: /tmp/nginx.conf

Сохранить туда, затем скопировать с sudo:

sudo cp /tmp/nginx.conf /etc/nginx/nginx.conf

Вариант 3 — записать через tee прямо из nano:

Нажать Ctrl+O, в строке имени файла ввести:

File Name to Write: | sudo tee /etc/nginx/nginx.conf

Символ | активирует pipe-запись — nano передаст содержимое команде tee, которая запишет файл с правами sudo. Работает не во всех конфигурациях nano, но часто выручает.

Сохранить резервную копию перед изменениями

Хорошая привычка при редактировании системных файлов — создать копию до правок. Прямо из командной строки перед открытием:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_config

Если что-то пойдёт не так — cp sshd_config.bak sshd_config вернёт рабочий вариант.

Почему не удаётся сохранить: диагностика

Permission denied Файл принадлежит root или другому пользователю. Решение — sudo nano при открытии или pipe через tee как описано выше.

No space left on device Диск заполнен. Проверить:

df -h

Если свободного места нет — освободить место (очистить логи, временные файлы) и повторить сохранение.

Файл открыт в другом процессе Некоторые файлы блокируются другими программами. Убедиться что файл не открыт параллельно:

lsof /etc/nginx/nginx.conf

Конфигурация nano повреждена Редкая ситуация. Проверить или сбросить конфиг:

nano ~/.nanorc

Или переименовать чтобы nano запустился с дефолтными настройками:

mv ~/.nanorc ~/.nanorc.bak

Шпаргалка по горячим клавишам nano

Действие Клавиши
Сохранить (без выхода) Ctrl+O → Enter
Сохранить в другой файл Ctrl+O → изменить имя → Enter
Выйти Ctrl+X
Сохранить и выйти Ctrl+X → Y → Enter
Выйти без сохранения Ctrl+X → N
Отменить выход Ctrl+X → Ctrl+C
Открыть с правами root sudo nano filename

Поделиться статьей

Похожие статьи