В двух предыдущих статьях мы рассказали о горячих клавишах Linux и базовых терминальных командах. А сейчас познакомим вас с 3 утилитами для подключения к удаленному серверу, навигации по директориям и редактирования файлов.
Начнём с утилиты для подключения к удаленному серверу — tmux (ти-макс).
Подключение к серверу — Tmux
У ти-макса множество полезных и удобных функций. Нас интересуют две из них: возобновляемое сессионное подключение и деление терминального окна на рабочие панели.
Первая функция позволяет в одну команду возобновить подключение к серверу. Благодаря второй функции мы сможем одновременно работать с несколькими разными утилитами в одном окне.
Установка ти-макса
Это делается с помощью стандартных средств Linux:
apt update
apt install tmux
Возможно, для установки вам понадобятся права администратора. Получить их можно с помощью утилиты sudo, если вы, конечно, знаете пароль администратора:
sudo apt install tmux
После успешной установки можно подключаться к удаленному серверу. Но сначала важный момент! Tmux — консольная утилита, использующая для управления горячие клавиши (хоткейсы).
В ти-максе есть базовое сочетание горячих клавиш — Ctrl + b и отдельные целевые клавиши: n, p, w, b и т.д. Они работают в сочетании с базовым хоткеем, организуя функциональную последовательность для выполнения различных действий. Например: вертикальное или горизонтальное деление терминала на рабочие панели.
Далее в статье мы еще не раз обратимся к хоткеям, а пока вернемся к первому запуску ти-макса и подключению к удаленному серверу.
Создание сессии
Сессии в ти-максе могут быть именные или с автоматически созданными идентификаторами.
Чтобы быстро создать сессию — просто введите в консоль tmux.
В левом нижнем углу, в квадратных скобках отображается название сессии. Для создания именной сессии введите в консоль:
tmux new -s название сессии
Выйти из сессии можно сочетанием клавиш Ctrl + b, d, а чтобы удалить сессию, введите:
tmux kill-session -t название сессии
Подключиться к последней закрытой сессии можно так:
tmux attach
Если сессия была именной, то подключиться к ней можно командой:
tmux attach -t название сессии
После создания сессии можно подключаться к удаленному серверу и делить терминал на рабочие панели.
Горизонтальное и вертикальное деление окон
В рамках одного окна ти-макса может быть столько рабочих панелей, сколько вам нужно. Для разделения окна на панели используются хоткейсы:
- Ctrl + b, ” — горизонтальное разделение окна
- Ctrl + b, % — вертикальное разделение окна
Для перемещения между панелями применяется базовый хоткей (Ctrl + b) в сочетании со стрелками: ↑, ↓, ←, →. Каждая панель может быть разделена еще на более мелкие сегменты:
Чтобы закрыть панель — перейдите в неё с помощью стрелок и введите exit. Если нужно закрыть сессию — воспользуйтесь сочетанием клавиш Ctrl + b, d.
Помимо сессий в ти-максе существует ещё одна форма организации рабочего пространства — окна.
Создание окон и переключение между ними
Tmux — это консольная утилита, окна у нее не похожи на привычные нам окна Windows. Новое окно создается сочетанием клавиш CTRL + b, c в рамках терминального окна и замещает уже созданное до этого окно.
Переключение между окнами осуществляется с помощью сочетания клавиш CTRL + b, w. Выбрать окно из списка можно стрелками ↑ и ↓.
Теперь, когда мы вооружились удобной утилитой для удаленных подключений и создания рабочего пространства — можно установить еще несколько полезных инструментов, которые облегчат настройку удаленного сервера.
Навигация по директориям — Tree
В стандартных популярных дистрибутивах Linux, не использующих графический интерфейс, просмотреть содержимое директорий можно командой ls, при этом вывод на экран не всегда бывает удобным.
Для альтернативного вывода содержимого директорий и их структур применяется утилита tree. Она рекурсивно обходит указанные директории и отображает их структуру и содержимое в древовидном виде.
Устанавливается tree, так же как и tmux из стандартного репозитория Linux:
apt install tree
Tree устанавливается в одну команду, не требует для своей работы сторонних библиотек и занимает совсем немного места.
Команды tree
Синтаксис команд утилиты tree очень прост. Для отображения структуры директории с файлами достаточно просто ввести команду tree.
По умолчанию tree обходит все вложенные директории, и древовидная структура директорий может быть плохо читаемой. Для ее видоизменения применяют различные ключи:
- L число — уровень отображаемых директорий (1,2,3 и т.д.)
- a — отображение всех файлов, включая скрытые
- u — отображение владельца
- g — отображение группы-владельца
- h — отображение размера файлов (в байтах)
- C — включение подсветки разными цветами
- D — показать дату последнего изменения
- d — отображение только директорий
- --dirsfirst — показывать сначала директории
Ключи можно комбинировать. Например, выведем структуру директорий 1 уровня, с отображением размера файлов и директорий, скрытых файлов, владельца и группы-владельца: tree -augh -L 1.
Кстати, с помощью tree можно вывести структуру директорий в текстовых форматах: XML(ключ -X) и JSON(ключ -J). А сохранить вывод программы можно с помощью оператора >:
tree -L 2 -h > files_tree.txt
Tree позволяет быстро ориентироваться в структуре директорий и находить нужные файлы, однако самое главное — это создание и редактирование файлов. Стандартными средствами Linux это делать не очень удобно, к счастью, существует Vim.
Редактирование файлов — Vim
Vim — это текстовый редактор с простым интерфейсом и широкими возможностями. Однако по началу работа с ним может вызвать затруднения, так как взаимодействие с вимом полностью построено на горячих клавишах. Именно поэтому далее мы приводим довольно объемные таблицы с горячими клавишами.
Начнем с установки. Тут всё также просто, как и в предыдущих случаях:
apt install vim
Vim устанавливается быстро и не требует никаких действий. Далее начинается самое интересное — работа с вимом. Начнём с базовых сочетаний клавиш.
Базовые сочетания горячих клавиш
По умолчанию Vim открывает файлы в обычном режиме, который позволяет перемещаться по тексту посимвольно, построчно, поблочно, а также удалять и вставлять отдельные его фрагменты.
Горячие клавиши для перемещения по тексту в обычном режиме:
- { — переместиться на абзац вверх
- } — переместиться на абзац вниз
- Ctrl + d — переместиться на пол страницы вниз
- Ctrl + u — переместиться на пол страницы вверх
- Ctrl + f — переместиться на страницу (экран) вниз
- Ctrl + b — переместиться на страницу (экран) вверх
- gg — переместиться в начало файла
- G — переместиться в конец файла
- номер строки + G — переместиться на конкретную строку
- / искомый текст ↵ Enter — найти текст и переместиться к нему
- yy — копировать строку целиком
- yiw — скопировать слова целиком
- p — вставить содержимое буфера
Обычный режим не позволяет полноценно работать с текстом. Для этого применяются другие два режима: режим редактирования и визуальный режим.
Чтобы перейти в режим редактирования и начать вводить текст — нажмите i. Внизу окна вима появится надпись -- INSERT --.
Теперь можно вводить текст с клавиатуры.
Для выхода из режима редактирования — нужно нажать Esc, и вы опять вернетесь в обычный режим. Как вы, наверное, уже могли заметить мы не указали в списке горячих клавиш сочетания, отвечающие за выделение части текста. Это потому, что данный функционал находится в визуальном режиме.
Перейти в визуальный режим можно с помощью горячей клавиши v. Чтобы выделить часть текста или кода — установите курсор в нужное место, нажмите v и стрелками выделите нужный фрагмент, после нажмите y.
Вставить выделенный фрагмент можно так: переместите курсор в нужное место документа и нажмите p. Для отмены внесенных изменений применяется горячая клавиша u.
Обычный, визуальный и режим редактирования позволяют взаимодействовать с текстом, а для сохранения документа используется режим управления.
Команды режима управления
Чтобы войти в режим управления нажмите :, находясь в обычном режиме. Внизу редактора появится двоеточие, ожидающие ввода команды:
Теперь можно вводить следующие команды:
- w — сохранить файл
- wq — сохранить и выйти
- q — выйти из редактора
- q! — выйти без сохранения
- w! — сохранить в новый файл
- e! — отменить все изменения в текущей сессии
По началу может показаться, что такой способ взаимодействия с редактором чересчур сложен, однако после нескольких недель плотной работы в виме — использование горячих клавиш и команд доводится до автоматизма.
В заключении краткого разбора основ работы с вимом, вскользь коснемся вопроса его настройки. Настройки вима хранятся в специальном конфигурационном файле vimrc, расположенном в директории: /etc/vim/vimrc.
По умолчанию vimrc содержит множество лишней информации, её можно очистить и добавить следующие полезные настройки:
set number " — включить нумерацию строк
set iminsert=0 " — игнорировать регистр при поиске
set ic " — подсветить поиск
set ts=4 " — задать размер табуляции в 4 пробела
set showcmd " — отображать выполняемую команду
set linebreak " — перенос по словам
Вот теперь работа с вимом стала ещё более удобной.
Собираем всё воедино
Удобно и быстро подключиться к удаленному серверу, организовать рабочее пространство, настроить панели, запустить нужные утилиты можно с помощью ти-макса.
Вывести структуру директорий и их содержимое в древовидном виде можно с помощью утилиты tree, которая имеет множество полезных ключей для видоизменения отражаемой структуры директорий.
Создавать, редактировать файлы и код удобно в Vim. Поначалу Vim кажется непонятным и сложным, но если его освоить — он станет мощнейшим инструментом в вашем арсенале.
Конечно же, не стоит забывать применять горячие клавиши и команды терминала Linux из предыдущих статей:
10 горячих клавиш Linux для начинающих пользователей
Cобрали “10 горячих клавиш”, которые помогут быстрее адаптироваться на первых этапах взаимодействия с терминалом Linux.
10 команд Linux для начинающих пользователей
Знакомим с 10 терминальными командами, знание которых сильно облегчит работу в среде Linux.
Надеемся этот цикл статей был вам полезен. Не откладывайте практику в долгий ящик, если под рукой есть удобный сервис, с помощью которого можно создать виртуальный сервер под управлением Linux буквально за несколько минут.