BashMaster
8.73K subscribers
928 photos
28 videos
9 files
945 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Как найти и зафиксить медленные команды в скриптах

✔️Скрипт на Bash тормозит, а понять где — непонятно? Вот простой способ профилировать выполнение команд и найти узкие места.

▶️Добавь в начало скрипта вот это:
#!/bin/bash
export PS4='+ $(date "+%s.%N")\011 '
exec 3>&2 2>trace.log
set -x

▶️А в конец скрипта — отключение трассировки:
set +x
exec 2>&3 3>&-


➡️ Что это даёт:
💠set -x включает пошаговую трассировку всех команд
💠PS4 добавляет к каждой команде timestamp с наносекундами
💠Все логи с таймингами пишутся в trace.log

▶️Результат — лог, в котором можно точно увидеть, какая команда выполнялась слишком долго.

▶️Подходит для Linux и Bash 4+, работает без дополнительных утилит. Отлично помогает при отладке сложных скриптов и CI/CD шагов.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥54
Forwarded from Admin Books
Bash для пентестеров.pdf
10.5 MB
📖 Сценарий Bash Shell для пентестеров

Год:
2024
Авторы: Стив Кэмпбелл

Сценарии Bash shell - это фундаментальный навык в наборе инструментов pentester, позволяющий автоматизировать сложные оценки безопасности, анализ уязвимостей и задачи эксплуатации. Эта книга представляет собой исчерпывающее руководство по освоению сценариев Bash специально для пентестирования, охватывающее все: от основных концепций сценариев до передовых методов уклонения от обнаружения и интеграции с современными технологиями, такими как искусственный интеллект (ИИ).

Книга состоит из трех частей, в которых читатели проходят от основополагающих концепций через практические приложения для пентестирования до продвинутых тем. Вы узнаете, как использовать Bash для разведки, тестирования веб-приложений, оценки сетевой инфраструктуры, эскалации привилегий и поддержания настойчивости. В книге особое внимание уделяется практическому обучению с практическими примерами и реальными сценариями, с которыми пентестеры сталкиваются в своей повседневной работе.

#bash

🤩Admin Books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ Практические приёмы для эффективной работы с bash

✔️В этой небольшой статье собрана подборка практических приёмов для эффективной работы с bash, которые помогут упростить интерактивное взаимодействие, а также повысить надежность и читаемость скриптов.

➡️ Содержание:
💠History expansion
💠Быстрый способ чтения файла
💠Pipefail: валидация данных в конвейерах
💠Параллельное выполнение функций
💠Эмуляция наследования
💠Базовая операция бэкапа
💠Бэкап для тестового окружения
💠Бэкап для продакшена

🖼️ Прочитать статью на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5
Forwarded from Admin Books
Bash для профи.pdf
1.7 MB
📖 Bash для профи

Год:
2025

Это незаменимая вещь для тех, кто хочет уверенно чувствовать себя в терминале и автоматизировать повседневные задачи на уровне профи. Здесь не будет скучной теории — только практические приёмы, мощные фишки и рабочие скрипты, которые реально экономят время. Автор показывает, как писать чистые и надёжные bash-скрипты, разбирать ошибки, комбинировать команды, использовать циклы, условия и регулярки. Всё с примерами из реальной жизни системного администратора и DevOps-инженера. Отличное чтиво, если хочется прокачать скилл и стать мастером командной строки.

#bash

🤩Admin Books
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103
⚙️ Moulti

✔️Инструмент для изменения способа отображения вывода скриптов оболочки (bash, zsh и др.) в терминале.

➡️ Некоторые возможности:
💠назначение множества строк, генерируемых скриптами, «шагам» — визуальным сворачиваемым блокам с собственным заголовком и цветом;
💠взаимодействие с пользователем через вопросы;
💠текстовый поиск;
💠возможность увеличения размера одного шага журнала, подобная функции масштабирования tmux;
💠полоса прогресса;
💠программная прокрутка;
💠помощник askpass под названием moulti-askpass;
💠поддержка плейбуков Ansible, man-страниц и унифицированного diff.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4
⚙️ Шпаргалка по командам Linux

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1712🔥7
Forwarded from localhost
#собеседование #HR

Анекдот дня. Чел написал в резюме рецепт пельменей, оптимизировал его под алгоритмические фильтры и прошел собес на фронденд девелопера. Реакция HR'a, когда на собесе он глянул резюме, бесценна 😁

😎 localhost › IT-юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥125
⚙️ ShellChatGPT

✔️Оболочка для ChatGPT, DALL-E, Whisper и TTS от OpenAI. Проект интегрируется с LocalAI, Ollama, Gemini, Mistral, Groq и другими сервисами.

➡️ Некоторые возможности ShellChatGPT:
💠завершение текста и чата;
💠модели зрения, рассуждения и аудио;
💠режим чата с входом и выходом голоса;
💠интерфейс текстового редактора;
💠поддержка рендеринга Markdown;
💠управление сессиями;
💠менеджер запросов на инструкции;
💠интеграция с различными поставщиками услуг;
💠завершение командной строки;
💠диалоговые окна выбора файлов;
💠персонализация цветовой схемы;
💠поддержка ввода stdin и текстовых файлов;
💠совместимость с Linux, FreeBSD, MacOS и Termux.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93👍3😐1
⚙️ BASH Shell: Как запустить последовательно несколько команд или все сразу

✔️Если вам нужно запустить несколько команд, то между ними ставится символ ";" называемый метасимвол (metacharacter). Синтаксис следующий: command1;command2;command3

▶️Команды, разделенные знаком ";" выполняются последовательно. Shell ждет следующей команды, и возвращение в приглашение командной строки происходит после исполнения последней команды: $ clear;date

➡️ Одновременное выполнение нескольких команд
▶️Для запуска нескольких команд за один раз, поставив амперсанд "&" в конце из команды. Для примера рассмотрим начало скрипта резервного копирования:
# /root/ftpbackup.sh &

▶️И ваш терминал свободен для дальнейшего пользования, вам не нужно ждать окончания исполнения скрипта /root/ftpbackup.sh.

➡️ Использование всего вместе
▶️У вас может быть тысячи файлов *.bak. Но вам нужно всего-навсего перечислить нужные категории, и поместить все в /tmp/list:
# for d in "/home/sales /home/dbs /data1"; do find $d -iname “*.bak” >> /tmp/list; done &


🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥3😐1
Forwarded from Admin Books
Командная_строка_Linux_и_автоматизация_рутинных_задач.pdf
14.6 MB
📖 Командная строка Linux и автоматизация рутинных задач

Год:
2020
Авторы: Денис Колисниченко

Рассматриваются основы работы в командной строке Linux, настройка системы с помощью текстовых интерфейсов, а также полезные команды, особенности файловой системы, eCryptfs, systemd, загрузчики GRUB/GRUB2 и ядро 3.0. Описаны интерактивные возможности оболочки zsh, примеры сценариев на bash и tcsh, управление пакетами в популярных дистрибутивах. Для продвинутых пользователей — глава о создании собственного дистрибутива и LiveCD.

#linux

🤩Admin Books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
⚙️ Зарезервированные переменные Bash

✔️В командном интерпретаторе Bash есть зарезервированные переменные, которые имеют специальное назначение. Они начинаются с символа "$" и используются в скриптах для выполнения различных операций.

➡️ Некоторые зарезервированные переменные Bash и их значения:
💠$DIRSTACK — содержимое вершины стека каталогов;
💠$EDITOR — текстовый редактор по умолчанию;
💠$EUID — эффективный UID (если использовалась программа su для выполнения команд от другого пользователя, эта переменная содержит UID этого пользователя);
💠$UID — реальный идентификатор, который устанавливается только при логине;
💠$FUNCNAME — имя текущей функции в скрипте;
💠$GROUPS — массив групп, к которым принадлежит текущий пользователь;
💠$HOME — домашний каталог пользователя;
💠$HOSTNAMEhostname машины;
💠$HOSTTYPE — архитектура машины;
💠$LC_CTYPE — внутренняя переменная, которая определяет кодировку символов;
💠$OLDPWD — прежний рабочий каталог;
💠$OSTYPE — тип ОС;
💠$PATH — путь поиска программ;
💠$PPID — идентификатор родительского процесса;
💠$SECONDS — время работы скрипта (в сек.);
💠$# — общее количество параметров, переданных скрипту;
💠$* — все аргументы, передаваемые скрипту (выводятся в строку);
💠$@ — то же самое, но параметры выводятся в столбик;
💠$!PID последнего запущенного в фоне процесса;
💠$$PID самого скрипта;
💠$? — содержит код завершения последней команды.

➡️ Использование:
▶️Зарезервированные переменные используются для выполнения различных операций, например:
💠Переменная $0 — хранит имя скрипта или оболочки, которая выполняется в данный момент. Используется для получения имени скрипта, чтобы отобразить его в выходных данных или проверить, запущен ли скрипт.
💠Переменная $# — хранит количество аргументов командной строки, переданных скрипту. Используется для проверки количества аргументов перед их обработкой.
💠Переменные $* и $@ — хранят все аргументы командной строки, передаваемые скрипту, в виде одной строки и отдельных строк соответственно. Переменная $* разделяет аргументы первым символом переменной IFS, в то время как переменная $@ разделяет аргументы пробелами.
💠Переменная $! — хранит идентификатор процесса (PID) последнего выполнявшегося фонового процесса. Используется для проверки состояния фонового процесса или для его завершения при необходимости.
💠Переменная $IFS — хранит внутренний разделитель полей, который используется для разделения строки на поля. По умолчанию для переменной IFS заданы пробелы, табуляция и символы новой строки.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥4