💡 Полезные Советы

Linux Screen: Как сделать терминал бессмертным (Полное руководство)

21.12.25
29

Вы когда-нибудь попадали в такую ситуацию? Вы подключились к удаленному серверу по SSH, запустили долгое обновление системы или скачивание огромного файла, и вдруг... мигнул интернет. Соединение разорвалось. Вы подключаетесь снова и видите, что ваш процесс "умер", файл недокачан, а обновление прервалось на середине. Обидно? Очень.

Знакомьтесь, Screen - утилита, которая решает эту проблему навсегда.

Что такое Screen?

Простыми словами, GNU Screen - это "оболочка внутри оболочки". Представьте, что обычное SSH-соединение - это телефонный разговор. Если связь оборвалась - разговор окончен. Screen - это голосовая почта. Вы можете позвонить, начать говорить, повесить трубку, а запись будет идти дальше. Когда вы перезвоните, вы сможете продолжить с того же места.

С технической точки зрения это терминальный мультиплексор. Он позволяет:

  1. Сохранять сессии: Программы продолжают работать на сервере, даже если вы выключили свой компьютер.

  2. Многооконность: В одном окне SSH можно создать 10 виртуальных терминалов.

Установка

В большинстве дистрибутивов (Ubuntu, Debian, CentOS) он уже установлен по умолчанию. Если нет - установка занимает секунду:

# Ubuntu / Debian
sudo apt install screen
# CentOS / Fedora
sudo yum install screen

Базовый сценарий: "Запустил и забыл"

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

1. Запуск Screen

Просто введите в консоли:

screen

Ваш терминал мигнет, появится приветственное сообщение (нажмите Space/Enter). Внешне ничего не изменится - вы увидите ту же командную строку. Но теперь вы находитесь внутри защищенной капсулы.

2. Запуск задачи

Запустите что угодно. Например, скачивание файла или htop.

htop

3. Магия «Отключения» (Detach)

Теперь самое интересное. Мы хотим отключиться от сервера, но оставить htop работать. Нажмите сочетание клавиш: 👉 Ctrl + A, затем отпустите их и нажмите D.

(D означает Detach — отсоединить).

Экран исчезнет, и вы увидите сообщение [detached from 12345.pts-0.server]. Поздравляю! Ваш htop всё еще работает там, в фоне, хотя вы его не видите. Вы можете смело закрывать SSH-клиент и выключать компьютер.

4. Возвращение (Reattach)

Прошло 2 часа. Вы снова зашли на сервер. Чтобы вернуться в свою капсулу, введите:

screen -r

(r означает Reattach — присоединить).

Бум! Вы снова видите свой htop ровно в том состоянии, в каком оставили.

Продвинутый уровень: Именованные сессии

Если вы запустите команду screen много раз, у вас будет куча безымянных сессий, и вы запутаетесь, где у вас обновление базы, а где логи. Лучше давать им имена.

screen -S update_system
# (S — заглавная, от Session)
screen -S download_logs

Посмотреть список всех сессий:

screen -ls

Вывод будет таким: 3450.update_system (Detached) 4501.download_logs (Detached)
Подключиться к конкретной сессии:

screen -r update_system

Режим "Многорукий Шива": Вкладки

Screen умеет создавать несколько окон внутри одной сессии. Это как вкладки в браузере, только в консоли.

Внутри запущенного screen все команды начинаются с "волшебной комбинации" Ctrl + A. Нажимаете её, а потом нужную букву.

КомбинацияДействие
Ctrl+A, затем cCreate. Создать новое окно (вкладку).
Ctrl+A, затем nNext. Переключиться на следующее окно.
Ctrl+A, затем pPrevious. Переключиться на предыдущее окно.
Ctrl+A, затем "Показать список всех окон и выбрать нужное.
Ctrl+A, затем kKill. Уничтожить (закрыть) текущее окно.

Шпаргалка (Cheat Sheet)

Сохраните этот список, он покроет 99% ваших задач.

В командной строке:

  • screen — запустить новую сессию.

  • screen -S имя — запустить сессию с именем.

  • screen -ls — список запущенных сессий.

  • screen -r — вернуться в последнюю сессию.

  • screen -r имя — вернуться в конкретную сессию.

Внутри Screen (сначала жмем Ctrl+A):

  • d — свернуться (вытий, оставив работать).

  • c — новое окно.

  • 0...9 — переключиться на окно по номеру.

  • Esc — войти в режим прокрутки (Copy mode), чтобы листать историю вверх стрелками.

Как правильно выйти?

Если вы закончили работу и сессия вам больше не нужна:

  1. Напишите команду exit (или нажмите Ctrl+D) внутри окна screen.

  2. Если это было последнее окно, вы увидите надпись [screen is terminating]. Это значит, что капсула уничтожена.

Screen или Tmux?

Вы наверняка слышали про tmux. Это более современный аналог screen.

  • Tmux красивее, умеет делить экран пополам вертикально и горизонтально, у него понятнее статусная строка.

  • Screen — это старая гвардия.

Почему стоит знать именно Screen? Потому что screen есть везде. Даже на старом сервере в подвале НИИ или внутри роутера. Tmux нужно устанавливать, а Screen уже ждет вас.

Использование screen — это правило хорошего тона для любого системного администратора. Возьмите за правило: "Запускаешь что-то дольше 5 минут — запускай это в screen". Это спасет ваши нервы при первом же обрыве связи.

Интересный факт: Screen старше Linux

Это взрывает мозг многим новичкам.

  • GNU Screen появился в 1987 году.

  • Первая версия ядра Linux появилась в 1991 году.

То есть screen уже существовал и работал на старых Unix-системах еще до того, как Линус Торвальдс написал первую строчку кода Linux.

Саму утилиту screen написали Оливер Лауманн (Oliver Laumann) и Карстен Борманн (Carsten Bormann) в Берлинском техническом университете в 1987 году. Изначально это была независимая программа. Но позже она была передана Фонду свободного программного обеспечения (FSF) и стала официальной частью пакета программ GNU.

Windows? История "ОС-Франкенштейна"

16.12.25
35

В мире IT принято считать, что Linux - это прямой потомок и идейный наследник Unix. Но если задать тот же вопрос про Windows, ответ будет похож на запутанный детектив. Мы разобрались в генеалогическом древе самой популярной ОС в мире и выяснили, что Windows - это своего рода "Франкенштейн", сшитый из трёх совершенно разных легендарных систем.

1 . VMS (Душа и Ядро) - Самый важный предок

Если вы спросите системного архитектора, на что похожа Windows внутри (на уровне ядра), он ответит: "На VMS". Это самый важный, но наименее известный широкой публике предок.

В конце 80-х Билл Гейтс осознал, что архитектура MS-DOS и ранних Windows 95 - это тупик. Они были ненадежными и не подходили для серьезных серверов. Ему нужна была "тяжелая артиллерия".

Что сделал Гейтс? Он переманил к себе главного архитектора системы OpenVMS из компании DEC - Дэйва Катлера. Гейтс дал ему огромный бюджет и карт-бланш с одной целью: создать "убийцу Unix". Так родилась Windows NT (New Technology), ядро которой работает сегодня в вашем компьютере.

Интересный факт: Управление памятью, драйверами и процессами в Windows идеологически взято из VMS. Существует легенда, что название WNT — это шифр. Если взять аббревиатуру VMS и сдвинуть каждую букву на одну вперед по алфавиту, получится:

  • V → W

  • M → N

  • S → T

Итог: WNT (Windows NT).

2 . CP/M (Скелет и привычки) - Откуда взялись диски C:\

Если "мозги"(ядро) Windows получила от VMS, то свои старые привычки и логику работы с файлами она унаследовала от системы CP/M (созданной Гэри Килдалом).

Именно отсюда растут корни тех вещей, которые десятилетиями удивляют пользователей Linux и macOS:

  • Буквы дисков: Почему система стоит на диске C:, а не A:? Потому что в CP/M и первых DOS буквы A и B были зарезервированы под дискеты. Эта архаичная структура жива до сих пор.

  • Обратный слеш: Использование \ вместо привычного для всего остального мира / в путях к файлам - тоже наследие CP/M и MS-DOS.

  • Имена файлов: Привычка давать файлам расширения из трех букв (.txt, .exe, .jpg) родилась из старого ограничения "8.3" (8 букв на имя, 3 на расширение).

3 . Xerox Alto и Mac OS (Лицо) - Откуда взялись окна

Внутренности от VMS и скелет от CP/M нужно было продать пользователям. Для этого требовалась красивая обертка.

Вдохновение для графического интерфейса Microsoft черпала в разработках лаборатории Xerox PARC и, позже, у Apple. Билл Гейтс, как и Стив Джобс, увидел будущее за окнами, мышкой и иконками. Первая Windows была попыткой "натянуть" красивый интерфейс (как у Mac) на старый костяк MS-DOS (клон CP/M).

 4 . Заключение

В отличие от Linux, который стремился быть "свободным Unix", Windows создавалась как коммерческий продукт-победитель. Microsoft не стеснялась брать лучшие идеи отовсюду:

  1. Ядро (Kernel): От VMS. Это дало надежность и многозадачность.

  2. Структура (CLI): От CP/M. Это подарило нам диск C: и командную строку.

  3. Интерфейс (GUI): От Xerox/Apple. Это дало нам окна и курсор мыши.

Теперь, когда вы видите синий экран загрузки или открываете "Мой компьютер", вы знаете: перед вами результат слияния трех великих технологий прошлого.

 

 

5 фактов о Bash: Шутка программистов, на которой держится весь Linux

15.12.25
49

Вы открываете терминал каждый день, видите привычный значок $ и пишете команды. Но задумывались ли вы, почему черное окно называется Bash? За этим странным словом скрывается каламбур, библейская отсылка и история борьбы за свободу кода.

Вот 5 фактов о Bash, которые должен знать каждый.

1. Скрытый смысл названия

Аббревиатура BASH расшифровывается как Bourne Again SHell. Это игра слов, которая работает на двух уровнях:

  • Прямой смысл: "Ещё одна оболочка Борна" (потому что она была создана как замена старой оболочке Bourne shell).

  • Ироничный смысл: Созвучно с выражением "Born Again" ("рожденный заново" или "возрожденный").

  • Суть шутки: Старая проприетарная оболочка "умерла" для сообщества из-за закрытой лицензии, а новая возродилась как феникс из пепла, став полностью свободной и ещё более мощной.

2. Кто такой Борн и при чем тут он?

Чтобы понять шутку, перенесемся в 1977 год. В легендарных лабораториях Bell Labs (где придумали Unix и C) работал британец Стивен Борн (Stephen Bourne). Он написал программу sh (shell - оболочка), которая стала стандартом общения человека с машиной. Её так и называли - "Оболочка Борна".

Но была проблема: sh принадлежала корпорации AT&T. Она была закрытой и платной. Вы не могли просто взять её и поставить на свой компьютер.

3. Рождение Bash (GNU и Брайан Фокс)

В 80-х Ричард Столлман запустил проект GNU. Его мечта была дерзкой: создать полностью свободную операционную систему. Им нужны были свои, бесплатные аналоги всех программ: свой редактор, свой компилятор и, конечно, своя оболочка.

Столлман нанял программиста Брайана Фокса (Brian Fox). В 1989 году Фокс выпустил первую версию Bash. Он сделал так, чтобы новая оболочка понимала все команды старой sh (для совместимости), но была удобнее и, главное, абсолютно бесплатной. Именно Фокс придумал название Bourne Again Shell как дань уважения Стивену Борну.

Интересный факт: Брайан Фокс создал Bash, но работал над ним всего пару лет. Настоящий герой - Чет Рэми (Chet Ramey). Он поддерживает и развивает Bash с начала 90-х - уже более 30 лет! Если вы сегодня найдете баг в Bash, вам ответит именно Чет.

4. Почему Bash есть в каждом Linux?

Когда в 1991 году Линус Торвальдс написал ядро Linux, у него был, по сути, только "двигатель". Ему нужны были "руль и колеса" - программы для управления ядром. Он не стал писать их с нуля, а взял готовые инструменты от проекта GNU. Поскольку Bash был лучшей свободной оболочкой на тот момент, он сразу попал в первые дистрибутивы.

С тех пор это стандарт: ставишь Linux - получаешь Bash.

5. Терминал и Bash - не одно и то же

Новички часто путают эти понятия, но разница важна:

  • 📺 Терминал (GNOME Terminal, Putty, Console) - это "телевизор". Это просто окно, которое показывает текст и передает нажатия клавиш.

  • 👨‍💻 Bash - это "телеведущий". Это программа, которая сидит внутри терминала, читает ваши команды (ls, cd, mkdir), понимает их и запускает процессы.

 

IRC: Секретный бункер интернета. Почему в 2025 году профи всё ещё сидят в чатах из 90-х?

14.12.25
60

Пока весь мир переезжал из ICQ в Skype, а затем в Telegram, Discord и Slack, протокол IRC (Internet Relay Chat) остался главным офисом для тех, кто строит современный интернет. Это не ностальгия - это прагматичный выбор профессионалов.

Если вы думаете, что IRC умер, вы просто не знаете, где искать. Вот 5 причин, почему эта технология актуальна в 2025 году и почему вам стоит о ней знать.

💡 Совет для старта: Скачайте HexChat, выберите сеть Libera.chat, придумайте ник и зайдите на канал #python или #linux. Добро пожаловать в реальный мир!

1. Здесь живет Open Source (Linux, Python, Devs)

Это самая большая группа пользователей. Если у вас сломался Arch Linux, вы настраиваете Gentoo или пишете сложный модуль для Python - вы идете за помощью не в Discord. Вы идете в IRC.

Почему не Discord? Разработчикам ядра и системным администраторам не нужны гифки, стикеры, "тяжелые" интерфейсы на Electron, которые съедают 500 Мб оперативной памяти просто при запуске. Им нужен чистый текст, протоколируемость и возможность читать чат через SSH-терминал с удаленного сервера.

Где их искать: Сейчас центром мира Open Source стала сеть Libera.chat (туда мигрировали сообщества Ubuntu, Fedora, PostgreSQL, Wikipedia после скандала с сетью Freenode в 2021 году).

2. Вы используете IRC, даже не зная об этом (Twitch)

Самый неожиданный факт для геймеров: чат на платформе Twitch - это технически модифицированный IRC.

Когда вы пишете стримеру "PogChamp", ваш браузер на самом деле подключается к IRC-серверу Твича через веб-сокеты. Именно поэтому многие продвинутые боты для модерации Твича написаны на старых добрых библиотеках для IRC. Технология оказалась настолько надежной и масштабируемой, что Amazon не стал изобретать велосипед.

3. Хакеры и кибербезопасность (CTF)

IRC остается стандартом де-факто для CTF-команд (соревнования по взлому) и хактивистов (вроде Anonymous).

Причина - Анонимность.

  • Для регистрации в Telegram нужен номер телефона.

  • Для Discord нужен Email.

  • Для IRC не нужно ничего.

Вы можете подключиться через TOR, сгенерировать случайный никнейм, обсудить уязвимость и исчезнуть, не оставив цифровых следов. (Но помните: у этой медали есть обратная сторона - исторически IRC использовали для управления ботнетами).

4. Подпольная библиотека (XDCC)

Существует технология XDCC - протокол передачи файлов прямо через чат. До сих пор существуют закрытые каналы, где боты раздают терабайты редких технических книг, аниме или вареза.

Это работает быстрее торрентов, так как соединение идет напрямую между пользователями, без трекеров. Но найти такие каналы сложно - нужно "знать места". Это своего рода закрытый клуб для своих.

5. Мост в будущее (Matrix)

Современный протокол Matrix (который сейчас набирает популярность у гиков как замена Telegram) умеет создавать "мосты" (bridges) в IRC.

Это выглядит как магия: вы сидите в современном красивом приложении Element на смартфоне, а ваш собеседник - в черном терминале Linux сервера 1998 года выпуска. Вы находитесь в одном чате, и технологии прозрачно соединяют вас.

Почему IRC не умирает?

IRC - это "Текстовое Радио" интернета.

  1. Неубиваемость: Работает даже на калькуляторе при GPRS-интернете.

  2. Свобода: Никто (ни Google, ни Павел Дуров, ни Microsoft) не владеет IRC. Вы можете поднять свой сервер за 5 минут на любой VPS.

  3. Автоматизация: Написать полезного бота для IRC можно за 5 минут и 10 строчек кода на Python.

📥 Какой клиент скачать?

Чтобы зайти в IRC, вам нужна программа-клиент. Вот лучшие варианты для старта:

🖥️ Для Windows (Графический интерфейс)

  • HexChat - Самый популярный классический клиент. Простой, понятный, с открытым кодом. Идеален для новичков.
    📥 Скачать HexChat
  • AdiIRC - Более современная и активно обновляемая альтернатива с кучей настроек внешнего вида.
    📥 Скачать AdiIRC

🐧 Для Linux / Mac (Для настоящих джедаев)

  • WeeChat - Мощнейший консольный клиент. Работает прямо в терминале. Выглядит как пульт управления космическим кораблем. Очень любят сисадмины.
    🔗 Сайт WeeChat
  • Irssi - Легендарная классика терминальных клиентов. Если вы видите в фильмах хакера в консоли - скорее всего, у него запущен Irssi.
    🔗 Сайт Irssi

📱 Для Android

  • IRCCloud - Самый современный вариант. Работает как Telegram: красивый интерфейс, пуш-уведомления, история хранится в облаке. 
    Нюанс: В бесплатной версии отключается от сети через 2 часа простоя, но само приложение скачивается бесплатно.
    ▶️ Скачать IRCCloud
  • AndroIRC - Простой, "неубиваемый" клиент. Интерфейс староват, но работает стабильно на любых телефонах. Аналог mIRC для Андроида.
    ▶️ Скачать AndroIRC
  • Termux - 🛠 Выбор хакера. Это полноценный эмулятор Linux-терминала. Вы можете установить туда настоящий Irssi или WeeChat и работать в IRC так же, как на сервере.
    ▶️ Скачать Termux

Linux Cheat Sheet: Справочник полезных команд с примерами

12.12.25
43

🖥 Информация об оборудовании и системе

Команды для диагностики "железа" и ядра. Многие из них требуют прав root.

  • Сообщения ядра (dmesg): dmesg | less (Показывает события, произошедшие при загрузке. | less позволяет листать вывод).

  • Информация о процессоре: cat /proc/cpuinfo или более наглядно: lscpu

  • Оперативная память (RAM): free -h (Флаг -h показывает размер в Mb/Gb).

  • Конфигурация всего оборудования: sudo lshw -short (Краткий список всего "железа").

  • Блочные устройства (диски, флешки): lsblk

  • PCI-устройства (видеокарты, сетевые карты): lspci -tv

  • USB-устройства: lsusb -tv

  • Информация из BIOS (DMI): sudo dmidecode

  • Информация о параметрах диска: sudo hdparm -i /dev/sda (Замените sda на имя вашего диска).

  • Тест скорости чтения диска: sudo hdparm -tT /dev/sda

  • Проверка диска на битые сектора: sudo badblocks -s /dev/sda


📂 Файлы и Навигация

Базовое управление файловой системой.

  • Список файлов: ls -lh (Показывает размеры файлов в удобном виде).

  • Показать вообще все файлы (включая скрытые): ls -a

  • Где я сейчас? (Текущий каталог): pwd

  • Создать папку: mkdir [имя_папки] (Используйте mkdir -p папка/подпапка, чтобы создать структуру вложенных папок).

  • Создать пустой файл: touch [имя_файла]

  • Копирование файла: cp [источник] [назначение]

  • Копирование папки (рекурсивно): cp -r [папка_источник] [папка_назначение]

  • Перемещение или переименование: mv [старое_имя] [новое_имя]

  • Удаление файла: rm [имя_файла]

  • Удаление папки (Осторожно!): rm -rf [имя_папки] (Удаляет рекурсивно и без вопросов).

  • Символическая ссылка (ярлык): ln -s /путь/к/файлу [имя_ссылки]

Просмотр содержимого:

  • cat [файл] — вывести весь файл.

  • less [файл] — прокрутка длинного файла.

  • head [файл] — первые 10 строк.

  • tail [файл] — последние 10 строк.

  • tail -f [файл] — следить за новыми строками в файле (логи) в реальном времени.


🔍 Поиск

  • Поиск текста в файле (grep): grep "текст" [файл]

  • Рекурсивный поиск текста в папке: grep -r "текст" [папка]

  • Поиск файла по имени (find): find [где_искать] -name "имя_файла"

    Пример: find /home -name "*.jpg"

  • Поиск файлов по размеру: find / -size +100M (Найти файлы больше 100 Мб).

  • Быстрый поиск по базе имен: locate [имя_файла]


📦 Архивация и сжатие

  • Создать архив (tar): tar cf архив.tar [файл_или_папка]

  • Распаковать архив (tar): tar xf архив.tar

  • Создать сжатый архив (tar.gz): tar czf архив.tar.gz [папка]

  • Распаковать сжатый архив (tar.gz): tar xzf архив.tar.gz

  • Сжать файл (gzip): gzip [файл] (Создаст файл.gz и удалит оригинал).


👥 Пользователи и Группы

Команды для администрирования. Требуют sudo.

  • Кто я? whoami

  • Кто в системе? w или who

  • Добавить пользователя: sudo adduser [имя]

  • Добавить группу: sudo groupadd [группа]

  • Добавить пользователя в группу: sudo usermod -aG [группа] [пользователь]

  • Удалить пользователя: sudo userdel [пользователь]


🛡 Права доступа (Permissions)

В Linux права записываются тремя цифрами (Владелец-Группа-Остальные) или буквами (r=чтение, w=запись, x=исполнение).

  • Сделать файл исполняемым: chmod +x [файл]

  • Полные права всем (777 - опасно!): chmod 777 [файл]

  • Стандартные права для файлов (755): chmod 755 [файл] (Владелец может всё, остальные — только читать и исполнять).

  • Изменить владельца файла: sudo chown [юзер]:[группа] [файл]


⚙️ Управление процессами

  • Диспетчер задач (Top): top или htop (если установлен).

  • Список всех процессов: ps aux

  • Дерево процессов: pstree

  • Убить процесс по ID (PID): kill [PID]

  • Убить процесс по имени: pkill [имя_процесса] (Например: pkill firefox).

  • Список открытых файлов: lsof


🌐 Сеть

  • Показать IP-адреса: ip addr show (современный вариант) или ifconfig (устаревший).

  • Показать открытые порты: sudo netstat -tulpn (Или ss -tulpn — более современный аналог).

  • Проверить доступность хоста: ping [google.com]

  • Узнать владельца домена: whois [домен]

  • DNS-запросы: dig [домен] или host [домен]

  • Скачать файл: wget [ссылка]

  • Копировать файл на сервер (SCP): scp [файл] user@host:/путь/куда/класть

  • Синхронизация папок (Rsync): rsync -avz [откуда] [куда]


📥 Установка программ (Пакетные менеджеры)

Команды зависят от вашего дистрибутива.

Debian / Ubuntu / Mint (APT):

  • sudo apt update — обновить список пакетов.

  • sudo apt install [пакет] — установить.

  • sudo apt remove [пакет] — удалить.

CentOS / RHEL (YUM/DNF):

  • sudo yum install [пакет]

  • sudo dnf install [пакет] (для новых версий).


⌨️ Полезные горячие клавиши терминала

Эти сочетания сэкономят вам часы работы.

СочетаниеДействие
Ctrl + CПрервать выполнение текущей команды
Ctrl + ZПриостановить процесс (отправить в фон)
Ctrl + DРазлогиниться (аналог exit)
Ctrl + LОчистить экран (аналог clear)
Ctrl + AКурсор в начало строки
Ctrl + EКурсор в конец строки
Ctrl + RПоиск по истории введенных команд
TabАвтодополнение имен файлов и команд (нажимать дважды)

🔧 Использование диска

  • Свободное место на дисках: df -h

  • Размер папки: du -sh [папка] (Покажет суммарный вес указанной директории).

  • Список разделов: sudo fdisk -l

  • Монтирование: sudo mount /dev/[устройство] /mnt/[папка]