Как легко редактировать файлы через SSH с помощью Nano

Иногда вам может потребоваться редактировать существующие файлы или создавать новые файлы на удаленном сервере с помощью текстового интерфейса терминала через безопасную оболочку (SSH). В этой статье я расскажу, как получить доступ к удаленному серверу через SSH и создавать или редактировать файлы с помощью текстового редактора Nano, стандартного текстового редактора, доступного на большинстве серверов Linux. Это простой процесс для новичков: подключитесь к серверу, откройте Nano, отредактируйте файл, сохраните его и выйдите.

В операционной системе вашего сервера полезно помнить, что все представляет собой файл. Приложения запускаются на исполняемых файлах с файлами конфигурации, которые могут влиять на их поведение. Ваша учетная запись пользователя представляет собой файл. Даже каталоги — это файлы, указывающие на другие файлы. Знание того, как манипулировать этими файлами, дает вам большую власть над вашей серверной средой.

Почему удаленное редактирование

Существует множество причин, по которым вам может потребоваться удаленное редактирование файла через SSH. Возможно, вам потребуется провести необходимое обслуживание и настройку серверных приложений и установок. Редактирование файлов через SSH часто является самым быстрым и эффективным способом удаленного редактирования файла. В противном случае вам придется загрузить файлы через FTP, SCP или какой-либо другой протокол передачи файлов, а затем повторно загрузить файлы.

Также полезно чувствовать себя комфортно в командной строке. Например, если вы хотите создать уникальные конфигурации для своего веб-сервера или создать репозитории Git, войти на свой сервер и сделать это самостоятельно зачастую является самым быстрым и эффективным способом. Взаимодействие с работающим сервером по своей сути рискованно. Вы можете минимизировать свой риск, создав резервную копию файлов и базы данных вашего сайта и ограничив доступ по SSH только для основных пользователей.

Как редактировать файлы через SSH с помощью Nano

Сначала вам нужно будет перейти в каталог, в котором вы будете редактировать файлы, затем открыть файл с помощью Nano и запустить следующую команду:

nano <filename>

Обязательно замените имя файла <filename>, который хотите редактировать. (Если файл не существует, эта команда создаст его при сохранении.)

Оказавшись внутри файла, вы сможете начать печатать. Вы можете использовать клавиши со стрелками для перемещения по файлу.

Как редактировать файлы через SSH с помощью Nano

Горячие клавиши nano

Некоторые ключевые команды, которые вам следует знать для редактирования файлов с помощью Nano, включают сохранение, поиск и выход. Точно так же, как использование сочетаний клавиш в вашей операционной системе, Nano принимает ключевые команды, привязанные к определенным комбинациям клавиш на вашей клавиатуре. Существует множество ключевых команд, но вот наиболее распространенные:

  • Поиск: Ctrl+w
  • Сохранить («Выписать»): Ctrl+o
  • Выход: Ctrl+x

Закончив редактирование файла, вы можете сразу перейти к выходу, нажав Ctrl+x, и вам будет предложено сохранить файл. Ответьте Y (да), и вам будет предложено подтвердить вывод файла.

Если все в порядке, нажмите Enter.

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

Важное уведомление об ошибке

Если вы видите это сообщение в своем файле [ File '<filename>' is unwritable]', это означает, что у вас нет прав на запись в этот файл. Вам нужно будет убедиться, что на вашем сервере настроен пользователь sudo, и начать новый сеанс от имени этого пользователя.

Важное уведомление об ошибке от nano

При вызове sudo или любого пользователя с правами root очень важно следовать рекомендациям и дважды проверять вводимые данные. Одна неправильная команда с правами root может вывести из строя сервер.

Чтобы активировать привилегию sudo, добавьте sudo в начало команды редактора nano:

sudo nano <filename>

Введите свой пароль пользователя sudo и продолжайте редактировать файл как обычно.

Другие редакторы

Nano — не единственный вариант редактирования файлов через SSH. У вас также есть другие популярные редакторы, такие как Vim, Emacs и их варианты. Эти редакторы примечательны расширенным функционалом. У каждого из них есть специальные языки сценариев, которые допускают практически неограниченную настройку.

Vim

Vim, также известный как vi, отличается скоростью и кроссплатформенной совместимостью. Он повышает скорость благодаря своим легендарным клавишным командам, которые в основном сосредоточены в главном ряду стандартной QWERTY-клавиатуры.

Vim — модальный редактор, что означает, что он имеет два разных режима работы; к ним относятся «нормальный» режим и режим «вставки». Обычный режим предназначен для навигации, запуска команд и других функций, а режим вставки вставляет и редактирует сам текст. Хотя Vim включает в себя больше возможностей для редактирования файлов по сравнению с Nano, обычно он лучше подходит для опытных пользователей с опытом работы в оболочке Linux.

Вы можете войти в Vim так же, как и в Nano.

vim <filename>

Вы начнете в обычном режиме. Чтобы войти в режим «вставки», нажмите i на клавиатуре.

Это может показаться необычным, если вы привыкли к стандартным текстовым редакторам на рабочем столе. Но с практикой эти команды становятся вашей второй натурой, и существует множество способов ускорить и точно настроить этот процесс.

Чтобы вернуться в обычный режим, вы можете нажать клавишу Esc или Ctrl-[.

Вот несколько основных клавиш навигации Vim, которые вы можете использовать для перемещения по файлу в обычном режиме:

  • Двигайтесь влево, вниз, вверх и вправо, используя h, j, k и l соответственно.
  • Перейдите в начало строки, используя 0
  • Перейдите в конец строки, используя $
  • Перемещайтесь вперед и назад по словам, используя w и b.

В Vim можно использовать множество других сочетаний клавиш для быстрого и точного перемещения по документу. Чтобы получить полное руководство, вы можете войти в Vim Tutor, набрав vimtutorв командной строке.

Теперь вам нужно убедиться, что вы можете сохранить файл и выйти из него. Чтобы сохранить файл, переключитесь в обычный режим и введите :w, затем нажмите Enter. Это сохранит файлы без выхода из Vim. Чтобы сохранить и выйти с помощью одной команды, вы можете ввести :wq и нажать Enter. Чтобы выйти без сохранения, введите :q! и нажмите Enter.

Эмакс

Emacs, как и Vim, является популярным модальным редактором, но у него гораздо больше режимов, чем у Vim. Существуют специальные режимы для редактирования разных типов файлов. Это делает редактирование файлов быстрым и интуитивно понятным, но новым пользователям придется долго учиться.

Хотя Emacs доступен в терминальном варианте, стоит отметить, что чаще всего Emacs используется в качестве локального текстового редактора. Он имеет встроенную функцию подключения к вашему серверу через SSH, поэтому вы можете редактировать удаленные файлы в своей локальной конфигурации. Это хороший вариант, поскольку большинство пользователей Emacs имеют персонализированную конфигурацию, написанную на Emacs lisp и адаптированную к тому, как им нравится работать. Редактирование удаленных файлов из Emacs означает, что вы можете перенести свою конфигурацию на любой удаленный компьютер или сервер.

Также следует отметить, что в отличие от Nano или Vim, Emacs не поставляется в комплекте с большинством операционных систем. Поэтому, если вы хотите использовать его удаленно, вам может потребоваться установить его на любые серверы, на которые вы будете входить. Или, как упоминалось выше, вы можете использовать инструменты подключения SSH в Emacs на своих локальных рабочих станциях.

Легкое редактирование файлов

Освоение редактирования файлов через SSH открывает новые возможности для управления вашим сервером и любимыми приложениями. Текстовый редактор Nano — наиболее доступный способ начать, но вы всегда можете протестировать более продвинутые варианты, такие как Vim и Emacs. Выбор текстового редактора — это личный выбор, который отражает то, как вам нравится работать. Инвестирование времени в изучение новых стратегий и более совершенного программного обеспечения всегда приносит дивиденды. Результаты станут очевидными со временем, когда вы научитесь легко и точно управлять файлами.

Альтернативные расширенные параметры текстовых редакторов

Какой редактор командной строки вы предпочитаете для работы через SSH? Нано? Эмакс? Что-то другое? Дайте нам знать в комментариях ниже.