Устали от ограничений и долгой настройки серверов? HSVDS поможет в работе!
Мы предлагаем быстрые VDS для разработчиков с безлимитным интернетом и удобной панелью управления.
А чтобы вы могли начать максимально быстро, мы подготовили предустановленный образ GitLab:
✅ Управление репозиториями кода для Git
✅ Система отслеживания задач
✅ Удобная Wiki для документации
✅ Мощный CI/CD пайплайн
✅ И многое другое для продуктивной работы всей команды!
HSVDS — это стабильность, готовые решения и свобода для ваших идей 💻
Мы предлагаем быстрые VDS для разработчиков с безлимитным интернетом и удобной панелью управления.
А чтобы вы могли начать максимально быстро, мы подготовили предустановленный образ GitLab:
✅ Управление репозиториями кода для Git
✅ Система отслеживания задач
✅ Удобная Wiki для документации
✅ Мощный CI/CD пайплайн
✅ И многое другое для продуктивной работы всей команды!
HSVDS — это стабильность, готовые решения и свобода для ваших идей 💻
Это те, которые не встроены в оболочку Linux. Такие утилиты можно назвать небольшими отдельными программами, которые расположены в файловой системе. Зачастую, такие команды находятся в каталогах
/bin
или /usr/bin
. Также к внешним командам можно отнести и исполняемые файлы.$PATH
содержит перечень путей, разделенных двоеточиями, по которым хранятся команды этого типа. Чтобы найти нужную утилиту, ОС ищет исполняемый файл в каталогах в порядке, установленном переменной. Если находит, запускает на выполнение. Если нет — проверяет следующие директории. Чтобы просмотреть текущее значение $PATH
:echo $PATH
/bin
:ls /bin/
apt
, awk
, mount
, mkdir
и т. п.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
— используется для определения времени выполнения команды;[[
, ]]
— используются для проверки условных выражений.function_name() {
command1
command2
...
}
function_name
123.sh
, в котором напишем функцию для выполнения команд ls
и ls -a
. С помощью утилиты chmod
разрешим выполнение файла для его владельца (u+x)Чтобы запустить созданный скрипт, выполним команду:
./123.sh
Или:
sh 123.sh
pwd
— выводит на экран название текущего каталога;cd
— позволяет переходить между каталогами;echo
— выводит на экран заданную строку текста.Чтобы вывести на экран все встроенные в оболочку команды:
help
type
с ее названием в качестве аргумента. К примеру — type pwd
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вам интересно, как настроить этот параметр для лучшей читабельности или просто у вас появилось такая прихоть, дочитайте до конца — в этой статье мы объясним, как это сделать.
PS1
. Согласно странице man Bash, PS1
представляет собой основную строку, которая отображается, когда оболочка готова к чтению команды.PS1
состоит из нескольких специальных символов с обратным слэшем, значение которых указано в разделе PROMPTING на странице руководства.PS1
в нашей системе (в вашем случае результат может выглядеть иначе):
$ echo $PS1
\u: имя пользователя
(текущего пользователя).\h: имя хоста
до первой точки (.).\W: базовое имя
текущего рабочего каталога, с $HOME
(сокращенно тильдой ~).\$:
если текущий пользователь root, пропишите «#
», в противном случае «$
«.\!
если мы хотим отобразить номер истории текущей команды или \H
, если мы хотим отобразить полное доменное имя вместо короткого имени сервера.PS1="[\u@\H \W \!]\$"
\e
в начале и m
в конце, чтобы указать, что далее прописана последовательность цветов.PS1="\e[40;11;32m[\u@\h \W]$ "
~/.bashrc
или~/.bash_profile
в зависимости от вашего дистрибутива:PS1="\e[40;11;32m[\u@\h \W]$ "
Please open Telegram to view this post
VIEW IN TELEGRAM
• infosec - один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал по разным темам:
- Как зарождалась Флибуста?
- Сервисы для обеспечения безопасности в сети;
- Каким образом "компьютерные мастера" обманывают своих клиентов?
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.
• А еще у нас часто проходят розыгрыши самых актуальных и новых книг по ИБ. Так что присоединяйся, у нас интересно!
- Как зарождалась Флибуста?
- Сервисы для обеспечения безопасности в сети;
- Каким образом "компьютерные мастера" обманывают своих клиентов?
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.
• А еще у нас часто проходят розыгрыши самых актуальных и новых книг по ИБ. Так что присоединяйся, у нас интересно!
cd
— c
cd
— c 2
test
, где «name» — имя папки, а не полный путь — c test
.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В России можно посещать бесплатные IT-мероприятия хоть каждый день: как оффлайн, так и онлайн.
Чтобы не пропустить полезные — сохраните канал @FreeItEvent.
Анонсы вебинаров, хакатонов, конференций, мастер-классов и других событий в IT. Ивенты от гигантов индустрии и лучших специалистов в сфере IT.
Всё публикуют здесь.
Чтобы не пропустить полезные — сохраните канал @FreeItEvent.
Анонсы вебинаров, хакатонов, конференций, мастер-классов и других событий в IT. Ивенты от гигантов индустрии и лучших специалистов в сфере IT.
Всё публикуют здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Ты готов к РЕВОЛЮЦИИ? Тогда тебе точно сюда!
В этом канале не просто обсуждают Web3/4/5, блокчейн и крипту — здесь строят будущее! 🌐 Ты не только узнаешь, как создать смарт-контракт на Solidity, но и получишь реальные инструменты для работы с блокчейном, DeFi и DAO. Мы не рассказываем, как это делать, а показываем! 🚀
🚨 Что будет на канале?
Пошаговые инструкции по созданию смарт-контрактов и их деплою. Без воды, только полезная информация.
Как сделать безопасный криптокошелёк и работать с токенами.
Реальные проекты и решения для DeFi.
Всё, что нужно знать о DAO и их развитии.
И многое другое, что поможет тебе стать мастером Web3.
Забудь все скучные теории — здесь ты получишь только практику и реальные навыки! В следующем посте будем разбирать, как настроить свой первый смарт-контракт на блокчейне!
Присоединяйся, и вместе создадим БУДУЩЕЕ!
В этом канале не просто обсуждают Web3/4/5, блокчейн и крипту — здесь строят будущее! 🌐 Ты не только узнаешь, как создать смарт-контракт на Solidity, но и получишь реальные инструменты для работы с блокчейном, DeFi и DAO. Мы не рассказываем, как это делать, а показываем! 🚀
🚨 Что будет на канале?
Пошаговые инструкции по созданию смарт-контрактов и их деплою. Без воды, только полезная информация.
Как сделать безопасный криптокошелёк и работать с токенами.
Реальные проекты и решения для DeFi.
Всё, что нужно знать о DAO и их развитии.
И многое другое, что поможет тебе стать мастером Web3.
Забудь все скучные теории — здесь ты получишь только практику и реальные навыки! В следующем посте будем разбирать, как настроить свой первый смарт-контракт на блокчейне!
Присоединяйся, и вместе создадим БУДУЩЕЕ!
Обычно уязвимость находят в каком-то конкретном файле, так что смотрим обращения к нему. Если по описанию уязвимости вы видите, что зловред создаёт или загружает новый файл и потом к нему обращается, то ищите эти обращения.
# find /var/www/site -type f -mtime -30 ! -mtime -1 -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
Тут мы выводим все изменённые файлы за последние 30 дней, кроме сегодняшнего и сортируем их по дате изменения от более свежей к старой. Если список большой, лучше сразу его в файл отправить и анализировать там. Это, кстати, полезная команда именно в таком виде и выводе.
# cat ~/.bash_history
# cat ~/.mysql_history
# sudo -u postgres psql
# \s
# dpkg —verify
# rpm -Va
# ss -tulnp | column -t
# ss -ntu
# ps axf
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучай новые технологии или закрой пробелы в знаниях по своему стеку.
Ссылка для своих: https://t.me/+uZU9Jq_qa_djOTcy
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Научим писать плейбуки и модули ✔️
Один пропущенный шаг — и конфигурация ломается. Члены команды выполняют задачи по-своему, документация не помогает. Добавление новых серверов — это боль и часы работы.
Как этого избежать? Мы научим вас работать с Ansible, чтобы вы смогли:
✅ Настроить автоматизацию: один playbook — и ваши сервера настраиваются в считаные минуты.
✅ Упростить командную работу: код определяет инфраструктуру, каждый шаг прозрачен и воспроизводим.
✅ Масштабировать в одно касание: развёртывание сотен серверов — больше не головная боль.
✅ Экономить время: больше времени на стратегические задачи, меньше — на рутину.
Освоить лучшие практики на курсе «Ansible: Infrastructure as Code» – по ссылке.
Старт 20 января.
erid: 2W5zFJNU7Xv
Один пропущенный шаг — и конфигурация ломается. Члены команды выполняют задачи по-своему, документация не помогает. Добавление новых серверов — это боль и часы работы.
Как этого избежать? Мы научим вас работать с Ansible, чтобы вы смогли:
✅ Настроить автоматизацию: один playbook — и ваши сервера настраиваются в считаные минуты.
✅ Упростить командную работу: код определяет инфраструктуру, каждый шаг прозрачен и воспроизводим.
✅ Масштабировать в одно касание: развёртывание сотен серверов — больше не головная боль.
✅ Экономить время: больше времени на стратегические задачи, меньше — на рутину.
Освоить лучшие практики на курсе «Ansible: Infrastructure as Code» – по ссылке.
Старт 20 января.
erid: 2W5zFJNU7Xv
bash hst-install.sh.
bash hst-install.sh -f -y no -e email@domain.tld -p p4ssw0rd -s hostname.domain.tld
bash hst-install.sh -h
Please open Telegram to view this post
VIEW IN TELEGRAM
👎🏼 Все время просиживать за работой, общаться только с коллегами и начальником
👍🏼 Посещать IT-мероприятия, перенимать опыт гигантов индустрии, попасть в комьюнити лучших спецов
Все твои коллеги уже давно подписались на канал IT-мероприятия России и получают самые актуальные анонсы онлайн и оффлайн событий.
— Форумы и конференции
— Митапы и вебинары
— Хакатоны и олимпиады
Присоединяйся и выбирай, что тебе интересно - в канале https://t.me/iteventsrus собраны только лучшие мероприятия для тех, кто хочет быть лучшим из лучших.
IT мероприятия России / ITMeeting / IT events
👍🏼 Посещать IT-мероприятия, перенимать опыт гигантов индустрии, попасть в комьюнити лучших спецов
Все твои коллеги уже давно подписались на канал IT-мероприятия России и получают самые актуальные анонсы онлайн и оффлайн событий.
— Форумы и конференции
— Митапы и вебинары
— Хакатоны и олимпиады
Присоединяйся и выбирай, что тебе интересно - в канале https://t.me/iteventsrus собраны только лучшие мероприятия для тех, кто хочет быть лучшим из лучших.
IT мероприятия России / ITMeeting / IT events
Please open Telegram to view this post
VIEW IN TELEGRAM
Освой сети и командную строку с лучшими обучающими каналами
🤩 Network Admin - обучающий канал по сетевым технологиям
🤩 Network Admin | Guides - канал, где рассказывают полезную информацию про Windows/Linux
📱 BashTex - обучение работе с командной строкой
Please open Telegram to view this post
VIEW IN TELEGRAM
#!/bin/bash
# Дамп базы с заменой общего комплексного параметра --opt, где используется ключ --lock-tables на набор отдельных ключей, где вместо lock-tables используется --single-transaction
/usr/bin/mysqldump --add-drop-database --add-locks --create-options --disable-keys --extended-insert --single-transaction --quick --set-charset --routines --events --triggers --comments --quote-names --order-by-primary --hex-blob --databases database01 -u'userdb' -p'password' > /mnt/backup/sql/"$(date +%Y-%m-%d)"-database01.sql
# Из общего дампа вырезаю дамп только данных таблицы table01. Общий дамп тоже оставляю, потому что он нужен для других задач
/usr/bin/cat /mnt/backup/sql/"$(date +%Y-%m-%d)"-database01.sql | /usr/bin/awk '/LOCK TABLES `table01`/,/UNLOCK TABLES/' > /mnt/backup/sql/"$(date +%Y-%m-%d)"-table01.sql
# Сжимаю оба дампа
/usr/bin/gzip /mnt/backup/sql/"$(date +%Y-%m-%d)"-database01.sql
/usr/bin/gzip /mnt/backup/sql/"$(date +%Y-%m-%d)"-table01.sql
# Копирую дамп таблицы на второй сервер, аутентификация по ключам
/usr/bin/scp /mnt/backup/sql/"$(date +%Y-%m-%d)"-table01.sql.gz sshuser@10.20.30.45:/tmp
# Выполняю на втором сервере ряд заданий в рамках ssh сессии: распаковываю дамп таблицы, очищаю таблицу на этом сервере, заливаю туда данные из дампа
/usr/bin/ssh sshuser@10.20.30.45 '/usr/bin/gunzip /tmp/"$(date +%Y-%m-%d)"-table01.sql.gz && /usr/bin/mysql -e "delete from database01.table01; use database01; source /tmp/"$(date +%Y-%m-%d)"-table01.sql;"'
# Удаляю дамп
/usr/bin/ssh sshuser@10.20.30.45 'rm /tmp/"$(date +%Y-%m-%d)"-table01.sql'
Please open Telegram to view this post
VIEW IN TELEGRAM
#!/bin/bash
# Скрипт проверяет объём кэша в оперативной памяти и при превышении в 1Gb предлагает запустить очистку
cache=$(free -m | grep Mem | awk '{print $6}')
echo "Кэшированно $cacheМб"
if [ $cache -ge 1000 ]
then
echo "Кэш более одного гигабайта"
echo ""
read -p "Почистить кэш? Y/n: " ansver
case $ansver in
[y,Y])
echo "Для запуска скрипта очистки, введите пароль SUDO пользователя"
sudo echo "Было занято в кеше ОЗУ"
free -m
sync
echo 1 | sudo tee -a /proc/sys/vm/drop_caches
sync
echo 2 | sudo tee -a /proc/sys/vm/drop_caches
sync
echo 3 | sudo tee -a /proc/sys/vm/drop_caches
echo "Стало свободно в ОЗУ"
free -m;;
[n,N])
echo "Вы отказались от чистки кэша";;
esac
else
echo "Достаточно свободной памяти"
fi
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
set -euxo pipefail
set -e
- прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr
строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true
.set -u
- прекращает выполнение скрипта, если встретилась несуществующая переменная.set -x
- выводит выполняемые команды в stdout
перед выполненинем.set -o pipefail
- прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand
вернёт ошибку, не смотря на true
в конце пайплайна: mycommand | true
.Please open Telegram to view this post
VIEW IN TELEGRAM