BashMaster
Open in Telegram
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help
Show more8 882
Subscribers
-224 hours
-177 days
+430 days
Posts Archive
8 881
⚡️ RECURA - один из лучших каналов для разработчиков и инженеров.
Канал ведёт практикующий DevOps-инженер, который ежедневно публикует:
— код, повышающий эффективность разработки
— лайфхаки и полезные трюки для Bash・Linux・macOS
— полезные книги и советы по информационной безопасности
— актуальные новости из мира технологий и нейросетей
Подпишись на @recura_tech, чтобы каждый день открывать для себя что-то новое и быть востребованным специалистом.
8 881
⚙️ Как очистить историю bash при выходе из системы
Отключите переменную оболочки
HISTFILE при входе в систему, чтобы история команд не сохранялась при выходе из оболочки.
$ echo "unset HISTFILE" | sudo tee /etc/profile.d/unset_histfile.sh
При необходимости установите для переменной оболочки HISTSIZE значение 0 при входе в систему, чтобы выполненные команды не сохранялись в списке истории.
Внимание, это очень неудобно, так как полностью отключит историю в оболочке входа в систему.
$ echo "HISTSIZE=0" | sudo tee /etc/profile.d/disable_histsize.sh
Создайте /etc/bash.bash_logout файл, который будет выполняться при выходе из шелла.
Используйте его для очистки истории.
Не волнуйтесь, он будет выполнен после отдельного файла очистки оболочки входа ~/.bash_logout.
$ echo "history -c" | sudo tee /etc/bash.bash_logout
Обратите внимание, он не будет записывать пустой список истории в файл истории.
Добавление второй команды для записи списка истории в файл истории не будет работать, так как переменная оболочки HISTFILE не была установлена.
Это также означает, что список истории не будет инициализирован из файла истории при запуске.
Удалите существующий файл истории ~ /.bash_history, чтобы все было в порядке. Но помните о других пользователях. Вы всегда можете сохранить список истории в специальный файл.
Обратите внимание, что это добавит текущий список истории в файл.
$ HISTFILE=session_history.txt history -w
$ cat session_history.txt
cat .bash_history
HISTFILE=session_history.txt history -w
🔨 bash_help8 881
⚙️ Шифрование файла или каталога
✔️Bash скрипт предназначен для создания простого интерфейса для шифрования файла с помощью инструмента шифрования GnuPG (GPG).
✔️Скрипт приветствует пользователя и предлагает ему ввести точное имя файла или папки, которую нужно зашифровать, включая расширение. Затем он использует GPG для шифрования указанного файла и выводит сообщение об успехе.
✔️Кроме того, он удаляет исходный незашифрованный файл для дополнительной безопасности. Обратите внимание, что скрипт должен быть размещен в той же директории.
▶️Команда "gpg -c filename" используется для шифрования файла с помощью GnuPG (GNU Privacy Guard) с симметричным шифрованием
▶️Команда "gpg -d filename.gpg > filename" используется для расшифровки зашифрованного GPG файла и сохранения расшифрованного содержимого в новый файл.
#!/bin/bash
echo "Welcome! I am ready to encrypt a file/folder for you."
echo "Currently, I have a limitation. Please place me in the same folder where the file to be encrypted is located."
echo "Enter the exact file name with the extension."
read file;
gpg -c "$file"
echo "I have successfully encrypted the file..."
# Ask for confirmation before removing the original file
read -p "Do you want to remove the original file? (y/n): " confirm
if [ "$confirm" == "y" ]; then
rm -rf "$file"
echo "Original file removed."
else
echo "Original file was not removed. Exiting without deletion."
fi
🔨 bash_help8 881
Repost from Системный администратор
Сборник Bash скриптов:
Cоздание образа компакт-диска в домашней директории
Копирование файла на ftp
Очистка кэш
Перекодировка всех файлов в директории
Проверки существования файла, каталога, пользователя
Сканирование сети на наличие хостов
Скрипт оповещения по email об остатке дискового пространства менее 10%
Удалить временные файлы из домашнего каталога
8 881
💥 Шоу-прожарка: собеседование на должность DevOps-инженера в прямом эфире
Хочешь узнать, что ждет на реальном собесе в айти?
18 апреля ты сможешь увидеть это вживую
На твоих глаза реальный эйчар и матерый техдир будут заваливать стажера Геннадия во время собеседования.
Пройдет Геннадий собеседование или нет — решать зрителям.
Повторов не будет. Трансляция 18 апреля, ссылка будет на канале. Подписывайся, чтобы не пропустить🔥
erid: LjN8KEs7M
8 881
Repost from Rick Academy — Хакинг и Кибербезопасность
🪞 Современные операционные системы
Видео:
1 — Установка Ubuntu в VirtualBox
2 — Типы ядер. Bash
3 — Файловая система
4 — Процессы
5 — Многопоточность и методы синхронизации
📹 Смотреть на YouTube
Rick Academy 🫥 #обучение
8 881
⚙️ uDork — инструмент для взлома Google
uDork - это сценарий, написанный на языке Bash Scripting, который использует передовые техники поиска Google для получения чувствительной информации в файлах или каталогах, поиска устройств IoT, обнаружения версий веб-приложений и тому подобное.
uDork НЕ совершает атаки на какие-либо серверы, он только использует предопределенные запросы (dorks) и/или официальные списки с сайта exploit-db.com (Google Hacking Database)
🐙 Перейти на Github
🔨 bash_help
8 881
🧠 Вебинар "Как работают программы в Linux?"
На бесплатном практическом уроке от OTUS, вы вместе с опытным экспертом изучите системные вызовы, сигналы и межпроцессное взаимодействие в Linux. Также преподаватель ответит на все вопросы по теме.
👉 Зарегистрируйтесь на вебинар чтобы принять участие и получить подарок https://otus.pw/k3BC/?erid=LjN8K5L1u
🎁 Всем кто зарегистрируется подарим урок «Настройка Nginx для высоких нагрузок и защиты от DoS-атак»
⏰ Занятие пройдёт 16 апреля в 20:00 мск
📌 Вебинар пройдет в рамках курса «Инфраструктура высоконагруженных систем». Доступна рассрочка на обучение!
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
8 881
⚙️ Зарезервированные переменные Bash
$DIRSTACK — Содержимое вершины стека каталогов.
$EDITOR — Текстовый редактор по-умолчанию.
$EUID — Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя.
$UID — Содержит реальный идентификатор, который устанавливается только при логине.
$FUNCNAME — Имя текущей функции в скрипте.
$GROUPS — Массив групп к которым принадлежит текущий пользователь.
$HOME — Домашний каталог пользователя.
$HOSTNAME — hostname машины.
$HOSTTYPE — Архитектура машины.
$LC_CTYPE — Внутренняя переменная, которая определяет кодировку символов.
$OLDPWD — Прежний рабочий каталог.
$OSTYPE — Тип ОС.
$PATH — Путь поиска программ.
$PPID — Идентификатор родительского процесса.
$SECONDS — Время работы скрипта (в сек.)
$# — Общее количество параметров переданных скрипту
$* — Все аргументы переданыне скрипту(выводятся в строку).
$@ — Тоже самое, что и предыдущий, но параметры выводятся в столбик.
$! — PID последнего запущенного в фоне процесса.
$$ — PID самого скрипта.
$? — Содержит код завершения последней команды.
🔨 bash_help8 881
Python-разработчики — одни из самых востребованных IT-специалистов на рынке. По данным HeadHunter, более 8 000 компаний ищут компетентных специалистов разных уровней в сфере Python-разработки. Хотите попасть в этот список?
Зарегистрируйтесь на мини-курс прямо сейчас и получите гайд по профессии. Из него узнаете, где используют Python, почему это идеальный язык для новичка и что думают о Python опытные разработчики.
Подробная программа: https://epic.st/_9-WO?erid=2Vtzqw5crUn
Что особенного в мини-курсе по Python:
— Подходит новичкам — от вас не требуется знаний и опыта в IT
— 4 крутых проекта для портфолио
— Практические задания для проверки знаний
— Живое общение со спикером
— 5 статей для старта карьеры в Python-разработке
— Бессрочный доступ к видео
Спикер — Анастасия Борнева, руководитель направления по исследованию данных в «Сбере». Опыт в программировании — более 9 лет. С 2018 года — эксперт по автоматизации процессов с помощью искусственного интеллекта в «Сбере».
Успейте записаться и получить подарки!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
8 881
⚙️ Bash-скрипт для выполнения дампа всех баз данных MySQL, используемых на сервере
✔️Для запуска скрипта необходимо дать права на исполнение скрипту командой
chmod +x dump_all_databases.sh.
✔️Запустите скрипт, выполнив одну из следующих команд:
./dump_all_databases.sh
sh dump_all_databases.sh
bash dump_all_databases.sh
✔️Дождитесь, когда выполнится процесс. Дампы будут сохранены в формате YYYYMMDD.name_db.sql.
#!/usr/bin/env bash
databases=`mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump --databases $db > `date +%Y%m%d`.$db.sql
# gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
🔨 bash_help8 881
Вместе уютно собираемся по вечерам каждый у себя дома и учимся верстать сайты с нуля. В комплекте приятная музыка, тёмная тема и добрейшее сообщество неопытных верстальщиков, которые вообще-то огого и всем ещё покажут.
Всё это будет на бесплатном марафоне по HTML и СSS «ночной кружок по вёрстке», который пройдёт с 18 по 23 апреля.
За 6 дней вы:
— Изучите основы веб-технологий и попробуете себя в роли фронтенд-разработчика;
— Напишете в тренажёрах свои первые строчки кода и увидите как изменяется страница сайта в реальном времени;
— Поймёте нравится ли вам веб-разработка.
Кстати, а ещё мы разыграем курс по HTML и СSS среди участников марафона.
Вступить в кружок.
8 881
⚙️ Приёмы командной строки
✔️Как обращаться с каталогами с большим количеством файлов
Возможно, вы сталкивались с этой проблемой: вы пытались выполнить
ls в каталоге с очень большим количеством файлов, но команда выдавала ошибку "список аргументов слишком длинный".
Есть несколько вариантов обойти это ограничение:
▶️Использование встроенной командной строки
Встроенный Bash не имеет ограничения ARG_MAX.
▶️Используйте find, когда вам нужны параметры форматирования.
find /data/test_xargs -type f -ls -printf '%name'
▶️Или с помощью форматирования, имитирующего ls:
find /data/test_xargs -type f -printf '%f\n
✔️Предположим, что вы хотите сжать все файлы в данном каталоге из предыдущего примера.
Нужен способ регулировать количество запросов на сжатие, чтобы вы не запускали больше процессов, чем количество имеющихся у вас процессоров.
▶️Попробуем сделать это с помощью find и xargs:
find /data/test_xargs -type f -print0| xargs -0 -P $(($(nproc)-1)) -I % gzip %
✔️Совместимость процессора с набором задач для максимального увеличения времени выполнения
Несмотря на ограничение количества процессоров, некоторые интенсивные задания могут замедлять другие процессы на вашем компьютере при поиске ресурсов. Есть несколько вещей, которые вы можете сделать, чтобы держать производительность сервера под контролем, например, с помощью taskset.
Команда taskset используется для установки или получения привязки к процессору запущенного процесса с учетом его pid или для запуска новой команды с заданным привязкой к процессору.
▶️В общем, мы всегда хотим оставлять один из процессоров "свободным" для задач операционной системы. Обычно ядро довольно хорошо работает, привязывая запущенные процессы к определенному процессору, чтобы избежать переключения контекста, но если вы хотите принудительно установить, на каких процессорах будет выполняться ваш процесс, вы можете использовать taskset.
taskset -c 1,2,3,4,5,6,7 find /data/test_xargs -type f -print0| xargs -0 -P $(($(nproc)-1)) -I % gzip %
🔨 bash_help8 881
Repost from Блог системного администратора
⚡️Совместно с компанией Zyxel разыгрываем 5 сетевых устройств
– Точка доступа Zyxel NWA1123ACv3
– 4g-роутер Zyxel LTE3202-M437
– Гигабитный роутер Zyxel NBG6515
– Портативный роутер Zyxel WAH7601
– Гигабитный коммутатор Zyxel GS-108B
Победители самостоятельно выбирают какой приз им достанется. Отправка по России Почтой за счет отправителя.
Для участия нужно:
1. Быть подписанным на мой канал @poznyaevru
2. Подписаться на канал Zyxel Новости @zyxel_news
3. Нажать на кнопку «Участвовать»
Итоги подведем 22 апреля в 17:00 при помощи бота, который рэндомно выберет победителя.
8 881
⚙️ Прокачай терминал! Полезные трюки, которые сделают тебя гуру консоли
✔️О том, что командная строка — это удобнейший инструмент, знает любой юниксоид, потративший пару часов на изучение базовых команд и синтаксиса bash. Но далеко не каждый понимает, насколько на самом деле может быть эффективна консоль. В этой статье мы разберем множество интересных трюков, которые позволят тебе так прокачать навык обращения с командной строкой, что ты уже не захочешь возвращаться к графическому интерфейсу.
✔️Эта статья не обучит тебя, как пользоваться консолью, как объединять команды в пайпы и перенаправлять ввод-вывод. Она не о том, как писать скрипты или функции. Из нее ты не узнаешь, чем отличается bash от tcsh. Ее задача — показать тебе, как использовать консоль на всю катушку, добавить +50 к скорости ввода команд и +100 к эффективности.
Содержание статьи:
▶️Мигрируем на ZSH
▶️Перемещаемся по каталогам быстро
➡️Fasd
➡️Peco
▶️Используем автодополнение на полную катушку
▶️Работаем с историей команд
▶️Копируем, удаляем, переименовываем
▶️Ищем правильно
▶️Работаем с буфером обмена
▶️Выводы
🖼️ Дочитать статью
🔨 bash_help
8 881
😈 Social Engineering — самый крупный ресурс в Telegram, посвященный Информационной Безопасности, OSINT и Cоциальной Инженерии.
Особое внимание стоит обратить на следующую информацию:
➖ Собственный бот, который проверит Ваш файл 70 антивирусами одновременно.
➖ Наш репозиторий с подборкой материала для изучения компьютерных сетей.
➖ Коллекция инструментов и ресурсов для поиска информации о человеке в 2024 году.
➖ Актуальные методы социальной инженерии и профайлинга.
➖ Бесплатные курсы для изучения ИБ и OSINT.
Вас ждёт только актуальный и качественный материал. @S.E.
8 881
⚙️ Airgeddon
Универсальный bash-скрипт для систем Linux для аудита беспроводных сетей.
🐙 Перейти на Github
🔨 bash_help
8 881
⚙️ Какой процесс использует определённый файл или сетевой порт?
Иногда это необходимо узнать, чтобы можно было безопасно перезапустить или завершить процесс.
Команда
fuser может помочь в этом, отображая PID (идентификаторы процессов), которые используют указанный файл или сокет.
▶️Вы пытаетесь размонтировать раздел, но система сообщает, что он занят. Чтобы увидеть, какие процессы используют этот раздел, выполните:
$ fuser -vm /монтированный/раздел▶️Чтобы узнать, какой процесс слушает определенный TCP порт (например, 80), используйте:
$ fuser -vn tcp 80
▶️Для проверки, какой процесс использует определённый файл, выполните:
$ fuser /путь/к/файлу
▶️Если вы хотите, чтобы fuser также вывел имена команд, которые используют файл, используйте ключ -v:
$ fuser -v /путь/к/файлу
▶️После определения PID, вы можете использовать команду ps для получения более подробной информации о процессе или kill для его завершения.
$ ps -p 12345 -o comm=
🔨 bash_help8 881
❓Как создавать и настраивать различные типы сервисов в Kubernetes? Эта тема актуальна, так как играет ключевую роль в развертывании масштабируемых и надежных приложений в контейнерах.
👨🎓Освойте ее на бесплатном практическом уроке от OTUS. На вебинаре вы узнаете, как создавать и настраивать различные типы сервисов в Kubernetes:
✔️ClusterIP для внутренних связей;
✔️ExternalService для внешнего доступа;
✔️NodePort для открытия порта на уровне узла;
✔️LoadBalancer для балансировки нагрузки.
📆Занятие пройдёт 11 апреля в 20:00 (мск) в рамках набора на онлайн-курс «Инфраструктурная платформа на основе Kubernetes».
💥Спикер — преподаватель курса и действующий Senior DevOps Engineer. Также на вебинаре вы сможете задать эксперту вопросы о самом курсе и перспективах выпускников.
👉Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок https://bit.ly/3xnFwdT?erid=LjN8KXEqT
🔥Для всех, кто пройдет вступительный тест и запишется на бесплатный вебинар этого курса, будет доступна спец.цена на курс — обсудите свое обучение с менеджерами OTUS!
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
8 881
Repost from Видеоуроки IT
#bash
Bash
Видеоуроки:
1 — Введение
2 — Базовые понятия и логические конструкции
3 — Циклы
4 — Конструкция case
5 — Функции
6 — Поиск программы в PATH
7 — Проверка ввода: только буквы и цифры
8 — Нормализация дат
9 — Удобное представление больших чисел
...
25 — Кредитный калькулятор
📹 Плейлист YouTube
Канал: ПРОтехнологии
