VIM Linux

базовые команды

Linux Logo

Основная концепция Linux звучит как «Все есть файл», это означает, что почти к любой функции операционной системы можно обратиться как к файлу, открыв его в текстовом редакторе и внеся в него определенные изменения.

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

В системах Linux встроенным текстовым редактором является VIM. Давайте запустим справку по данному текстовому редактору

man vim

vim — Vi IMproved (Улучшенный Vi), текстовый редактор для программистов

Vim — текстовый редактор, обратно-совместимый с Vi. Он может быть использован для правки всех видов простого текста. Особенно он хорош для правки исходных текстов программ

И так, давайте разберем следующую задачу, чтобы понимать, как работать через текстовый редактор VIM. Как вы помните, я в начале рассказывал, что для SSH сервера лучше сменить порт по умолчанию для подключений. Давайте именно это и сделаем через редактор VIM.

Для начала, выясним, а в какой файле могут находиться настройки порта для SSH соединений?

grep -ri 'port 22' /etc/

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

sudo grep -ri 'port 22' /etc/

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

Мы видим, что фильтр нашел файлы с нужными нам записями, поэтому давайте перейдем в нужную нам папку и запустим файл для редактирования

cd /etc/ssh/
vim sshd_config

Мы открыли файл в редакторе VIM, так что давайте изучим различные функции данного текстового редактора.

Для перемещения по документу используют комбинации клавиш

Ctrl-f (forward) - листать страницу вперед (вперед)
Ctrl-b (back) - листать страницу назад (назад)

Так как документы бывают очень большими, допустим лог файлы, то последняя информация записывается в самый конец файла, так что, чтобы сразу переместиться в конец файла используйте комбинацию

Shift + g (G) - перемещение на последнюю строку

Так как файлы у нас могут быть длинными, довольно часто может понадобиться функция поиска какого-то текста в файле, чтобы не просматривать его вручную.

:/Port - поиск строки Port вперёд
n - следующее совпадение
N - прошлое совпадение
:/Host - тут больше вхождений данного слова

Режим редактирования

i (insert) - переход к режиму редактирования файла (Вставить)

И тут появляется предупреждение, что данный файл доступен только для чтения, поэтому мы закроем редактор комбинацией клавиш ZQ, выход без сохранения и запустим данный файл для редактирования с повышенными правами

sudo vim sshd_config
i

Теперь сообщений не появляется, можем редактировать файл

Заменим строчку #Port 22 на Port 2222

Выйдем из режима редактирования Esc

Сохраним внесенные изменения комбинацией клавиш ZZ

:w (write) - сохранить изменения
:q (quit) - выход
:q! или ZQ - выход без сохранения
:wq или ZZ - выход с сохранением

Теперь давайте перезапустим службу SSH

sudo systemctl restart sshd

Закрываем PuTTY и пытаемся подключиться к серверу вновь. Появляется ошибка «Network error: Connection refused» Давайте попробуем изменить порт в программе на 2222 и подключиться заново. Все отлично, подключиться получилось!

Вот, подобным образом вносятся настройки в различные сервисы через терминал Linux.

Резюме:

vim sshd_config - редактирование файла sshd_config

{vim} Ctrl-f (forward) - листать страницу вперед (вперед) {vim}

{vim} Ctrl-b (back) - листать страницу назад (назад) {vim}

{vim} Shift + g (G) - перемещение на последнюю строку  {vim}

{vim} :/Port - поиск строки Port вперёд {vim}

{vim} :?Port - поиск строки Port назад {vim}

{vim} n - следующее совпадение {vim}

{vim} N - прошлое совпадение {vim}

{vim} i (insert) - переход к режиму редактирования файла (Вставить) {vim}

{vim} :w (write) - сохранить изменения {vim}

{vim} :q (quit) - выход  {vim}

{vim} :q! или ZQ - выход без сохранения {vim}

{vim} :wq или ZZ - выход с сохранением {vim}

Похожие записи