Top.Mail.Ru

VIM Linux: руководство по редактированию файлов, настройке SSH и базовым командам

Полное руководство по текстовому редактору VIM и администрированию Linux‑серверов без графического интерфейса. Узнайте, как изменить порт SSH, отредактировать sshd_config, использовать grep, sudo и освоив базовые команды VIM.

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

Запись видеоурока на RuTuBe

Запись видеоурока во ВКонтакте

Запись видеоурока на YouTuBe



Если приводить сравнение с операционной системой Windows, то думаю для вас знакомо понятие config. Это файлы, в которых хранятся определенные настройки той или иной программы. Когда вы вносите изменения в настройки программы через её графический интерфейс, эти изменения записываются в файл config-а, конечно не во всех программах, но как правило это так.

Так вот, так как в серверных 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) - перемещение на последнюю строку

Мы поможем вам легко получить базовые навыки работы с Linux, без лишней теории и воды. Убедитесь, что осваивать новое может быть просто!

Получите бесплатный доступ к первым модулям курса.

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

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

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

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

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

:/Host - тут больше вхождений данного слова

В данный момент, мы находимся в режиме просмотра документа и не можем внести в него изменения, поэтому перейдем в режим редактирования

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

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

Esc

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.

Могу сказать, что есть и другие текстовые редакторы, для кого-то они удобнее, однако, они устанавливаются дополнительно, а бывают ситуации что ваш сервер изолирован от внешней сети и вам нужно что-то настроить. Именно поэтому вы должны уметь пользоваться встроенными средствами системы Linux.

 

Резюме:

В итоге, в данном видео мы научились пользоваться встроенным текстовым редактором VIM, узнали его базовые команды, такие как

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}

 

и изменили порт подключения для SSH сервера