ch
Feedback
BashMaster

BashMaster

前往频道在 Telegram

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

显示更多
8 733
订阅者
+124 小时
+27
+21330
帖子存档
Быстрое изучение Bash: 30 легких команд для новичков Список из 30 легких команд, с которыми вы быстро освоите Bash и не будет
Быстрое изучение Bash: 30 легких команд для новичков Список из 30 легких команд, с которыми вы быстро освоите Bash и не будете бояться терминала Linux. Идеально для новичков. Первые команды – учимся ходить Современные файловые системы – это древовидные каталоги с корневой и родительскими директориями. Движение вверх по родительским каталогам приводит к корневому. В некоторых системах встречается несколько корневых каталогов, например, всем известные диски Windows: C:\ , A:\, etc. Но в Unix-подобных системах все по-другому: здесь принят один корневой каталог с именем \. А вот и основные команды Bash для перемещения по файловой системе:
pwd / ls / cd
При работе в файловой системе пользователь находится в каталоге, который называется текущим или рабочим. **Команда pwd выводит рабочий каталог пользователя **С ls вы сможете вывести содержимое каталога (файлы и дочерние директории) **Перейти в другой каталог поможет cd **Используйте команду cd .. для быстрого перемещения в родительскую директорию **Сокращение cd ~ используется для перемещения домой, в /home/$USER Три bash команды для управления **Иногда вам потребуется запускать эти команды одну за другой. Тогда на помощь приходит оператор ; **Точка с запятой означает, что сначала перечисляется содержимое рабочего каталога с помощью ls, а затем pwd выводит местоположение каталога. Еще один полезный инструмент для создания цепочек команд – &&. При использовании && команда справа не будет выполняться, если команда слева не выполнена. Но если использовать ;, вторая команда выполняется даже после ошибки в первой **Команда & похожа на &&, но на самом деле выполняет другую функцию. Часто процессы блокируют ввод в терминал во время работы. Чтобы свернуть подобный процесс в фон, используйте & в конце команды. Тогда процесс выполняется в фоне, не блокируя ввод в окно терминала 🖼️ Дочитать статью 🔨 bash_help

Необычные и малоизвестные трюки с перенаправлениями в bash, которые могут значительно упростить работу /dev/tcp Многие пользо
Необычные и малоизвестные трюки с перенаправлениями в bash, которые могут значительно упростить работу
/dev/tcp
Многие пользователи Linux не подозревают, что bash особым образом обрабатывает перенаправление в файл /dev/tcp/host/port, и если host - это допустимое имя хоста или ip адрес, а port - целое число порта или имя службы, пытается открыть соответствующий TCP-сокет. Например, перенаправим вывод TCP сервера времени на cat и выведем на экран:
$cat < /dev/tcp/time.nist.gov/13
60311 24-01-02 10:43:53 00 0 0 798.9 UTC(NIST) *
Более сложный пример - HTTP запрос. Давайте создадим новый файловый дескриптор, перенаправим на него строку HTTP-запроса, затем прочитаем ответ.
$exec 5<>/dev/tcp/google.de/80
$echo -e "GET / HTTP/1.1\nhost: google.de\n\n" >&5
$cat <&5 | head
HTTP/1.1 301 Moved Permanently
Location: http://www.google.de/
Content-Type: text/html; charset=UTF-8
Date: Thu, 18 Nov 2021 08:27:18 GMT
Expires: Sat, 18 Dec 2021 08:27:18 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 218
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Placeholder - Некоторые команды, например tar, воспринимают символ - как перевод на стандартный вывод, что позволит воспользоваться результатом работы команды без создания промежуточных файлов, например создадим бэкап директории /www/data и скопируем по ssh:
tar zcvf - /www/data | ssh user@remoter "cat > /backup/wwwdata.tar.gz"

Группировка команд Передача стандартного вывода одной команды в стандартный ввод другой команды - мощный инструмент. Но что, если вам нужно передать стандартный вывод нескольких команд? Для того чтобы объединить вывод нескольких команд можно использовать группировку команд, для этого используется синтаксис:{ command1; command2; }, например объединим вывод команд ls, чтобы подсчитать количество файлов в двух директориях:
$mkdir dir{1,2}
$touch dir1/test1.txt
$touch dir2/test2.txt
${ ls dir1; ls dir2; } | wc -l
2
🖼️ Дочитать статью 🔨 bash_help

xdotool - эмулятор действий мыши и клавиатуры Утилита предоставляет широкие возможности по управлению клавиатурой и мышью. По
xdotool - эмулятор действий мыши и клавиатуры Утилита предоставляет широкие возможности по управлению клавиатурой и мышью. Позволяет эмулировать нажатие клавиш и двигать курсор мыши. Некоторые примеры пригодятся при написании bash скриптов или для динамической подвязки горячих клавиш. Также вы можете заранее определить текст, который нужно ввести в определенное поле при определенных условиях. *Xdotool умеет переключать клавиши с индикаторами *lock, однако сами световые индикаторы не изменяют свое состояние. Есть другие утилиты для эмуляции нажатия клавиш xvkbd, xte (менее функциональная) и для работы с буфером обмена - xsel, xclip. Определить keycode и keysym клавиши, а также дополнительную информацию о клавише, можно утилитами xev или xkeycaps. Также можно получить комбинацию клавиш утилитой xbindkeys:
xbindkeys -k
Примеры использования Эмулировать нажатие клавиш по названию:
xdotool key Shift+Left
xdotool key Control+c
xdotool key Alt+Tab
xdotool key Shift+Caps_Lock
xdotool key XF86AudioRaiseVolume
xdotool key XF86AudioLowerVolume
xdotool keyup Mod2+Mod4+m     ## Отпустить клавиши
xdotool key Ctrl+Alt+Shift+m
🖼️ Дочитать статью 🔨 bash_help

Больше не нужно собирать целый стек программ В ИКС весь набор софта для управления сетью и инфрой: межсетевой экран, DHCP-сер
Больше не нужно собирать целый стек программ В ИКС весь набор софта для управления сетью и инфрой: межсетевой экран, DHCP-сервер, DNS, NAT, VPN-сервер, система обнаружения и предотвращения вторжений IPS/IDS, функции контроля приложении, WAF, потоковый антивирус, прокси-сервер, файловый сервер, контент-фильтр, защищенная почта, корпоративная телефония и многое другое. Для тех, кто хочет протестировать новую 11 версию ИКС, - ссылка на бесплатный триал 35 дней. А для тех, кто пока не готов тестировать, но хочет посмотреть, - ссылка на Демо день, где все покажут и на вопросы ответят. Реклама, ООО «А-Реал Консалтинг», ИНН 7606047112. Токен LjN8K7QKp

Поиск по StackOverflow из командной строки На GitHub опубликовали утилиту how2, которая даёт возможность удобно искать на Sta
Поиск по StackOverflow из командной строки На GitHub опубликовали утилиту how2, которая даёт возможность удобно искать на StackOverflow прямо из командной строки. Получается нечто похожее на man, но с глобальным поиском по базе SO и возможностями составлять запросы на обычном (английском) языке. Установить утилиту можно через npm:
npm install -g how2
Если появятся ошибки доступа, то загляните сюда. Или используйте команду:
sudo npm install -g how2
Если у вас нет npm, то установите Node.js:
sudo apt-get install nodejs npm
Если вы не указали обратное, то язык по умолчанию считается Bash. Как это работает? Утилита how2 использует Google и StackOverflow API, потому что собственный поиск SO не так хорош. Зачем это надо? Потому что программисты часто забывают, как сделать некоторые простые вещи. А читать маны слишком долго. 🐙 Перейти на Github 🔨 bash_help

Bash-скрипты для настройки среды DevOps в Ubuntu, CentOS и MacOS DevOps и управление инфраструктурой являются критически важн
Bash-скрипты для настройки среды DevOps в Ubuntu, CentOS и MacOS DevOps и управление инфраструктурой являются критически важными процессами для любой организации, которая использует технологии для управления своей деятельностью. Наличие нужных инструментов и их правильная настройка могут существенно повлиять на эффективность и действенность этих процессов. Этот сценарий предназначен для упрощения настройки среды разработки или инфраструктуры для различных задач, связанных с DevOps и управлением инфраструктурой. Он автоматизирует установку и настройку часто используемых инструментов, таких как Terraform, Ansible, Git, Docker, Kubernetes, Helm и интерфейс командной строки AWS, что упрощает начало работы с широким спектром задач, связанных с выделением и управлением серверами, сетями. и хранилище, а также развертывание и масштабирование приложений. Независимо от того, настраиваете ли вы новую машину, работаете в команде или настраиваете конвейер CI/CD, этот сценарий является мощным инструментом для автоматизации задач DevOps и управления инфраструктурой. 🖼️ Ссылка на скрипт 🔨 bash_help

Айтишники уже всех задолбали😡 Везде выёживаются своими зарплатами. Хотя такие же деньги может зарабатывать любой, кто хоть р
Айтишники уже всех задолбали😡 Везде выёживаются своими зарплатами. Хотя такие же деньги может зарабатывать любой, кто хоть раз держал в руках отвёртку. Не веришь? Смотри, что Дима Иванов пишет. Он просто покупает и перепродаёт компы, делая на этом большие деньги. А ещё учит этому подписчиков, спокойно зарабатывать от 100к в месяц! Он даёт понятные пошаговые инструкции, которым просто нужно следовать. Будто готовишь суп - написано нарезать лук - режешь, написано варить 20 минут - варишь. Результат зависит лишь от того, насколько точно ты выполняешь эти действия 🤷 👉 Можно уйти с найма 👉 Можно подрабатывать по вечерам 👉 Можно начать с полного нуля Да тут даже бабуля справится. Подписывайся на Димана и делай деньги. 👇 https://t.me/+e91np8RY88I5NTg6

Автоматизация резервного копирования с помощью bash-скрипта Резервное копирование — это то, что мы все делаем регулярно, так
Автоматизация резервного копирования с помощью bash-скрипта Резервное копирование — это то, что мы все делаем регулярно, так почему бы не автоматизировать это? Взгляните на следующий скрипт backup.sh :
#!/bin/bash

backup_dirs=("/etc" "/home" "/boot")
dest_dir="/backup"
dest_server="server1"
backup_date=$(date +%b-%d-%y)

echo "Starting backup of: ${backup_dirs[@]}"

for i in "${backup_dirs[@]}"; do
sudo tar -Pczf /tmp/$i-$backup_date.tar.gz $i
if [ $? -eq 0 ]; then
echo "$i backup succeeded."
else
echo "$i backup failed."
fi
scp /tmp/$i-$backup_date.tar.gz $dest_server:$dest_dir
if [ $? -eq 0 ]; then
echo "$i transfer succeeded."
else
echo "$i transfer failed."
fi
done

sudo rm /tmp/*.gzecho "Backup is done."
Итак, вы сначала создали массив с именем backup_dirs , в котором хранятся все имена каталогов, резервную копию которых мы хотим создать. Затем вы создали три другие переменные: dest_dir: для указания каталога назначения резервной копии. dest_server: для указания целевого сервера резервного копирования. backup_time: , чтобы указать дату резервного копирования. Затем для всех каталогов в массиве backup_dirs создайте сжатый tar-архив gzip в /tmp, затем используйте команду scp для отправки/ скопируйте резервную копию на целевой сервер. Наконец, удалите все архивы gzip из /tmp. Вот пример выполнения сценария backup.sh :
kabary@handbook:~$ ./backup.sh
Starting backup of: /etc /home /boot
/etc backup succeeded.
etc-Aug-30-20.tar.gz 100% 1288KB 460.1KB/s   00:02
/etc transfer succeeded.
/home backup succeeded.
home-Aug-30-20.tar.gz 100% 2543KB 547.0KB/s   00:04
/home transfer succeeded.
/boot backup succeeded.
boot-Aug-30-20.tar.gz 100%  105MB 520.2KB/s   03:26
/boot transfer succeeded.
Backup is done.
🔨 bash_help

JShielder Bash-скрипт, разработанный для помощи системным администраторам и разработчикам защитить Linux-серверы, на которых
JShielder Bash-скрипт, разработанный для помощи системным администраторам и разработчикам защитить Linux-серверы, на которых они будут развертывать любые веб-приложения или службы. Инструмент автоматизирует процесс установки всех необходимых пакетов для размещения веб-приложения и повышения уровня защиты сервера Linux при минимальном взаимодействии со стороны пользователя. 🐙 Перейти на Github 🔨 bash_help

🧐 Красивая архитектура приложения — это настоящая ценность. Добавьте её в свою работу и жизнь с курсом от Слёрм "Архитектура
🧐 Красивая архитектура приложения — это настоящая ценность. Добавьте её в свою работу и жизнь с курсом от Слёрм "Архитектура приложений". Старт 22 января! Курс проходит в формате потока: эксперты отвечают на вопросы студентов, проводят встречи с подробным разбором сложных заданий. А ещё вы: ⚙️ Получите код-ревью практических заданий с разбором ошибок от опытных ревьюеров;  ⚙️ Будете общаться в закрытом чате со студентами, спикерами и ревьюерами;  ⚙️ Оформите итоговый проект и включите его в свое портфолио; Проходите бесплатный демо-курс и получайте скидку на обучение! Узнать о программе и записаться вы можете по ссылке.  Реклама. ООО "СЛЁРМ". ИНН 3652901451.

Как безопасно программировать в bash В bash есть массивы и безопасный режим. При правильном использовании bash почти соответс
Как безопасно программировать в bash В bash есть массивы и безопасный режим. При правильном использовании bash почти соответствует практикам безопасного кодирования. В fish сложнее допустить ошибку, но там нет безопасного режима. Поэтому хорошей идеей станет прототипирование в fish, а затем трансляция с fish на bash, если вы умеете правильно это делать. Данное руководство сопровождает ShellHarden, но автор также рекомендует ShellCheck, чтобы правила ShellHarden не расходились с ShellCheck. Bash — не тот язык, где самый правильный способ решить проблему одновременно является самым простым. Если принимать экзамен по безопасному программированию в bash, то первое правило BashPitfalls звучало бы так: всегда используй кавычки. Маниакально ставить кавычки! Незакавыченная переменная должна расцениваться как взведённая бомба: она взрывается при контакте с пробелом. Да, «взрывается» в смысле разделения строки на массив. В частности, расширения переменных вроде $var и подстановки команд вроде $(cmd) подвергаются расщеплению слов, когда внутренняя строка расширяется в массив из-за расщепления в специальной переменной $IFS с пробелом по умолчанию. Это обычно незаметно, потому что чаще всего результатом становится массив из 1 элемента, неотличимый от ожидаемой строки. 🖼️ Дочитать статью 🔨 bash_help

Selfharm Linux Контейнер Docker и форк Suicide Linux — любая неверная команда Bash заставит интерпретатор удалить случайный ф
Selfharm Linux Контейнер Docker и форк Suicide Linux — любая неверная команда Bash заставит интерпретатор удалить случайный файл с жесткого диска пользователя. Это игра, чтобы увидеть, как долго пользователь может продолжать использовать операционную систему до ее сбоя. Игру можно запустить в безопасном или опасном режиме 🐙 Перейти на Github 🔨 bash_help

Если вы веб-разработчик, нужно следить за всем, что происходит в отрасли, чтобы не отставать. Это не всегда легко, но есть сп
Если вы веб-разработчик, нужно следить за всем, что происходит в отрасли, чтобы не отставать. Это не всегда легко, но есть способ — мы поделимся прогнозами и трендами 2024 года, чтобы вы примерно понимали, в какую сторону смотреть. 17 января в 13.00 в прямом эфире поговорим о том, какие технологии будут востребованы и что необходимо знать, чтобы стать фронтенд-разработчиком в 2024 году. Мы расскажем вам: — Общие тренды разработки и тенденции во фронтенде в 2024; — Насколько нейросети улучшились за год? Теперь-то заменят? — На какие технологии и инструменты смотреть, чтобы получать лучшие предложения о работе. Подробности по ссылке, участие бесплатное. Реклама. ООО "ИНТЕРАКТИВНЫЕ ОБУЧАЮЩИЕ ТЕХНОЛОГИИ". ИНН 7807382880.

AnonYou — утилита для безопасности Бесплатная утилита с открытым исходным кодом, написанная на bash, которая позволяет быстро
AnonYou — утилита для безопасности Бесплатная утилита с открытым исходным кодом, написанная на bash, которая позволяет быстро выполнять действия, связанные с анонимизацией. ▪️Изменение MAC-адреса на случайный или произвольный ▪️Перенаправление всего трафика через TOR ▪️Очистка ОЗУ ▪️Очистка пространства подкачки ▪️Надежное стирание файлов ▪️Удаление системного журнала 🐙 Перейти на Github 🔨 bash_help

Репозиторий DevOps-Bash-tools В нем 1000+ Bash скриптов — AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL,
Репозиторий DevOps-Bash-tools В нем 1000+ Bash скриптов — AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt для Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, .bashrc, .vimrc, .gitconfig, .screenrc, tmux. Загрузка:
curl -L https://git.io/bash-bootstrap | sh
🐙 Перейти на Github 🔨 bash_help

Как создать постоянный псевдоним команды Чтобы создать постоянную alias команду, вы должны добавить команду alias в файл конф
Как создать постоянный псевдоним команды Чтобы создать постоянную alias команду, вы должны добавить команду alias в файл конфигурации оболочки. Некоторые известные оболочки:
Bash - ~/.bashrc
Zsh - ~/.zshrc
Fish - ~/.config/fish/config.fish

Рассмотрим создание постоянного псевдонима в оболочке bash. Откроем .bashrc файл с помощью Vim.
sudo vim ~/.bashrc

Перейдите в нижнюю часть файла и нажмите i, чтобы перейти в режим вставки. Добавьте команду псевдонима, которую вы хотите добавить навсегда.
alias cdv="cd Videos"

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

В истории bash можно включить отметку времени $ export HISTTIMEFORMAT="%F %T " И теперь он также сообщит вам, когда вы выполн
В истории bash можно включить отметку времени
$ export HISTTIMEFORMAT="%F %T "
И теперь он также сообщит вам, когда вы выполнили определенную команду в истории Чтобы сделать изменения постоянными, надо экспортировать эту переменную в свой .bashrc 🔨 bash_help

Bash Bible — полезный ресурс для тех, кто изучает Linux Этот репозиторий можно использовать как справочник для изучения разли
Bash Bible — полезный ресурс для тех, кто изучает Linux Этот репозиторий можно использовать как справочник для изучения различных команд Bash. Он содержит множество примеров. 🐙 Перейти на Github 🔨 bash_help

NucleiFuzzer — инструмент для обнаружения уязвимостей в веб-приложениях Он представляет собой простой bash-скрипт, который по
NucleiFuzzer — инструмент для обнаружения уязвимостей в веб-приложениях Он представляет собой простой bash-скрипт, который позволяет обнаруживать уязвимости в различных программах и системах, проводить тестирование на проникновение и поиск уязвимостей, а также предоставляет возможность указывать ссылки на найденные уязвимости в отчетах. 🐙 Перейти на Github 🔨 bash_help

Программистика: кодируй, учись, вдохновляйся! 💻✨ Открой для себя бесконечный мир программирования вместе с нами! Здесь тебя
Программистика: кодируй, учись, вдохновляйся! 💻✨ Открой для себя бесконечный мир программирования вместе с нами! Здесь тебя ждут: Глубокие статьи, которые помогут разобраться в сложных вопросах; Сервисы, упрощающие жизнь каждого кодера; Обучающие видеоролики от профессионалов в сфере IT; Актуальные новости IT-индустрии. Программистика – для тех, кто хочет быть в курсе последних тенденций и улучшать свои навыки каждый день. Присоединяйся!