Bash - это командная оболочка, которая используется для управления операционной системой Linux. Она предоставляет множество инструментов для автоматизации задач и повышения производительности работы. Одним из таких инструментов является возможность создания нескольких терминалов одновременно и запуска в них разных программ.
Для создания нескольких терминалов в bash можно использовать команду screen
. Эта команда позволяет создать новый сеанс, который будет работать независимо от основного терминала. Вы можете открыть несколько таких сеансов и переключаться между ними, используя клавишу Ctrl+A
и стрелки влево/вправо.
Чтобы запустить разные программы в каждом из этих терминалов, нужно просто ввести команды в каждый из них. Например, вы можете запустить веб-сервер в одном терминале и редактор кода в другом.
Вот пример использования команды screen
:
screen -S webserver
cd /path/to/webserver
sudo service apache2 start
screen -S editor
cd /path/to/project
vim index.html
В этом примере мы создаем два сеанса: один для запуска веб-сервера Apache и другой для редактирования файла index.html
в редакторе Vim. После выполнения этих команд вы можете переключиться между этими сеансами, используя клавиши Ctrl+A
, Ctrl+A S
и стрелки влево/вправо.
Также стоит отметить, что команда screen
может быть очень полезной при работе с удаленными серверами, так как она позволяет сохранять состояние сеанса даже после разрыва соединения.
Если вам нужно создать еще больше терминалов, вы можете использовать команду tmux
. Это более мощный инструмент, который позволяет создавать панели и окна, а также управлять ими с помощью горячих клавиш.
Tmux - это свободная консольная утилита-мультиплексор, которая предоставляет пользователю доступ к нескольким терминалам в рамках одного экрана. Она может быть отключена от экрана, но продолжает работать в фоновом режиме. Tmux является штатным мультиплексором терминалов операционной системы OpenBSD. Программа задумывалась как замена GNU Screen.
При старте без параметров, в конфигурации по умолчанию, tmux создает новую сессию с единственным окном и отображает ее на экране. Серверная часть tmux запускается автоматически и остается работать до конца существования последней запущенной на этом сервере сессии.
Возможен запуск нескольких серверов, при этом каждый должен принимать подключения на отдельном сокете. Сессия tmux - это совокупность псевдотерминалов, находящихся под управлением tmux.
К каждой сессии привязаны одно или более окон. Каждое окно создается вместе с запуском некоторой программы и вместе с ней закрывается. Экран может быть занят как только одним окном, так и мозаикой из нескольких панелей, каждая из которых соответствует одному псевдотерминалу.
Несколько экземпляров tmux могут быть присоединены к единственной сессии, на сервере tmux может одновременно работать несколько сессий, а в одной сессии может быть неограниченное количество окон.
После закрытия всех сессий работа tmux прекращается. В статусной строке в самом низу экрана отображается информация о текущей сессии; эта же строка используется для ввода команд самого tmux.
При этом ввод команд tmux возможен и напрямую внутри псевдотерминалов благодаря переменной окружения TMUX, добавляемой при запуске приложений в новых окнах. Tmux может использоваться в комбинации с другими программами, такими как Mosh, для улучшения функциональности и удобства работы.
Вот пример создания двух окон в tmux:
tmux new-session -s webserver
cd /path/to/webserver
sudo service apache2 start
tmux split-window -h -t webserver
cd /path/to/editor
vim index.html
Здесь мы создаем два окна в одном сеансе tmux. В первом окне запускаем веб-сервер, а во втором - редактор кода.