Linux для чайника

Адрес канала: @os_linux_ru
Неактивный
Категории: Технологии
Язык: Русский
Количество подписчиков: 20.03K
Описание канала:

Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.
Только по вопросам сотрудничества: @altmainf
Регистрация в перечне РКН https://clck.ru/3EpL9L

Рейтинги и Отзывы

3.00

3 отзыва

Оценить канал os_linux_ru и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

1

2 звезд

0

1 звезд

1


Последние сообщения 2

19 ноя 2025
Магические модификаторы строк ${var@Q}, ${var@U}, ${var@L}

Пример:
v="Hello World"
echo "${v@Q}" # 'Hello World'
echo "${v@U}" # HELLO WORLD
echo "${v@L}" # hello world

Практическое применение:
${var@Q} — идеально подходит для безопасной сериализации аргументов в логи:
echo "Запускаю с аргументом: ${user_input@Q}"
2.53K views09:05
Подробнее
Поделиться:
Открыть/Комментировать
18 ноя 2025
$PIPESTATUS — статусы всех команд в pipeline

Обычное поведение Bash:
cmd1 | cmd2 | cmd3
echo $? # ← статус *последней* команды
Но если cmd1 сломалась — вы не узнаете.

Пример:
grep ERROR log.txt | sort | uniq
echo "${PIPESTATUS[@]}"
Выход, например: 1 0 0

Практическая польза:
Проверка pipeline, который не должен молча ломаться:
grep "$pattern" logfile |
awk '{print $2}' |
sort -u

if (( PIPESTATUS[0] != 0 )); then
echo "Ошибка: grep ничего не нашёл"
fi
2.85K views11:05
Подробнее
Поделиться:
Открыть/Комментировать
18 ноя 2025
Инсайдер — это не миф, а реальный источник угроз для любой компании. Ошибки сотрудников, скомпрометированные учётные записи или злонамеренные действия изнутри часто становятся причиной инцидентов, которые не ловит ни один firewall.

На открытом уроке вы узнаете, как выявлять уязвимости и закрывать их до того, как ими воспользуются. Разберём реальные сценарии атак: злонамеренные, скомпрометированные и небрежные пользователи. Покажем, как безопасно имитировать инсайдерские атаки в инфраструктуре — от credential dumping и анализа путей в Active Directory до ролевых симуляций red team и grey-box подхода.

После урока вы получите готовую структуру сценария для имитации инсайдерских угроз и чек-лист мер по детекции и снижению рисков. Мы обсудим метрики, подходы к анализу инцидентов и способы усилить технические и организационные меры — IAM, UBA/UEBA, DLP и политики доступа. Занятие будет полезно пентестерам, специалистам SOC, инженерам ИБ, архитекторам и тем, кто отвечает за контроль доступа и безопасность инфраструктуры.

24 ноября, 20:00 МСК. Открытый урок проходит в преддверии старта курса «Пентест. Инструменты и методы проникновения в действии».

Регистрация открыта: https://otus.pw/Dh4I/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
2.75K views09:01
Подробнее
Поделиться:
Открыть/Комментировать
17 ноя 2025
Встроенная команда : — «делай ничего, но успешно»

Команда : есть в POSIX, но почти никто не использует её в реальных скриптах.
Она ничего не делает, ничего не выводит и всегда возвращает 0.

Примеры:

• Проверка обязательных переменных
: "${DB_HOST:?Переменная DB_HOST обязательна}"
Если переменной нет — Bash мгновенно завершит скрипт с ошибкой.

«Пустое» вычисление
i=0
: $((i++))
echo "$i" # 1
Строка выглядит как no-op, но выполняет арифметику.

Бесконечный цикл
while :; do
echo "Работаю..."
sleep 1
done
Лучше, чем while true, потому что не вызывает внешнюю команду
3.12K views11:04
Подробнее
Поделиться:
Открыть/Комментировать
17 ноя 2025
«Экспресс 42» при поддержке 12 генеральных партнёров и инновационного партнёра Sk Fintech Hub подготовила полную версию «Исследования состояния DevOps в России 2025».

Мы опросили больше 4000 инженеров, разработчиков, администраторов, тестировщиков, техлидов, тимлидов, CIO и CTO и готовы поделиться:

• какие инструменты сейчас популярны на рынке;
• какие характеристики Developer Experience отличают высокоэффективные команды;
• для каких задач используют ИИ-инструменты и какие из них действительно полезны;
• как внедряют ИБ в процесс разработки;
• какие цели развития у внутренних платформ для разработки;
• какие изменения произошли на рынке труда за год.

Полную версию отчёта можно изучить по ссылке
3.2K views08:59
Подробнее
Поделиться:
Открыть/Комментировать
12 ноя 2025
Системному администратору или DevOps-инженеру часто требуется быстро собрать информацию о сервере: версия ОС, ресурсы, нагрузка, сеть, установленные пакеты и т.д.
Обычно это делается набором команд вроде lscpu, free -h, df -h, ip a, uptime и многих других.

Но что если всё это можно объединить в один универсальный отчёт, создаваемый по расписанию и сохраняемый в файл?
Для этого идеально подойдёт небольшой Bash-скрипт, который собирает ключевые метрики и формирует системный отчёт.

#!/bin/bash
# sysreport.sh — генерация системного отчёта для Linux

REPORT="$HOME/sysreport_$(hostname)_$(date +%F_%H-%M).txt"

{
echo "======================================"
echo " СИСТЕМНЫЙ ОТЧЁТ ($(hostname))"
echo "======================================"
echo "Дата: $(date)"
echo "Пользователь: $USER"
echo "--------------------------------------"

echo ""
echo "=== ОС и ядро ==="
lsb_release -a 2>/dev/null || cat /etc/os-release
uname -a

echo ""
echo "=== Аппаратные данные ==="
echo "CPU:"
lscpu | grep -E 'Model name|CPU\(s\)|Thread|Core'
echo ""
echo "Память:"
free -h
echo ""
echo "Диски:"
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
echo ""
echo "Файловые системы:"
df -hT | grep -v tmpfs

echo ""
echo "=== Сеть ==="
ip -brief address
echo ""
echo "Маршруты:"
ip route show
echo ""
echo "DNS-серверы:"
grep "nameserver" /etc/resolv.conf

echo ""
echo "=== Нагрузка и процессы ==="
echo "Uptime: $(uptime -p)"
echo "Средняя загрузка: $(uptime | awk -F'load average:' '{print $2}')"
echo "Топ-5 по CPU:"
ps -eo pid,comm,%cpu --sort=-%cpu | head -6
echo ""
echo "Топ-5 по памяти:"
ps -eo pid,comm,%mem --sort=-%mem | head -6

echo ""
echo "=== Активные подключения ==="
sudo netstat -tulnp 2>/dev/null | head -10 || ss -tulnp | head -10

echo ""
echo "=== Последние входы пользователей ==="
last -n 5

echo ""
echo "=== Обновления системы ==="
if command -v apt &>/dev/null; then
apt list --upgradable 2>/dev/null | grep -v "Listing" || echo "Все пакеты обновлены."
elif command -v dnf &>/dev/null; then
dnf check-update || echo "Все пакеты обновлены."
fi

} > "$REPORT"

echo " Отчёт сохранён в: $REPORT"

Для запуска:
chmod +x sysreport.sh
./sysreport.sh

Создаётся файл вроде:
/home/admin/sysreport_server01_2025-11-12_14-05.txt
4.38K views11:04
Подробнее
Поделиться:
Открыть/Комментировать
12 ноя 2025
Айтишная народная примета: «Что у Линуса Торвальдса в голове, то он и покажет средним пальцем техногиганту».
Команда канала «Люди и код» берёт интервью у опытных и начинающих разработчиков, честно рассказывает об индустрии глазами программистов, находит интересные и неожиданные темы и помогает влюбиться в IT. Про мемы тоже не забываем, кстати.
Вот наши любимые материалы:
1. Что такое Linux: гайд по самой свободной операционной системе.
2. Linux от А до Я.
3. Выбрось свои книги: 20 игр, которые научат кодить и не только.
4. «Альт Линукс»: обзор российских дистрибутивов Linux.
5. Разработка Linux Kernel, миф о токсичности Торвальдса и проблемы Rust с Алексеем Гладковым из Red Hat.

Подписывайтесь на канал «Люди и код»: @skillbox_media_code

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Erid:2VtzqvQapLx
4.01K views09:00
Подробнее
Поделиться:
Открыть/Комментировать
10 ноя 2025
Отобразить список открытых файлов и псевдофайлов, в том числе и сокетов, как локальных, так и протоколов TCP и UDP, можно с помощью команды lsof

К примеру, показать все TCP и UDP сокеты
lsof -i

Показать все TCP и UDP сокеты, связанные с адресом 192.168.1.5.
lsof -i@192.168.1.5

Тоже самое, но при отображении не преобразовывать адреса хостов и номера портов в доменные имена и названия сервисов.
lsof -i@192.168.1.5 -n -P

Показать все TCP сокеты; при отображении не преобразовывать адреса хостов и номера портов.
lsof -i TCP -n -P

Показать все UDP сокеты, связанные с адресом 192.168.1.5; при отображении не преобразовывать адреса хостов и номера портов.
lsof -i UDP@192.168.1.5 -n -P
4.35K views08:59
Подробнее
Поделиться:
Открыть/Комментировать
6 ноя 2025
Поиск введенных ранее команд в командной строке можно организовать по префиксу. То есть набираем "cd " и при нажатии вверх-вниз видим только команды начинающейся с "cd ".

Для такой возможности - открываем на редактирование файл ~/.inputrc и записываем туда:

"\e[A": history-search-backward
"\e[B": history-search-forward

Сохраняем. Готово.
5.97K views10:59
Подробнее
Поделиться:
Открыть/Комментировать
3 ноя 2025
Файловую систему необходимо смонтировать до того, как она станет видимой для процессов.

Точкой монтирования для ФС может быть любой каталог.

Например, команда
sudo mount /dev/sda1 /mnt/temp

монтирует ФС в разделе, представленном файлом устройства /dev/sda1 в каталоге /mnt, который является традиционным для временных точек монтирования.

Размер файловой системы можно проверить с помощью команды df. Например:
df -h /mnt/web1 

В приведенном примере флаг -h используется для выдачи результатов в понятном для человека виде.
6.58K views13:59
Подробнее
Поделиться:
Открыть/Комментировать
31 окт 2025
Модули ядра Linux

Ядро Linux — является монолитным ядром. 
Это значит, что весь исполняемый код сосредоточен в одном файле. Такая архитектура имеет некоторые недостатки, например, невозможность установки новых драйверов без пересборки ядра. Но разработчики нашли решение и этой проблеме, добавив систему модулей.

Модули ядра Linux собираются только под определенную версию ядра и находятся в папке /lib/modules/.

Основные команды для управления модулями.
 ⁃ lsmod - посмотреть загруженные модули
 ⁃ modinfo - информация о модуле
 ⁃ insmod - загрузить модуль
 ⁃ rmmod - удалить модуль

Чтобы посмотреть все установленные модули ядра Linux в системе:
dpkg -S *.ko | grep /lib/modules
7.16K views12:30
Подробнее
Поделиться:
Открыть/Комментировать
31 окт 2025
Не пропустите! 05 ноября в 20:00 пройдет бесплатный урок по теме “PostgreSQL для администраторов и разработчиков” по теме “Работа с json в PostgreSQL: давно не просто текст.” Запись:

https://otus.pw/Tzar/

JSON в PostgreSQL — это не временное хак-решение, это инструмент, который меняет подход к хранению данных. Он позволяет хранить гибкие, меняющиеся структуры прямо в таблице и при этом использовать мощь SQL: фильтрацию, индексы и транзакции.

На уроке вы увидите, как использовать JSON/JSONB так, чтобы не терять скорость и предсказуемость, но объединять удобство JSON-формата с производительностью и гарантиями PostgreSQL.

Рассмотрим:
- работу с типами данных JSON и JSONB в PostgreSQL.
- изучим операторы и функции для работы с JSON-документами.
- определим применение индексов и функций для повышения производительности при работе с JSONB.

Какие результаты на выходе:

- вы спокойно будете читать и писать запросы к JSON/JSONB;
- поймёте, как индексировать поля в JSONB и когда это действительно даёт эффект;
- научитесь выбирать между реляционной моделью и использованием JSON в конкретном кейсе;
- получите готовые примеры и шаблоны запросов для использования в проектах.

Записывайтесь на вебинар и получит спец. предложение на обучение: https://otus.pw/Tzar/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru/
5.47K views09:00
Подробнее
Поделиться:
Открыть/Комментировать
29 окт 2025
Замена традиционной команды ls

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

Примеры:
Отобразить список файлов с подробной информацией:
exa -l

Отобразить список файлов, включая скрытые, с подробной информацией:
exa -la

Показать древовидный вывод содержимого каталога:
exa --tree

Показать древовидный вывод содержимого каталога с указанием уровня вложенности:
exa --tree --level=2

Отобразить файлы с информацией о Git-статусе:
exa -l --git

Установка exa зависит от вашего дистрибутива Linux. Например, для дистрибутивов на основе Debian:
sudo apt install exa
4.52K views16:06
Подробнее
Поделиться:
Открыть/Комментировать
28 окт 2025
Если диск заполняется и нужно знать, где находятся все занимающие место медиафайлы, поможет команд du.

Без аргументов она выводит использование диска для каждого каталога в иерархии каталогов, начиная с текущего рабочего каталога. (Это может быть длинный список, для примера просто запусти команду du в ( / ), чтобы понять, о чем речь. Когда надоест смотреть, нажимай Ctrl+C)

Команда du -s включает режим общего подсчета для вывода только итоговой суммы.

Чтобы оценить все файлы и подкаталоги в определенном каталоге, перейди в него и запусти команду du -s *, но имей в виду, что могут существовать каталоги с точкой, которые эта команда не увидит.

В посте ранее приводился список аргументов команды.
4.87K views11:06
Подробнее
Поделиться:
Открыть/Комментировать
24 окт 2025
Каждый раз, когда вы будете устанавливать программы с помощью aptitude, будет загружаться DЕВ-архив и помещаться в папку /var/cache/apt/archives.

Скорее всего, там уже есть файлы:
ls /var/cache/apt/archives/

Для освобождения места на диске, можно применить:
sudo aptitude clean

Повторное выполнение команды ls покажет, что все пакеты удалены, но если у вас слабый интернет и вам необходима неделя, чтобы загрузить последние версии программных пакетов (что очень мало вероятно, сейчас уже ..), то следует подумать дважды, прежде чем выполнять действия, описанные выше, либо воспользоваться
sudo aptitude autoclean

который удалит только устаревшие пакеты.
5.69K views16:06
Подробнее
Поделиться:
Открыть/Комментировать
22 окт 2025
Сгенерировать список последних сессий, в том числе время их начала и окончания можно с помощью команды: last

Выведутся данные, хранящиеся в файле /var/log/wtmp. Имейте в виду, что в некоторых дистрибутивах этот файл не создается по умолчанию.

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

last reboot   отобразит историю перезагрузок системы.

Команда: sudo lastb
похожа на last, однако показывает только неудавшиеся попытки входа в систему, извлекая данные из файла /var/log/btmp.
5.5K views09:03
Подробнее
Поделиться:
Открыть/Комментировать
Linux для чайника @os_linux_ru
Открыть в Telegram