LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
Больше📈 Аналитический обзор Telegram-канала LinuxSkill - Сводки с прода и Шпаргалки
Канал LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 936 подписчиков, занимая 11 366 место в категории Технологии и приложения и 59 933 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 936 подписчиков.
Согласно последним данным от 17 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -69, а за последние 24 часа — -2, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 17.14%. В первые 24 часа после публикации контент обычно набирает 6.41% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 874 просмотров. В течение первых суток публикация набирает 701 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 10.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как docker, linux, bash, devops, скрипт.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
Благодаря высокой частоте обновлений (последние данные получены 18 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
grep -rnw '/path/to/somewhere/' -e 'pattern'
Объяснение параметров:
- -r или -R — рекурсивный поиск.
- -n — вывод номера строки.
- -w — поиск точного совпадения слова.
- -l — вывод только имени файла, содержащего совпадение.
- -e — шаблон, используемый для поиска.
Дополнительные флаги для более эффективного поиска:
1. Поиск только в файлах с расширениями .c или .h:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
2. Исключение файлов с расширением .o:
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
3. Исключение директорий dir1/, dir2/ и всех, соответствующих *.dst/:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/search/' -e "pattern"
Эти команды помогут тебе эффективно искать нужные файлы и исключать ненужные. Для получения дополнительных опций, ознакомься с man grep.
Советы от сообщества:
- Используй --exclude, чтобы исключить файлы, например: grep -rnw --exclude=*.o 'directory' -e "pattern".
- -r и -R могут работать по-разному в зависимости от реализации grep.
- Кавычки в командах важны, особенно для новичков.
- Добавь -I, чтобы пропустить все бинарные файлы.
- Для более широкого поиска используй -rni для игнорирования регистра.
Эти советы помогут тебе стать мастером поиска в Linux! Делись своими успехами и задавай вопросы в комментариях. 🚀
Ветка: https://stackoverflow.com/questions/16956810/find-all-files-containing-a-specific-text-string-on-linux
📩 Завтра: 🚀 Как использовать Ansible для автоматизации установки и настройки веб-сервера Apache под Linux
Включи 🔔 чтобы не пропустить!
________________
Дополнительный материал:
🧠 - Защита данных в Linux: Как обойти ограничения файловой системы
🧠 - Все, что вам нужно знать о команде ar в Linux
🧠 - SELinux: От Секретного Проекта до Корпоративного Стража
tags: #linux #grep #search #tips #stackoverflow @LinuxSkill# Установка Cruft через apt
apt install cruft
# Запуск Cruft с игнорированием определенных директорий
cruft --ignore /boot --ignore /sys --ignore /home --ignore /var/lib/docker -r ~/your-report.txt
- Утилита может долго анализировать систему, поэтому заранее укажи директории, которые нужно проигнорировать, например, /var/lib/docker.
Пример отчета:
- Отчет покажет файлы, которые не должны быть на сервере. Это может быть полезно, если ты работаешь с клиентским сервером или только что устроился на новую работу.
cruft report: Fri Apr 19 10:00:07 UTC 2024
---- unexplained: / ----
/usr/local/sbin/fuck.sh
/usr/local/sbin/growroot
/usr/local/sbin/ttyd
/usr/local/sbin/validator
/usr/local/share/fonts/.uuid
- В отчете можно найти забытые скрипты или самописные утилиты, которые могут быть важны для работы сервера.
- Cruft — это отличный инструмент для поиска и анализа ненужных файлов на сервере. Он не раз выручал меня при миграции со старых серверов на новые.
📩 Завтра: Самый популярный вопрос на stackoverflow по тегу #linux > 11,7 млн просмотров
Включи 🔔 чтобы не пропустить!
________________
Дополнительный материал:
🧠 - Linux Mastery: Настройка разрешений файлов с восьмеричным представлением
🧠 - Ваш путеводитель по команде arch в Linux: Открытие архитектуры вашей системы
🧠 - История зеленого великана: Как Linux Mint стал символом простоты и элегантности
#Linux_Mastery @LinuxSkill find $LOCATION -name $REQUIRED_FILES -type f -mtime +1 -delete
2. Удаление файлов старше 6 часов:
find $LOCATION -name $REQUIRED_FILES -type f -mmin +360 -delete
Используй -mmin для более точного контроля времени.
3. Удаление с помощью stat и xargs:
stat --printf='%Y %n\0' ./* | sort -zn | sed -z 's/[^ ]\{1,\} //;q' | xargs -r0 rm
Безопасный метод, который не ломается на именах файлов с новыми строками.
4. Удаление самого старого файла:
rm -- "$(ls -rt | head -n 1)"
Удаляет самый старый файл в директории.
5. Удаление с использованием zsh:
rm -- *(Om[1])
Работает независимо от символов в именах файлов.
📩 Завтра: 🛠️ Cruft: Утилита для поиска ненужных файлов на Linux серверах
Включи 🔔 чтобы не пропустить!
________________
Дополнительный материал:
🧠 - Управление файлами и каталогами как профи
🧠 - Ваш путеводитель по командам Adduser и Addgroup в Linux
🧠 - Jenkins: От Простого CI Сервера до Краеугольного Камня DevOps
#Linux_stackoverflow @LinuxSkill#!/bin/bash
# Укажите путь к каталогу для бэкапа
SOURCE_DIR="/path/to/backup"
# Путь для сохранения архива
DEST_DIR="/path/to/destination"
# Создаём имя файла с датой
DATE=$(date +"%Y%m%d")
BACKUP_NAME="backup_$DATE.tar.gz"
# Создание резервной копии
tar -czvf "$DEST_DIR/$BACKUP_NAME" "$SOURCE_DIR"
echo "Резервная копия создана: $DEST_DIR/$BACKUP_NAME"
Как работает этот скрипт:
- Архивирование данных: Скрипт архивирует данные из SOURCE_DIR и сохраняет их в DEST_DIR.
- Метка даты: Имя архива включает текущую дату, что упрощает отслеживание и управление бэкапами.
📩 Завтра: 🎥 Prometheus - Как установить Grafana, настроить Data Source, добавить Dashboards ?
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Удаление файлов и каталогов без стресса
🧠 - Создание Docker Образов и Магия Сетей: От Одиночных Узлов до Docker Swarm
🧠 - Btrfs: Революция Файловых Систем в Мире Linux
#Linux_Mastery @LinuxSkilliptables -I INPUT -s 198.51.100.0 -j DROP
Чтобы удалить правило:
iptables -D INPUT -s 198.51.100.0 -j DROP
2. Создаем простой, но эффективный файрвол:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -m comment --comment "Allow loopback connections" -j ACCEPT
iptables -A INPUT -p icmp -m comment --comment "Allow Ping to work as expected" -j ACCEPT
iptables -A INPUT -p tcp -m multiport --destination-ports 22,25,53,80,443,465,5222,5269,5280,8999:9003 -j ACCEPT
iptables -A INPUT -p udp -m multiport --destination-ports 53 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
Этот набор правил:
- Разрешает существующие соединения
- Открывает loopback-интерфейс
- Разрешает ICMP (ping)
- Открывает нужные TCP и UDP порты
- Блокирует весь остальной входящий трафик
3. Разрешаем трафик только с определенных адресов:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -m comment --comment "Allow loopback connections" -j ACCEPT
iptables -A INPUT -p icmp -m comment --comment "Allow Ping to work as expected" -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -s 198.51.100.0 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
Здесь мы разрешаем трафик с подсети 192.168.1.0/24 и конкретного IP 198.51.100.0.
Помни: эти правила контролируют только входящий трафик. Для полной защиты может потребоваться настройка исходящих соединений.
📩 Завтра: 🎥 Prometheus - Как установить Grafana, настроить Data Source, добавить Dashboards?
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Linux Essentials: Понимание относительных и абсолютных путей к файлам
🧠 - Открытие Rancher: Путешествие от Стартапа до Лидера в Контейнеризации
🧠 - Осваиваем Docker: Искусство Сборки Образов и Управления Сетью
#Linux_Mastery @LinuxSkillshell
ip6tables [-t table] -N chain
- Просмотр правил:
shell
ip6tables -L
2. Особенности ip6tables:
- Использует расширенные модули сопоставления пакетов
- Пример правила:
shell
ip6tables -A INPUT -p tcp --syn --dport 80 -s fe80::/64 -m connlimit --connlimit-above 16 --connlimit-mask 64 -j REJECT
3. Обязательные правила для динамических IPv6-адресов:
ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT
4. Базовый набор правил для веб-сервера (IPv6):
*filter
# Разрешаем весь loopback-трафик
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s ::1/128 -j REJECT
# Разрешаем ICMP
-A INPUT -p icmpv6 -j ACCEPT
# Разрешаем HTTP и HTTPS
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
# Разрешаем входящий трафик для установленных соединений
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Логируем отклоненные входящие пакеты
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "ip6tables_INPUT_denied: " --log-level 7
# Отклоняем весь остальной входящий трафик
-A INPUT -j REJECT
# Логируем и отклоняем весь пересылаемый трафик
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "ip6tables_FORWARD_denied: " --log-level 7
-A FORWARD -j REJECT
COMMIT
Совет: Если полностью отключить IPv6, это может замедлить процесс обновления APT. Чтобы исправить это, раскомментируйте строку precedence ::ffff:0:0/96 100 в /etc/gai.conf.
Помни, эти правила - только пример. Настраивай их под свои нужды!
📩 Завтра: Мастер-класс по iptables: блокируем IP, создаем файрвол и управляем трафиком!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Мастерство Управления Правами в Linux: От Новичка до Профи
🧠 - Максимизируйте безопасность с минимальными разрешениями в Linux
🧠 - От Slackware до Pacman: Путешествие Систем Управления Пакетами в Linux
#Linux_Mastery @LinuxSkillip6tables [-t table] -N chain- Просмотр правил:
ip6tables -L2. Особенности ip6tables: - Использует расширенные модули сопоставления пакетов - Пример правила:
ip6tables -A INPUT -p tcp --syn --dport 80 -s fe80::/64 -m connlimit --connlimit-above 16 --connlimit-mask 64 -j REJECT
3. Обязательные правила для динамических IPv6-адресов:
ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT
4. Базовый набор правил для веб-сервера (IPv6):
*filter # Разрешаем весь loopback-трафик -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -s ::1/128 -j REJECT # Разрешаем ICMP -A INPUT -p icmpv6 -j ACCEPT # Разрешаем HTTP и HTTPS -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT # Разрешаем входящий трафик для установленных соединений -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Логируем отклоненные входящие пакеты -A INPUT -m limit --limit 5/min -j LOG --log-prefix "ip6tables_INPUT_denied: " --log-level 7 # Отклоняем весь остальной входящий трафик -A INPUT -j REJECT # Логируем и отклоняем весь пересылаемый трафик -A FORWARD -m limit --limit 5/min -j LOG --log-prefix "ip6tables_FORWARD_denied: " --log-level 7 -A FORWARD -j REJECT COMMITСовет: Если полностью отключить IPv6, это может замедлить процесс обновления APT. Чтобы исправить это, раскомментируйте строку
precedence ::ffff:0:0/96 100 в /etc/gai.conf.
Помни, эти правила - только пример. Настраивай их под свои нужды!
📩 Завтра: Мастер-класс по iptables: блокируем IP, создаем файрвол и управляем трафиком!
Включи 🔔 чтобы не пропустить!
____________________
Дополнительный материал:
🧠 - Мастерство Управления Правами в Linux: От Новичка до Профи
🧠 - Максимизируйте безопасность с минимальными разрешениями в Linux
🧠 - От Slackware до Pacman: Путешествие Систем Управления Пакетами в Linux
#Linux_Mastery @LinuxSkillmkfs.btrfs с помощью примеров кода. Готов? Поехали!
Основная информация:
1. Создание файловой системы с меткой:
sudo mkfs.btrfs -L MyData /dev/sdX
- Эта команда создаст файловую систему с меткой "MyData". Метки помогают быстро идентифицировать устройства.
2. Настройка RAID1 для метаданных:
sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdX /dev/sdY
- Используй RAID1 для зеркалирования метаданных и данных, чтобы повысить надежность.
3. Оптимизация для небольших устройств:
sudo mkfs.btrfs -M /dev/sdX
- Включение смешанных блоков помогает более эффективно использовать пространство на небольших устройствах.
4. Создание подтомов для организации данных:
sudo btrfs subvolume create /mnt/my_btrfs_subvolume
- Подтомы упрощают управление данными и резервное копирование.
Эти команды помогут тебе лучше управлять файловыми системами Btrfs.
📩 Завтра: 🎥 Prometheus - Как установить Node Exporter на Linux сервер?
Включи 🔔 чтобы не пропустить!
________________
Дополнительный материал:
🧠 - Осваиваем RAID Массивы в Linux: Путь к Надежности и Производительности
🧠 - История OpenSUSE: От Зеленого Ящерика к Глобальному Сообществу
🧠 - Разблокируем секреты Linux: Специальные разрешения файлов
#Linux_Mastery @LinuxSkillmkfs.btrfs, которые помогут тебе эффективно управлять файловыми системами Btrfs. Готов? Поехали!
Основные команды и опции:
1. Создание файловой системы Btrfs:
sudo mkfs.btrfs /dev/sda1
- Форматирует указанное устройство с файловой системой Btrfs.
2. Добавление метки к файловой системе:
sudo mkfs.btrfs -L my_btrfs /dev/sda1
- -L: Устанавливает метку для файловой системы.
Расширенные команды и опции:
3. Создание RAID массива:
sudo mkfs.btrfs -m raid1 -d raid1 /dev/sda1 /dev/sdb1
- -m raid1: Устанавливает профиль метаданных на RAID 1.
- -d raid1: Устанавливает профиль данных на RAID 1.
4. Указание размера узла:
sudo mkfs.btrfs -n 16384 /dev/sda1
- -n 16384: Устанавливает размер узла на 16 KB.
5. Установка размера листа:
sudo mkfs.btrfs -l 16384 /dev/sda1
- -l 16384: Устанавливает размер листа на 16 KB.
6. Использование смешанных блоков:
sudo mkfs.btrfs -M /dev/sda1
- -M: Включает смешанные блоки.
7. Создание подтомов:
sudo btrfs subvolume create /mnt/my_btrfs_subvolume
- Создает подтом на указанной точке монтирования.
Эти команды и опции помогут тебе использовать все преимущества Btrfs в твоей работе. Попробуй их в действии и делись своими успехами!
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
