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 сервера