ch
Feedback
BashMaster

BashMaster

前往频道在 Telegram

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

显示更多
8 730
订阅者
-224 小时
+27
+21030
帖子存档
⚙️ Шпаргалка по Bash — инфографика от sysexplore.com ✔️Это тщательно составленный и визуально приятный материал, который стан
⚙️ Шпаргалка по Bash — инфографика от sysexplore.com ✔️Это тщательно составленный и визуально приятный материал, который станет полезным как новичкам, так и опытным пользователям Bash. ➡️ Шпаргалка охватывает основы скриптинга, включая базовую терминологию, чтение параметров из файлов, обработку сигналов (например, SIGTERM) и многое другое. 🔨 bash_help

⚙️ Fast cd menu ✔️ Скрипт на Bash, который поддерживает команду «c» в Bash и показывает историю cd в виде меню. ➡️ Пример исп
⚙️ Fast cd menu ✔️ Скрипт на Bash, который поддерживает команду «c» в Bash и показывает историю cd в виде меню. ➡️ Пример использования: ▶️показать меню истории cdc ▶️перейти на вторую папку в истории cdc 2 ▶️перейти в папку, имя которой содержит строку test, где «name» — имя папки, а не полный путь — c test. 🐙 Перейти на Github 🔨 bash_help

• infosec - один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные но
infosec - один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал по разным темам: - Как зарождалась Флибуста? - Сервисы для обеспечения безопасности в сети; - Каким образом "компьютерные мастера" обманывают своих клиентов? - Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно. А еще у нас часто проходят розыгрыши самых актуальных и новых книг по ИБ. Так что присоединяйся, у нас интересно!

⚙️ Как настроить цвета и содержимое Bash в командной строке терминала Linux ✔️Сегодня Bash является оболочкой по умолчанию в
⚙️ Как настроить цвета и содержимое Bash в командной строке терминала Linux ✔️Сегодня Bash является оболочкой по умолчанию в большинстве (если не всех) современных дистрибутивов Linux. Однако вы могли заметить, что цвет текста в терминале и содержимое Bash запроса могут отличаться в зависимости от дистрибутива. Если вам интересно, как настроить этот параметр для лучшей читабельности или просто у вас появилось такая прихоть, дочитайте до конца — в этой статье мы объясним, как это сделать. ➡️ Переменная окружения PS_ Bash ▶️Командная строка и внешний вид терминала определяются переменной среды PS1. Согласно странице man Bash, PS1 представляет собой основную строку, которая отображается, когда оболочка готова к чтению команды. ▶️Допустимый контент в PS1 состоит из нескольких специальных символов с обратным слэшем, значение которых указано в разделе PROMPTING на странице руководства. ▶️Чтобы стало яснее, давайте выведем текущее содержимое PS1 в нашей системе (в вашем случае результат может выглядеть иначе):
$ echo $PS1
➡️ Настройка формата PS1 ▶️Согласно разделу PROMPTING на странице руководства, ниже приведено значение каждого специального символа: \u: имя пользователя (текущего пользователя). \h: имя хоста до первой точки (.). \W: базовое имя текущего рабочего каталога, с $HOME (сокращенно тильдой ~). \$: если текущий пользователь root, пропишите «#», в противном случае «$«. ▶️Например, мы можем захотеть добавить \! если мы хотим отобразить номер истории текущей команды или \H, если мы хотим отобразить полное доменное имя вместо короткого имени сервера. ▶️В следующем примере мы импортируем обе опции в нашу текущую среду, выполнив следующую команду:
PS1="[\u@\H \W \!]\$"
▶️Когда вы нажмете Enter, вы увидите, что содержимое запроса изменится, как показано ниже. Сравните запрос до и после выполнения вышеуказанной команды. ▶️Теперь давайте сделаем еще один шаг и изменим цвет пользователя и имя хоста в командной строке, включая текст и окружающий его фон. ▶️Мы будем использовать специальный символ \e в начале и m в конце, чтобы указать, что далее прописана последовательность цветов. ▶️В этой последовательности три значения (фон, формат и передний план) разделяются запятыми (если значение не задано по умолчанию). ▶️Кроме того, поскольку диапазоны значений отличаются друг от друга, не имеет значения, какой из них (фон, формат или передний план) вы указываете первым.
PS1="\e[40;11;32m[\u@\h \W]$ "
▶️Как бы ни выглядел запрос, эта настройка будет сохраняться только для текущего сеанса пользователя. Если вы закроете терминал или выйдете из сеанса, изменения будут потеряны. ▶️Чтобы сделать эти изменения постоянными, вам нужно будет добавить следующую строку ~/.bashrc или ~/.bash_profile в зависимости от вашего дистрибутива:
PS1="\e[40;11;32m[\u@\h \W]$ "
🖼️ Прочитать статью полностью 🔨 bash_help

Мало разработать хороший продукт — важно защитить его от кибератак Регуляторы требуют повышения киберустойчивости ПО, так что
Мало разработать хороший продукт — важно защитить его от кибератак Регуляторы требуют повышения киберустойчивости ПО, так что навыки информационной безопасности — маст хэв для развития карьеры в разработке. Получить их можно на совместном курсе ВШЭ и Нетологии «DevSecOps: практика безопасной разработки» За 5 месяцев вы научитесь: 🛡Понимать принципы безопасной разработки, внедрять подходы SSDLC, DevSecOps. 🛡Моделировать угрозы и оценивать риски. 🛡Применять в работе инструменты безопасности — GitLab CI и ArgoCD. 🛡Разбираться в нормативных требованиях и стандартах: ISO, NIST, OWASP и других. Вы сможете выстраивать защиту от угроз на всех этапах и получите диплом ВШЭ. Для обучения понадобятся базовые знания Linux и Python, на старте вам предложат тест и, при необходимости, выравнивающий модуль. Используйте промокод DEVSECOPSHSE на скидку 10 000 рублей до 29 декабря ➡️ https://netolo.gy/dLXi Реклама. ООО "Нетология". ИНН 7726464125 Erid 2SDnjcLV22w

⚙️ Классификация команд оболочки bash в Linux ✔️В Linux существует огромное количество различных утилит, которые можно раздел
⚙️ Классификация команд оболочки bash в Linux ✔️В Linux существует огромное количество различных утилит, которые можно разделить на несколько типов. ➡️ Внешние команды Это те, которые не встроены в оболочку Linux. Такие утилиты можно назвать небольшими отдельными программами, которые расположены в файловой системе. Зачастую, такие команды находятся в каталогах /bin или /usr/bin. Также к внешним командам можно отнести и исполняемые файлы. ▶️В Linux переменная $PATH содержит перечень путей, разделенных двоеточиями, по которым хранятся команды этого типа. Чтобы найти нужную утилиту, ОС ищет исполняемый файл в каталогах в порядке, установленном переменной. Если находит, запускает на выполнение. Если нет — проверяет следующие директории. Чтобы просмотреть текущее значение $PATH:
echo $PATH
▶️Чтобы узнать, какие команды содержатся в директории /bin:
ls /bin/
▶️К внешним командам можно отнести apt, awk, mount, mkdir и т. п. ➡️ Псевдонимы ▶️Это ярлык, ссылающийся на команду. Псевдоним заменяет строку, вызывающую команду в Linux, другой строкой, заданной пользователем. По умолчанию в системе существует несколько автоматически созданных псевдонимов. Чтобы узнать список всех псевдонимов, введите команду alias ▶️Разберем один из псевдонимов — alias la='ls -A': alias — указывает, что команда является псевдонимом; la — название псевдонима; ls -A — полная команда, которую заменяют псевдонимом. ▶️Псевдонимы бывают двух видов: временные — те, которые будут действовать только в текущей сессии терминала; постоянные — те, которыми можно пользоваться на постоянной основе. ▶️Чтобы создать новый временный псевдоним:
alias name='full_command'
▶️Чтобы установить постоянный псевдоним, перейдите в файл ~/.bashrc и впишите новый в разделе псевдонимов, сохраните файл. Он будет автоматически загружен при запуске следующего сеанса терминала. ➡️ Зарезервированные слова ▶️Это комбинации символов, которые имеют особое значение для оболочки. Они используются для составления больших и сложных команд в терминале: ! — логическое НЕ; case, esac — используются для создания многосторонних условных конструкций; coproc — создает со-процесс; do, done — используются для построения циклов; elif — часть конструкции if-else; if, else — составные части конструкции if-else; for, in — используются для создания цикла for; function — объявляет функции в скриптах; fi — указывает на конец внутреннего оператора if; select — генерирует меню из списка элементов; then — используется для разделения условия и команд, которые будут выполнены, если условие окажется истинным; until — используется для создания цикла, который продолжает выполняться до тех пор, пока не будет выполнено определенное условие; while — создает цикл while; {, } — группируют команды вместе и создают командный блок; time — используется для определения времени выполнения команды; [[, ]] — используются для проверки условных выражений. ➡️ Функции оболочки ▶️Это способ группировки команд для последующего их выполнения. Они выполняются так же, как и обычные команды. Функции активно используются для создания различных скриптов. Структура функции оболочки bash в скрипте выглядит следующим образом:
function_name() {
command1
command2
...
}
function_name
▶️Создадим скрипт 123.sh, в котором напишем функцию для выполнения команд ls и ls -a. С помощью утилиты chmod разрешим выполнение файла для его владельца (u+x) Чтобы запустить созданный скрипт, выполним команду:
./123.sh
Или:
sh 123.sh
➡️ Встроенные команды ▶️Это инструменты командной строки, которые содержатся в самой оболочке bash. Встроенные утилиты необходимы для реализации функций, которые невозможно или неудобно получать с помощью отдельных инструментов. ▶️Самые известные: pwd — выводит на экран название текущего каталога; cd — позволяет переходить между каталогами; echo — выводит на экран заданную строку текста. Чтобы вывести на экран все встроенные в оболочку команды:
help
▶️Чтобы выяснить, является ли команда внутренней, используйте утилиту type с ее названием в качестве аргумента. К примеру — type pwd 🖼️ Прочитать статью полностью 🔨 bash_help

Устали от ограничений и долгой настройки серверов? HSVDS поможет в работе! Мы предлагаем быстрые VDS для разработчиков с безл
Устали от ограничений и долгой настройки серверов? HSVDS поможет в работе! Мы предлагаем быстрые VDS для разработчиков с безлимитным интернетом и удобной панелью управления. А чтобы вы могли начать максимально быстро, мы подготовили предустановленный образ GitLab: ✅  Управление репозиториями кода для Git ✅  Система отслеживания задач ✅  Удобная Wiki для документации ✅  Мощный CI/CD пайплайн ✅  И многое другое для продуктивной работы всей команды! HSVDS — это стабильность, готовые решения и свобода для ваших идей 💻

⚙️ Тестирование канала с помощью Iperf ✔️Iperf - это инструмент для измерения и настройки производительности сети. Это кроссп
⚙️ Тестирование канала с помощью Iperf ✔️Iperf - это инструмент для измерения и настройки производительности сети. Это кроссплатформенный инструмент, который может производить стандартизированные измерения производительности для любой сети. Iperf обладает клиентскими и серверными функциями и может создавать потоки данных для измерения пропускной способности между двумя концами в одном или обоих направлениях. Он был разработан командой поддержки распределенных приложений (DAST) Национальной лаборатории прикладных сетевых исследований (NLANR). Актуальная версия на сегодня - третья. ➡️ Описание Iperf ▶️Iperf мультиплатформенная программа, работающая в режиме клиент-сервер. Вы можете запустить сервер на Linux, а тестировать скорость, подключаясь к нему с Windows или Android. И наоборот. Достаточно при запуске выбрать режим, в котором он будет работать: сервер или клиент. ▶️Iperf - это программное обеспечение с открытым исходным кодом, написанное на C, и оно работает на различных платформах, включая Linux, Unix, Windows (либо изначально, либо внутри Cygwin), OpenBSD, NetBSD, Android, Solaris и другие дистрибутивы Linux. Доступность исходного кода позволяет пользователю тщательно изучить методологию измерения. ▶️Iperf3 - это написанная с нуля программа, целью которой является создание меньшей и более простой базы кода и библиотечной версии функциональности, которую можно использовать в других программах. Он также включает в себя ряд функций, найденных в других инструментах, таких как nuttcp и netperf, но отсутствовавших в исходном iperf. К ним относятся, например, режим нулевого копирования и необязательный вывод в формате JSON. Обратите внимание, что iperf3 не имеет обратной совместимости с оригинальным iperf. ▶️Iperf - это широко используемый инструмент тестирования сети, который может создавать потоки данных TCP и UDP и измерять пропускную способность сети, доступной между клиентом и сервером. Он поддерживает настройку различных параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). Для каждого теста он сообщает о пропускной способности, потерях и других параметрах. 🖼️ Дочитать статью 🔨 bash_help

⚙️ Бот для Telegram, предупреждающий о входе по SSH на сервер ✔️Когда парк серверов разрастается, а команда администраторов н
⚙️ Бот для Telegram, предупреждающий о входе по SSH на сервер ✔️Когда парк серверов разрастается, а команда администраторов насчитывает больше одного человека, появляется необходимость отслеживать успешные попытки входа на сервер по протоколу SSH. Оповещение в Telegram, пожалуй, будет лучшим способом сообщить об удачной попытке входа на сервер. Напишем простой скрипт для bash, который будет отсылать сообщения в Телеграм. ➡️ Предварительные замечания ▶️Будем считать, что новый бот в Telegram уже создан, а его токен нам известен ▶️Считаем, что уже есть группа с оригинальным названием, в которую добавлен новый бот Данная методика проверена на операционных системах Debian 11, Ubuntu 22.04. Также работает на Rocky 8.7 (а значит, и на AlmaLinux и RHEL). ➡️ Установка ▶️В случае, если установлена утилита git, установка проходит в одну команду
cd /opt/ && git clone https://github.com/MyTheValentinus/ssh-login-alert-telegram
▶️Если же у нас нет git, и его нельзя установить (да, бывает и такое), самостоятельно создаём три файла.
cd /opt

mkdir ssh-login-alert-telegram &&  cd ssh-login-alert-telegram/

touch alert.sh credentials.config deploy.sh
▶️Вставляем в alert.sh:
#!/usr/bin/env bash

. /opt/ssh-login-alert-telegram/credentials.config
for i in "${USERID[@]}"
do
URL="https://api.telegram.org/bot${KEY}/sendMessage"
DATE="$(date "+%d %b %Y %H:%M")"

if [ -n "$SSH_CLIENT" ]; then
 CLIENT_IP=$(echo $SSH_CLIENT | awk '{print $1}')

SRV_HOSTNAME=$(hostname -f)
 SRV_IP=$(hostname -I | awk '{print $1}')

IPINFO="https://ipinfo.io/${CLIENT_IP}"

TEXT="Connection from *${CLIENT_IP}* as ${USER} on *${SRV_HOSTNAME}* (*${SRV_IP}*)
 Date: ${DATE}
 More informations: [${IPINFO}](${IPINFO})"

curl -s -d "chat_id=$i&text=${TEXT}&disable_web_page_preview=true&parse_mode=markdown" $URL > /dev/null
fi
done
▶️Вставляем в deploy.sh:
#!/usr/bin/env bash

add_profiled(){
cat <<EOF > /etc/profile.d/telegram-alert.sh

bash $ALERTSCRIPT_PATH
EOF
}

add_zsh () {
cat <<EOF >> /etc/zsh/zshrc

bash $ALERTSCRIPT_PATH
EOF
}

ALERTSCRIPT_PATH="/opt/ssh-login-alert-telegram/alert.sh"

echo "Deploying alerts..."
add_profiled

echo "Check if ZSH is installed.."

HAS_ZSH=$(grep -o -m 1 "zsh" /etc/shells)
if [ ! -z $HAS_ZSH ]; then
 echo "ZSH is installed, deploy alerts to zshrc"
 add_zsh
else
 echo "No zsh detected"
fi

echo "Success!"
▶️Вставляем в credentials.config:
USERID=(-97160441299)
KEY="573414141899:AAFxoC51krUaLEInlPGJwEEQICUp8QvVs99"
▶️Здесь USERID - это ID пользователя в Телеграм или ID канала; KEY - это токен нашего нового бота. ➡️ Внедрение ▶️Делаем файлы скриптов выполнимыми:
chmod 700 deploy.sh && chmod 700 alert.sh
▶️Одной командой единовременно проводим внедрение
bash deploy.sh
➡️ Использование ▶️Для проверки попробуем вручную запустить скрипт: ./alert.sh В Telegram должно появиться сообщение о входе. Выходит, всё сделано правильно, теперь мы будем всегда предупреждены, если кто-то зашёл на сервер. 🖼️ Ссылка на источник 🔨 bash_help

SSH/SFTP/RDP/VNC-клиент МС22 — решение для удалённого управления и конфигурирования сетевого оборудования, сделанное с забото
+3
SSH/SFTP/RDP/VNC-клиент МС22 — решение для удалённого управления и конфигурирования сетевого оборудования, сделанное с заботой об админах. Отечественная замена популярных зарубежных программ (PuTTY, Xshell, KiTTY, SecureCRT, SmarTTY, MobaXterm и др.) и встроенных терминалов ОС. Есть возможность работы в нескольких вкладках, подсветка синтаксиса, быстрые клавиши и готовые шаблоны, различные инструменты автоматизации и приятные мелочи (типа соблюдение стандарта FHS установочным пакетом). Посмотреть и бесплатно потестировать можно тут - https://МС22.рф В процессе обеспечим оперативную поддержку и гарантированно прислушаемся к обратной связи! #реклама О рекламодателе

⚙️ NetAlertX ✔️Инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах. ▶️Он помогае
⚙️ NetAlertX ✔️Инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах. ▶️Он помогает администратору отслеживать новые устройства в сети, анализировать подключение и уведомлять о любых подозрительных изменениях. ➡️ Утилита может быть полезной для повышения безопасности сети и оптимизации управления подключениями. 🐙 Перейти на Github 🔨 bash_help

⚙️ Bash: сочетания клавиш для повышения производительности ✔️Работа в среде командной строки, например, в сеансе Bash, может
⚙️ Bash: сочетания клавиш для повышения производительности ✔️Работа в среде командной строки, например, в сеансе Bash, может быть гораздо более продуктивной, чем использование графического пользовательского интерфейса. Вот набор сочетаний клавиш. ➡️ Содержание: ▶️Перемещение по командной строке ▶️Использование истории командной строки ▶️Использование аргументов из истории командной строки ▶️Управление историей командной строки ▶️Навигация по каталогам 🖼️ Перейти на сайт 🔨 bash_help

🚀 Приглашаем на бесплатный урок "Повторители, мосты, хабы, медиаконвертеры и коммутаторы. Кто из них выжил и почему? И принц
🚀 Приглашаем на бесплатный урок "Повторители, мосты, хабы, медиаконвертеры и коммутаторы. Кто из них выжил и почему? И принципы их работы" 18 декабря в 20:00 (мск). https://otus.pw/wBud/ 📌 Этот вебинар — часть курса "Специализация Network Engineer". Хотим предоставить вам возможность разобрать важные аспекты работы с сетями от эксперта ТАС вендора! 🤔 Что вас ждет: - Разбор принципов работы таких устройств: повторители, мосты, хабы, медиаконвертеры и коммутаторы. - Как эти устройства использовались в прошлом и какие из них актуальны для современных сетей. - Сравнение разных типов устройств и их применения в реальных сетевых проектах. 👨‍🏫 Урок проведет Николай Колесов, сертифицированный CISCO специалист с богатым опытом работы (>18 лет) с сетевыми решениями. Работает с ведущими проектами и компаниями и обучает специалистов в области сетевых технологий. ⏰ Регистрация ограничена! https://otus.pw/wBud/?erid=LjN8K91RF #реклама О рекламодателе

⚙️ Сканер 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