From 1a15017610c8dc1fa3d1c960a9a57a16f739d38b Mon Sep 17 00:00:00 2001 From: esoe Date: Wed, 28 Dec 2022 16:56:41 +0300 Subject: [PATCH] qq --- linux/screen.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++ linux/ssh.md | 4 +++ 2 files changed, 94 insertions(+) create mode 100644 linux/screen.md create mode 100644 linux/ssh.md diff --git a/linux/screen.md b/linux/screen.md new file mode 100644 index 0000000..840346d --- /dev/null +++ b/linux/screen.md @@ -0,0 +1,90 @@ +# Screen command +## Назначение +Реализация многооконного режима в консоли +позволяет запускать программы, которые будут выполняться даже при закрытой консоли и не будут останавливаться при разрыве ssh соединения. + +## Область применения +- удаленная работа с сервером (ssh-соединение) +сохранение доступа к рабочей сессии с возможностью последующего подключения и восстановления работы с сессией + +## Установка screen +$ apt-get install screen + +# Работа с сессией +## Запуск screen +$ screen + По умолчанию, сессия включает только одно окно экрана (по аналогии с вкладками браузера), который представляет из себя командную строку в директории, где была запущена команда screen. + +## Просмотр запущеных на экране окон +$ CTRL+a " +покажет номера окон (Num) и наименования (Name) + +## Именование / переименование экрана (screen) +$ CTRL+a SHIFT+a +Set window's title to: newname + - далее можно посмотреть список запущенных экранов и увидеть измененное название + +## Создание второго окна на экране + $ CTRL+a c + - второму окну стоит присвоить новое имя + - далее можно посмотреть список запущенных окон и увидеть измененное название второго окна + +## Переключение между окнами экрана + $ CTRL+a n {перейти к следующему окну} + $ CTRL+a p {перейти к предыдущему окну} + $ CTRL+a CTRL+a {Переключение к предыдущему активному окну} + $ CTRL+a " {Далее можно переключаться между окнамистрелками "вверх" и "вниз"} +## Паралельное исполнение команд в разных окнах одного экрана +- запускаем в одном окне процесс, записыающий результат выполнения в файл: + $ echo Starting at $(date) > counter.txt; \ + while true; do echo $(date); sleep 5; \ + done >> counter.txt + +- запускаем во втором окне процесс, слушающий изменения в файле: + $ tail -f counter.txt {выводит последнюю строку файла в консоль} + +Мы запустили некий код в одном окне и мониторим за его исполнением в другом. + +## Переподключение к экрану / screen сессии +- завершение сессии: + просто закрыть терминал + откючиться от сессии командой + $ CTRL+a d + При этом терминал закрывается, а сессия остается активной и подолжает исполняться. +- подключение к последнему закрытому экрану/screen + $ screen -R + +## Перевести концовку мануала +if we want to close a window in a session, we can just type exit in the window: + +$ exit +Copy +This will close the current window and change to the previous window. + +If we type exit in the last window in a session, the screen session will end with the message: + +[screen is terminating] + +## Customizing a screen Session +We can customize a screen session by placing commands in a .screenrc file our user home directory. It’s also a way to easily port our preferred session settings to another machine. + +As a quick example, let’s add a couple of customizations to a .screenrc file. In our home directory, we’ll first open the .screenrc file. Then we can add the lines: + +screen -t logs +screen -t timer +Copy +After saving the file and starting screen: + +$ screen +Copy +We can check the window list: + +CTRL+a " +Copy +It shows the two named windows in the session: + +Num Name + 0 logs + 1 timer +Copy +There are many more options in the .screenrc documentation. diff --git a/linux/ssh.md b/linux/ssh.md new file mode 100644 index 0000000..913b07b --- /dev/null +++ b/linux/ssh.md @@ -0,0 +1,4 @@ +# ssh connection in linux +команда who покажет текущие подключения к серверу +tty - локальное подключение +pts - подключение по ssh