Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или
подписчиков
Проверить канал на накрутку
Телеграм канал «Системный Администратор (Сисадмин)»
Системный Администратор (Сисадмин)
5.5K
1.6K
1.9K
25
16.9K
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов. По всем вопросам @evgenycarter
Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам
#!/bin/bash
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем Ctrl+C и выходим из отладки.
Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C
переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.
# Online Bash Shell.
# Code, Compile, Run and Debug Bash script online.
# Write your code in this editor and press "Run" button to execute it.
Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
# mount -t tmpfs tmpfs /tmp -o size=1024M,mode=1777,remount
Теперь проверим, есть ли у нас каталог в фстабе:
# cat/etc/fstab
Если нет, создаем, если существует то выполняем следующую команду:
# none /tmp tmpfs size=1024M,mode=1777,rw 0 0
Теперь готов каталог/tmp/ с размером, указанным в операторе “size” размером 1024 mb.
1 - навигация по файловой системе
2 - Операции с файлами и папками
3 - Команда Grep: поиск по файлам и папкам
4 - Aliases: как упростить работу в терминале
5 - Как установить MySQL на Ubuntu/Mint
6 - Как установить PostgreSQL на Ubuntu/Mint
7.1 - crontab: запуск задач по расписанию
7.2 - crontab: как запускать Python-скрипт по расписанию
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
🔹 Символы для поиска
. – любой символ, кроме новой строки
\w – любой буквенно-цифровой символ + _
\W – любой НЕ буквенно-цифровой символ
\d – любая цифра (0-9)
\D – любой НЕ цифровой символ
\s – любой пробельный символ
\S – любой НЕ пробельный символ
🔹 Якоря
^ – начало строки
$ – конец строки
\b – граница слова
\B – НЕ граница слова
🔹 Квантификаторы
* – 0 или больше повторений
+ – 1 или больше повторений
? – 0 или 1 повторение
{n} – ровно n повторений
{n,} – n или больше повторений
{n,m} – от n до m повторений
🔹 Классы символов
[abc] – любой из символов a, b, c
[^abc] – любой символ, кроме a, b, c
[a-z] – любой символ от a до z
[0-9] – любая цифра от 0 до 9
🔹 Группы и альтернативы
(...) – захватывающая группа
(?:...) – НЕ захватывающая группа
| – “или” между выражениями
🔹 Экранирование специальных символов
\ – экранирование (\. означает точку)
🔹 Примеры
\d{3}-\d{2}-\d{4} – совпадает с SSN (123-45-6789)
\w+@\w+\.\w+ – совпадает с email-адресом
📌 Полезно при поиске, валидации данных и обработке текста!
Как перенести виртуальную машину из гипервизора VirtualBox в VMware, Hyper-V и обратно
00:00 - Вступление
00:57 - Как перенести виртуальную машину с VirtualBox на VMware
03:47 - Как перенести виртуальную машину с VMware в VirtualBox
05:55 - Как перенести виртуальную машину с VirtualBox на Hyper-V
07:57 - Как импортировать виртуальную машину с Hyper-V в VirtualBox и VMware
10:22 - Заключение