es
Feedback
BashMaster

BashMaster

Ir al canal en Telegram

Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help

Mostrar más
8 889
Suscriptores
Sin datos24 horas
-157 días
+1630 días
Archivo de publicaciones
⚙️ Сканер tcp-портов на bash ✔️Когда вы работаете с серверами, периодически возникает необходимость посмотреть, какие порты о
⚙️ Сканер tcp-портов на bash ✔️Когда вы работаете с серверами, периодически возникает необходимость посмотреть, какие порты открыты. Одно из лучших средств для этого — nmap, но он не всегда есть под рукой. Зато обычно под рукой есть командная оболочка bash. И ей как раз можно воспользоваться, чтобы написать собственный сканер портов. Не такой быстрый, конечно, но вполне пригодный для использования. ▶️В основе этого скрипта возможность bash отправлять на указанный хост и порт данные. Собственно, сам скрипт portscan.sh:
#!/bin/bash

if [ "$1" == "" ]
then
    echo
    echo This script scans TCP opened ports on IP or hostname
    echo Usage : portscan.sh \ \[start-port\] \[end-port\]
    echo start-port equals to 1 by default
    echo end-port equals 1024 by default
    echo
    exit
fi

START_PORT=$2;[ -z "$START_PORT" ] && START_PORT=1
END_PORT=$3;[ -z "$END_PORT" ] && END_PORT=1024
echo Scanning $1 \(ports $START_PORT to $END_PORT\)

PORT_PROTOCOL="tcp"

scan_port(){
    PORT_NUMBER=$1
    PORT_SCAN_RESULT=`2>&1 echo "" > /dev/$PORT_PROTOCOL/$TARGET_NAME_OR_IP/$PORT_NUMBER | grep connect`
    [ "$PORT_SCAN_RESULT" == "" ] && echo $PORT_NUMBER\/$PORT_PROTOCOL' 'open'  '`grep $PORT_NUMBER/$PROTOCOL /etc/services | head -n1 | awk '{print $1}'`
}

TARGET_NAME_OR_IP=$1
echo 'PORT              STATE   SERVICE'

for PORT_NUMBER in `seq $START_PORT $END_PORT`
do
    scan_port $PORT_NUMBER
done
▶️В качестве параметров скрипт может принимать от одного до трех параметров. Первый — имя или IP-адрес хоста, второй — начальный порт интервала сканирования, третий — конечный порт интервала сканирования. Если начальный и/или конечный порты не указаны, то выбираются 1 и 1024. ➡️ И результат работы скрипта:
$ ./portscan.sh 192.168.0.9
Scanning 192.168.0.9 (ports 1 to 1024)
PORT    STATE   SERVICE
21/tcp  open    ftp
25/tcp  open    smtp
53/tcp  open    domain
80/tcp  open    http
22/tcp  open    ssh
110/tcp open    pop3
111/tcp open    sunrpc
139/tcp open    netbios-ssn
445/tcp open    microsoft-ds
🖼️ Ссылка на источник 🔨 bash_help

До сих пор не знаешь как управлять командной строкой? 📱 BashTex - обучающий канал по Linux и Bash с использованием самых луч
До сих пор не знаешь как управлять командной строкой? 📱 BashTex - обучающий канал по Linux и Bash с использованием самых лучших и эффективных практик. В канале ты найдешь множество полезной информации: Быстрое создание пакетов файлов для тестирования Настройка безопасного SSH-соединения LDAP: зачем нужен и чем помогает Мониторинг перебора паролей и блокировка учетных записей Неочевидно полезные опции команды ls Углубленное использование find BashTex поможет прокачать твои скиллы! Подписывайся - @bashtex

Как копировать файлы и папки с исключениями: продвинутые трюки с cp Иногда нужно скопировать содержимое папки, но исключить определённые файлы или папки. Классический cp это напрямую не поддерживает, но есть несколько хитростей, которые помогут справиться. #### Пример 1: Копирование всего кроме определённых файлов Если нужно скопировать всё, кроме файлов с расширением .log, воспользуйся этой командой:
find source_dir -type f ! -name '*.log' -exec cp --parents {} destination_dir/ \;
- find source_dir – ищет файлы в указанной папке. - **! -name '*.log'** – исключает файлы с расширением .log. - --parents – сохраняет оригинальную структуру папок. #### Пример 2: Исключение целой папки Чтобы пропустить определённую папку, например exclude_dir, используй:
find source_dir -path 'source_dir/exclude_dir' -prune -o -type f -exec cp --parents {} destination_dir/ \;
#### Пример 3: Использование простого скрипта Вот пример простого скрипта, который копирует файлы и исключает определённые по шаблону:
#!/bin/bash
for file in $(find /путь/к/источнику -type f); do
  if [[ "$file" != *исключение* ]]; then
    cp --parents "$file" /путь/к/назначению
  fi
done
- Заменяешь /путь/к/источнику на папку, откуда копируешь. - Вместо *исключение* указываешь шаблон для исключения. - Указываешь /путь/к/назначению, куда копировать. Запусти этот скрипт, и он разберётся со всеми исключениями. #### Пример 4: Копирование файлов больше определённого размера Чтобы выбрать только файлы больше 100 МБ:
find source_dir -type f -size +100M -exec cp --parents {} destination_dir/ \;
На завтра у меня для тебя кое-что интересное: будем разбираться, как настроить KVM и QEMU для виртуализации. Но пока расскажи, что бы ты хотел автоматизировать или оптимизировать в своей работе? Может, я смогу помочь тебе с советом. ____________________ Дополнительный материал: 🧠 - Не трать время на логи! Вот как найти все медленные запросы за 1 минуту 🧠 - Как ускорить MySQL? Простые советы, чтобы твой сервер летал, как на стероидах 🧠 - Поднимем отказоустойчивое хранилище в Proxmox VE с Ceph #Linux_Commands @LinuxSkill

⚙️ Light Articles Technical Library — библиотека статей и заметок для разработчиков ✔️LATL — это сайт, на котором можно найти
⚙️ Light Articles Technical Library — библиотека статей и заметок для разработчиков ✔️LATL — это сайт, на котором можно найти информацию о программировании на Bash, в том числе примеры программ на этом языке. ➡️ Содержание: ▶️Массивы в bash ▶️Циклы в bash практические примеры ▶️Операции сравнения в Bash ▶️BASH преобразование даты ▶️Условный оператор If/Then в Bash ▶️Удаленное выполнение команд и скриптов ▶️Сборник примеров программ на bash ▶️Некоторые приемы защиты программ на bash ▶️Селектор функций и проверка входных параметров (шаблон) ▶️Маленькие хитрости BASH ▶️Переменные в интерпретаторе bash ▶️BASH: перебор файлов в каталоге ▶️Until в bash ▶️declare и typeset: объявление переменных 🖼️ Перейти на сайт 🔨 bash_help

✅️ GitHub теперь в Telegram! Подписывайтесь: @GitHub
✅️ GitHub теперь в Telegram! Подписывайтесь: @GitHub

⚙️ Bash скрипты: автоматизация рутины с готовыми примерами кода ✔️Bash-скрипты представляют собой мощный инструмент для автом
⚙️ Bash скрипты: автоматизация рутины с готовыми примерами кода ✔️Bash-скрипты представляют собой мощный инструмент для автоматизации задач, особенно в Unix-подобных операционных системах, таких как Linux и macOS. Они помогают автоматизировать рутинные задачи, обеспечивая более быструю и эффективную работу. ➡️ Содержание статьи: ▶️Основы Bash скриптов ▶️Создание и запуск скрипта ▶️Примеры скриптов для автоматизации ▶️Советы по оптимизации Bash скриптов ▶️Удобная организация скриптов ▶️GUI программы для bash скриптов 🖼️ Прочитать статью 🔨 bash_help

есom.teсh Infrastructure meetup — online Расскажем о том, как в еcom.tech пришли к тому, что высокий сезон исчез для инфрастр
есom.teсh Infrastructure meetup — online Расскажем о том, как в еcom.tech пришли к тому, что высокий сезон исчез для инфраструктуры как сущность. Поговорим про управление изменениями в рамках инфраструктуры: какие изменения требуют сложного процесса, а какие можно внедрять проще и быстрее. 🔥 Инфраструктура ecom.teсh: что под капотом мини-рюкзачков Самоката — Дарья Джудис, Enable Team Lead в ecom.tech 🔥 Управляй и властвуй! Управление изменениями как процесс и как инструмент — Антон Егорушков, Директор эксплуатации и ИТ-инфраструктуры в Купере Доклады ориентированы в первую очередь на DevOps, SRE инженеров и тимлидов, однако будем рады всем, кто интересуется вопросами инфраструктуры, независимо от специализации! ➖➖➖ 🗓 17 декабря, 17:00–18:30 мск, Вторник 🌐 ОНЛАЙН 👉 Регистрация https://click.wowblogger.ru/0GZAQV01zONg3vE?erid=2VSb5z5LXkt Erid: 2VSb5z5LXkt

⚙️ Kernel Hardening Checker — инструмент для проверки параметров усиления безопасности ядра Linux ✔️Инструмент для проверки к
⚙️ Kernel Hardening Checker — инструмент для проверки параметров усиления безопасности ядра Linux ✔️Инструмент для проверки конфигурации ядра Linux на предмет включения параметров, повышающих его защищенность. Утилита анализирует такие аспекты, как параметры конфигурации Kconfig, строки командной строки ядра и значения Sysctl. Она помогает выявить, какие функции, обеспечивающие безопасность, включены или отключены в текущей конфигурации ядра. Это полезно для оценки уровня защиты от атак и применения лучших практик в области безопасности ядра Linux. ➡️ Инструмент нацелен на поддержку системных администраторов и разработчиков, чтобы упростить настройку защищенного ядра Linux. 🐙 Перейти на Github 🔨 bash_help

Вебинар Стекирование коммутаторов Eltex 24хх/34хх серии 🗓 19.12.2024 🕒 14:00 по МСК План вебинара: - Особенности реализации
Вебинар Стекирование коммутаторов Eltex 24хх/34хх серии 🗓 19.12.2024 🕒 14:00 по МСК План вебинара: - Особенности реализации стекирования - Какие имеются ограничения - Демонстрация работы 👉Регистрация  👤 Ведущий вебинара:Алексей Листаров — инженер с многолетним опытом работы в крупном операторе связи. Сертифицированный преподаватель Академии Eltex. #eltex #eltexcm #webinar #вебинар #mes @eltexcm Реклама. ООО "ЭЛТЕКС КОММУНИКАЦИИ". ИНН 7714966730.

⚙️ Скрипт для общего мониторинга производительности Linux-системы #!/bin/bash # Colors for readability GREEN='\033[0;32m' YEL
⚙️ Скрипт для общего мониторинга производительности Linux-системы
#!/bin/bash
# Colors for readability
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${GREEN}===== System Monitoring Script =====${NC}"
# 1. CPU Usage
echo -e "${YELLOW}\n>> CPU Usage: ${NC}"
mpstat | awk '/all/ {print "CPU Load: " $3 "% idle"}'
# 2. Memory Usage
echo -e "${YELLOW}\n>> Memory Usage: ${NC}"
free -h | awk '/Mem/ {print "Total Memory: " $2 "\nUsed: " $3 "\nFree: " $4}'
echo -e "Swap:\n"$(free -h | awk '/Swap/ {print "Total: " $2 ", Used: " $3 ", Free: " $4}')
# 3. Disk Usage
echo -e "${YELLOW}\n>> Disk Usage: ${NC}"
df -h | grep '^/dev' | awk '{print $1 ": " $5 " used, " $4 " available"}'
# 4. Network Traffic
echo -e "${YELLOW}\n>> Network Traffic: ${NC}"
ifstat -i eth0 1 1 | awk 'NR==3 {print "RX: " $1 " KB/s, TX: " $2 " KB/s"}'
# 5. Top 5 Memory Consuming Processes
echo -e "${YELLOW}\n>> Top 5 Memory Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 6
# 6. Top 5 CPU Consuming Processes
echo -e "${YELLOW}\n>> Top 5 CPU Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6
# 7. System Logs Monitoring
echo -e "${YELLOW}\n>> Recent Errors in System Logs: ${NC}"
journalctl -p 3 -xb | tail -n 10
echo -e "${GREEN}===== Monitoring Completed =====${NC}"
🔨 bash_help

Это на 100% практический курс по пентесту, где вы попробуете изученные техники взлома. Курс содержит 65 рабочих и 16 экзамена
Это на 100% практический курс по пентесту, где вы попробуете изученные техники взлома. Курс содержит 65 рабочих и 16 экзаменационных тасков в лаборатории Запись до 12 декабря! 🎄 Получите практические навыки как в рабочих задачах, так и в Bug Bounty. Промодоступ 7 дней бесплатно! Программа курса: - эксплуатация всех актуальных типов уязвимостей, активный / пассивный фаззинг - SQL Injection и CMD Injection, Cross Site Scripting, PHP injection, Server Side Template injection - техники повышения привилегий, Client-side атаки (XSS, CSRF) @Codeby_Academy Узнать подробнее о курсе 

⚙️ bash-video ✔️Скрипт для редактирования видео при помощи bash, который помогает с ffmpeg. ➡️ Скрипт облегчает такие операци
⚙️ bash-video ✔️Скрипт для редактирования видео при помощи bash, который помогает с ffmpeg. ➡️ Скрипт облегчает такие операции, как вырезание, соединение, изменение скорости воспроизведения, оптимизация размера видео, обрезка, извлечение аудио, добавление звука, изменение размера, поворот, запись экрана, добавление субтитров, применение видеофильтров и многое другое. 🐙 Перейти на Github 🔨 bash_help

Получайте подарки и зарабатывайте с Яндекс Браузером С наступающим Новым годом! Именно вы обеспечиваете безопасность цифровой
Получайте подарки и зарабатывайте с Яндекс Браузером С наступающим Новым годом! Именно вы обеспечиваете безопасность цифровой инфраструктуры бизнеса, ваши навыки — настоящая суперсила! В 2025 году желаем безупречной работы систем, кода, который компилируется с первого раза, и вдохновляющих проектов. Получайте до 500 ₽ за каждую установку Яндекс Браузера и выигрывайте призы! Каждое 27-е число с декабря по февраль мы разыгрываем по 30 призов. Среди них: Станция Дуо, Станция Мини, светодиодные ленты Яндекс и другие брендированные подарки. Как стать участником розыгрыша: ✔️ Оставьте заявку. ✔️ Зарегистрируйтесь в реферальной программе. ✔️ Рекомендуйте Яндекс Браузер или устанавливайте его на компьютеры. Все подробности на странице, там же опубликуем результаты. Участвуйте в розыгрыше и начните год с позитивных эмоций и подарков!

⚙️ Осторожнее с редактированием bash-скриптов ✔️Предположим, я написал такой bash-скрипт с названием delay.sh. Как думаете, ч
⚙️ Осторожнее с редактированием bash-скриптов ✔️Предположим, я написал такой bash-скрипт с названием delay.sh. Как думаете, что он делает?
#!/bin/bash
sleep 30
#rm -rf --no-preserve-root /
echo "Time's up!
▶️Похоже, он ожидает 30 секунд, а затем выводит сообщение на экран. Здесь никаких фокусов — он делает именно это. Там есть опасная команда в середине, но она закомментирована и не выполняется. ▶️Представьте, что я снова запускаю этот скрипт, но теперь мне не хочется ждать 30 секунд — это слишком долго. Я открываю вторую консоль, меняю sleep 30 на sleep 3, затем сохраняю файл. Как думаете, что будет теперь? Ну, через 30 секунд скрипт удалит все мои файлы. ▶️Так происходит потому, что bash считывает содержимое скрипта фрагментами по мере выполнения, отслеживая смещение в байтах. Когда я удаляю один символ из строки sleep, смещение для начала следующей команды указывает на r в #rm вместо #. С точки зрения интерпретатора, # смещается на предыдущую строку, поэтому он выполняет команду начиная с rm. ▶️Это можно подтвердить, наблюдая за системными вызовами bash в Linux. Вот выдача strace bash delay.sh, с комментариями и в сокращении.
# Открытие скрипта
openat(AT_FDCWD, "delay.sh", O_RDONLY)  = 3

# Парсинг первой строчки (до 80 символов)
read(3, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 80) = 64

# Возврат к началу
lseek(3, 0, SEEK_SET)                   = 0

# Переключение на на файловый дескриптор 255
dup2(3, 255)                            = 255

# Чтение 64-байтового куска файла, чтобы получить команду
read(255, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 64) = 64

# Поместить курсор обратно в конец команды, которую мы собираемся выполнить
# Offset 21 is the `#`
lseek(255, -43, SEEK_CUR)               = 21

# Приостановка выполнения, уход в sleep
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2072

# До возвращения wait4 файл редактируется с `30` на `3`

# Чтение 64-байтового куска файла, чтобы получить следующую команду
# В этом демо я заменил опасную команду на echo
read(255, "echo \"Don't execute me\"\necho \"Ti"..., 64) = 42

# Bash решает выполнить оба echo одновременно без нового чтения
# Очевидно, что-то идёт не так
write(1, "Don't execute me\n", 17)      = 17
write(1, "Time's up!\n", 11)            = 11

# Чтение следующего фрагмента и обнаружение конца файла
read(255, "", 64)                       = 0
➡️ Поэтому будьте осторожны при запуске редактировании bash-скрипта, который выполняется в данный момент. Он может выполнить неверную команду или сделать что-то очень неожиданное. 🖼️ Прочитать статью на Habr'e 🔨 bash_help

⚠️ Проверьте эффективность IT-поддержки за 15 минут Как понять, где теряются ресурсы в IT-процессах? Заполните бесплатный чек
⚠️ Проверьте эффективность IT-поддержки за 15 минут Как понять, где теряются ресурсы в IT-процессах? Заполните бесплатный чек-лист, который за 15 минут поможет: • Выявить слабые места в процессах и оборудовании; • Проверить скорость обработки запросов; • Получить рекомендации по оптимизации. ☑️ Получите чек-лист и узнайте, как сделать IT-поддержку вашей компании прозрачной и эффективной. ⬇️ Получить чек-лист @desnol_itiliumbot

⚙️ Что означает двойной дефис (--) в Bash? ✔️Двойной дефис -- используется в командных интерпретаторах Unix-подобных систем,
⚙️ Что означает двойной дефис (--) в Bash? ✔️Двойной дефис -- используется в командных интерпретаторах Unix-подобных систем, таких как Bash, для обозначения конца списка параметров. Это позволяет отделить параметры от аргументов команды. ➡️ Когда вы используете команду с параметрами, иногда возникает необходимость передать команде аргументы, которые могут выглядеть как параметры. Например, предположим, что у вас есть команда ls, которая принимает параметры вроде -l (для подробного вывода), а также имена файлов. Если имя файла начинается с дефиса, то ls может попытаться обработать его как параметр вместо имени файла. ▶️Для решения такой проблемы можно использовать двойной дефис. Он указывает командному интерпретатору, что все последующие символы следует рассматривать как аргументы, даже если они начинаются с дефисов. Пример:
$ ls -l -- -file.txt
▶️В этом примере -file.txt будет обработан как аргумент, а не как параметр, благодаря использованию --. ➡️ Использование двойного дефиса -- помогает избежать путаницы между параметрами и аргументами команд. Это особенно полезно при работе с файлами, чьи имена начинаются с дефиса, так как предотвращает их неправильное интерпретацию. 🔨 bash_help

⚡️Истовый инженер теперь в Telegram! В канале публикуют полезные статьи для инженеров и программистов со всех направлений. Во
⚡️Истовый инженер теперь в Telegram! В канале публикуют полезные статьи для инженеров и программистов со всех направлений. Вот, что мы лично прочитали и где поставили лайк: — Что изучить про алгоритмы и структуры данных разработчикам на С++ ( читать ) — CodeChecker: анализируем большой проект на С++ быстро, эффективно и бесплатно ( читать ) — 5 способов писать эффективный код на Go: от нейминга переменных до архитектуры ( читать ) — Ужасно подробные ошибки в API: пишем инструмент для работы с ними на Go ( читать ) 📝 и ещё 100+ полезных статей, лекций и кейсов от практиков Подписываемся, чтобы не потерять полезный канал @ultimate_engineer

⚙️ Как проверить загрузку процессора в командной строке Linux ✔️Статья рассказывает о том, как проверять использование процес
⚙️ Как проверить загрузку процессора в командной строке Linux ✔️Статья рассказывает о том, как проверять использование процессора (CPU) в операционной системе Linux. ▶️Для этого существуют несколько командных инструментов: 1. top – классическая утилита для мониторинга процессов и нагрузки на CPU в реальном времени. 2. htop – усовершенствованная версия top с удобным интерфейсом и возможностью управления процессами. 3. mpstat – инструмент для получения подробной статистики использования CPU, включая показатели для отдельных ядер. 4. pidstat – аналог mpstat, позволяющий отслеживать использование CPU конкретными процессами. 5. sar – утилита для сбора и анализа различных системных метрик, включая историю использования CPU. ➡️ Эти инструменты помогают выявить проблемы с нагрузкой на процессор и оптимизировать работу системы. 🖼️ Прочитать статью 🔨 bash_help

AMD vs Intel: какой процессор лучше? Ищите ответ в Железном обзоре   Вы увидите противостояние суперпроцессоров AMD 9004 и Intel Xeon Scalable5,  поймете особенности каждого. И главное — узнаете лидера серверного сегмента в 2024 году.   В выпусках Железного обзора ребята из @Selectel разбирают серверы и их комплектующие до последней микросхемы и обсуждают все характеристики (даже те, о которых вы не знали). В этом команде помогает 15-летний опыт собственной сборки серверов.   А на какой процессор ставите вы? Пишите в комментариях под видео и подписывайтесь на YouTube-канал, чтобы не пропустить новые выпуски Железного обзора.   Смотреть видео   Реклама, АО «Селектел», ИНН: 7810962785

⚙️ SSHClick — SSH Config manager ✔️Менеджер файлов конфигурации SSH, который помогает управлять ими через терминал. Перед исп
⚙️ SSHClick — SSH Config manager ✔️Менеджер файлов конфигурации SSH, который помогает управлять ими через терминал. Перед использованием программы рекомендуется создать резервную копию файлов конфигурации SSH, так как есть риск случайно потерять некоторые настройки. ➡️ SSHClick можно использовать с командами show и list для хостов, не изменяя при этом файл конфигурации SSH. Только команды, которые изменяют конфигурацию, будут редактировать и переписывать/реструктурировать файл SSH Config. В этом случае любые добавленные комментарии или информация, которые не в форме, понятной SSHClick, будут отброшены, а конфигурация будет отформатирована в стиле SSHClick. 🐙 Перейти на Github 🔨 bash_help