LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
Mostrar más📈 Análisis del canal de Telegram LinuxSkill - Сводки с прода и Шпаргалки
El canal LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 740 suscriptores, ocupando la posición 11 158 en la categoría Tecnologías y Aplicaciones y el puesto 59 600 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 740 suscriptores.
Según los últimos datos del 02 septiembre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -53, y en las últimas 24 horas de -3, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 11.96%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 4.94% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 1 285 visualizaciones. En el primer día suele acumular 531 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
- Intereses temáticos: El contenido se centra en temas clave como docker, linux, bash, devops, скрипт.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 03 septiembre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
# 1. Создать директорию и сразу в нее перейти
mkcd() {
mkdir -p "$1" && cd "$1"
}
# 2. Подняться на N уровней вверх. Если аргумент не передан, поднимаемся на 1 (защита от syntax error)
up() {
local d=""
local limit="${1:-1}"
for ((i=1; i<=limit; i++)); do d+="../"; done
cd "$d"
}
# 3. Быстрый поиск файла по имени в текущей директории
ff() {
find . -type f -iname "*$1*"
}
# 4. Быстрый поиск директории по имени
fd() {
find . -type d -iname "*$1*"
}
# 5. Узнать размер директории. Если путь не передан, считаем текущую (.)
dirsize() {
du -sh "${1:-.}"
}
Работа с процессами и историей
# 6. Найти процесс, отсекая из вывода сам grep
psg() {
ps aux | grep -i "$1" | grep -v grep
}
# 7. Посмотреть N последних введенных команд (по умолчанию 10)
h() {
history | tail -n "${1:-10}"
}
# 8. Быстрый поиск по истории команд
hg() {
history | grep "$1"
}
Сеть и порты
# 9. Поднять HTTP-сервер в текущей папке (по умолчанию порт 8000)
serve() {
python3 -m http.server "${1:-8000}"
}
# 10. Узнать свой внешний IP-адрес
myip() {
curl -s ifconfig.me
}
# 11. Узнать IP-адрес нужного домена
ipinfo() {
dig +short "$1"
}
# 12. Показать все открытые слушающие порты
ports() {
ss -tuln
}
Система и безопасность
# 13. Полная очистка терминала вместе с буфером прокрутки
cls() {
clear && printf '\e[3J'
}
# 14. Универсальная распаковка архива с проверкой существования файла
extract() {
if [ -f "$1" ]; then
case "$1" in
*.tar.bz2|*.tbz2) tar xjf "$1" ;;
*.tar.gz|*.tgz) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xf "$1" ;;
*.zip) unzip "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "Неизвестный архив" ;;
esac
else
echo "Файл '$1' не найден"
fi
}
# 15. Безопасный rm: защита от пустого вызова и регистронезависимое подтверждение (Y/y)
rm() {
if [ -z "$1" ]; then
command rm
return
fi
ls -FCsd -- "$@"
read -p 'Удалить безвозвратно? [y/N] ' ans
if [[ "$ans" =~ ^[Yy]$ ]]; then
command rm -rf -- "$@"
fi
}
Все конструкции используют конструкцию ${1:-значение}, которая спасает bash от падения при пустых переменных. Добавь нужные блоки в свой файл конфигурации и выполни команду source ~/.bashrc для применения изменений.
❗️❗️❗️ Нравится формат? Ставь 👍
👉 Рубрика: #шпаргалка@LinuxSkill
#Linux #Bash #CLI #DevOps #Bashrcsystemctl enable nftables, чтобы защита пережила перезагрузку.
❗️❗️❗️ Нравится формат? Ставь 👍
👉 Рубрика: #шпаргалка@LinuxSkill
#Linux #Security #nftables #Firewall #DevOpsОбычный SSH-туннель или прокси падает при малейшем сбое сети, оставляя тебя без связи. Утилита autossh решает эту проблему: она оборачивает SSH-соединение, мониторит его состояние и автоматически перезапускает при обрыве. Ниже подробная шпаргалка, как поднять вечные туннели для любых задач. 1. Поднимаем постоянный локальный SSH-туннель (Local port forward) Пробрасываем удаленный порт 80 на локальный 8080 с портом мониторинга 20000❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill #SSH #Autossh #Linux #DevOps #SysAdminautossh -M 20000 -N -L 8080:localhost:80 user@remote2. Туннель без отдельного порта мониторинга Полезно, если порты мониторинга закрыты (полагается на ServerAliveInterval)autossh -M 0 -N -L 8080:localhost:80 user@remote3. Поднимаем вечный обратный туннель (Reverse port forward) Пробрасываем наш локальный порт 80 на удаленный порт 8080autossh -M 20000 -N -R 8080:localhost:80 user@remote4. Запуск в фоновом режиме Ключ -f уводит процесс в фон сразу после аутентификацииautossh -f -M 20000 -N -L 8080:localhost:80 user@remote5. Создаем неразрывный SOCKS-проксиautossh -M 20000 -N -D 8080 user@remote6. Управление через переменные окружения Включаем отладку и задаем задержку перед первой проверкой (по умолчанию 30 сек)AUTOSSH_DEBUG=1 AUTOSSH_GATETIME=10 autossh -M 20000 -N -D 8080 user@remoteНастрой это один раз, и твои пробросы портов больше никогда не умрут от смены IP или перезагрузки роутера. Проверь свои туннели прямо сейчас.
Скрипт отработал с ошибкой, но не остановился и удалил половину нужных файлов? Или CI/CD пайплайн споткнулся о пустую переменную? Я отжал воду из огромных справочников и оставил ровно 50 самых хардкорных и важных конструкций Bash, которые жизненно необходимы. 1. Безопасность и запуск (Strict Mode)❗️❗️❗️ Нравится формат? Ставь 👍 👉 Рубрика: #шпаргалка@LinuxSkill ⭐️ Зеркало в MAX #Linux #Bash #DevOps #Sysadmin #ShellScripting #CLIЭти настройки — стандарт де-факто для любых production-скриптов. Они отлавливают ошибки на раннем этапе.# Указать интерпретатор (лучшая практика переносимости) #!/usr/bin/env bash # Сделать скрипт исполняемым chmod +x script.sh # "Strict Mode" (выход при ошибке, ошибке переменной или в пайплайне) set -euo pipefail # Выйти немедленно при ошибке set -e # Режим отладки (выводить команды перед выполнением) set -x2. Продвинутая работа с переменнымиЗащита от пустых значений, которые могут сломать автоматизацию. # Присвоить значение (строго без пробелов вокруг =) VAR=value # Безопасное чтение с кавычками (предотвращает word splitting) "$VAR" # Использовать по умолчанию, если переменная не задана (важно для Docker) ${VAR:-default} # Назначить значение по умолчанию, если VAR не задана ${VAR:=default} # Выйти с ошибкой, если переменная не задана (failsafe для деплоя) ${VAR:?error msg} # Сделать переменную доступной только для чтения (константа) readonly VAR # Экспортировать переменную для дочерних процессов export VAR3. Системные переменныеИдентификаторы процессов и аргументы функций. # Имя скрипта $0 # Позиционные параметры (аргументы 1-9) $1..$9 # Количество переданных аргументов $# # Все аргументы безопасно как отдельные слова $@ # Статус выхода последней команды (0 - успех, иное - ошибка) $? # PID текущего процесса shell $$4. Парсинг строк (без вызова awk/sed)Молниеносные встроенные манипуляции с путями и текстом. # Удалить самое короткое совпадение паттерна с начала ${VAR#pattern} # Удалить самое короткое совпадение с конца (удобно для расширений файлов) ${VAR%pattern} # Заменить все вхождения подстроки ${VAR//old/new} # Перевести все символы в нижний регистр ${VAR,,}5. Условия и мощные проверкиИспользуй `[[ ]]` вместо старого `[ ]` — это безопаснее и поддерживает регулярные выражения. # Проверить существование файла и вывести результат if [[ -f "file.txt" ]]; then echo "exists"; fi # Проверка по регулярному выражению =~ # Конструкция case (идеально для стартовых скриптов systemd) case "$1" in start) echo "Starting";; stop) echo "Stopping";; *) echo "Usage: $0 {start|stop}";; esac # Файл существует и является обычным -f file # Файл существует и является директорией -d file # Строка пустая -z string # Строка не пустая -n string # Строковое равенство и неравенство == != # Числовое равенство и неравенство -eq -ne6. Массивы и словариНезаменимо для перебора IP-адресов, списков серверов и портов. # Объявить индексированный массив arr=(a b c) # Получить все элементы массива ${arr[@]} # Узнать количество элементов в массиве ${#arr[@]} # Объявить ассоциативный массив (словарь) declare -A map # Добавить значение по ключу map[key]="value"7. Математика, Ввод/Вывод и СигналыФорматирование вывода для дашбордов и правильная очистка мусора за скриптом. # Арифметика: сложение $((a + b)) # Арифметическое присваивание let "a += 5" # Прочитать строку в массив read -r -a items <<< "a b c" # Форматированный вывод (надежнее чем echo) printf "Name: %s, Age: %d\n" "$name" "$age" # Многострочный ввод (Here document) для генерации конфигов cat <<EOF Lines of text go here. Variables like $HOME are expanded. $ EOF # Завершить скрипт с кодом успеха exit 0 # Завершить скрипт с кодом ошибки exit 1 # Выполнить очистку (например, удалить лок-файл) при любом выходе trap ' rm -f /tmp/mylock' EXITТеперь твой код готов к нагрузкам. Сохраняй шпаргалку, чтобы не плодить костыли, и применяй правильный синтаксис!
