💡 Консольный калькулятор Linux
Надо что-то вычислить, а под рукой только консоль? Воспользуйтесь встроенным калькулятором - командой
Пользоваться ею просто. Например, сложение:
Надо что-то вычислить, а под рукой только консоль? Воспользуйтесь встроенным калькулятором - командой
expr
.Пользоваться ею просто. Например, сложение:
expr 2 + 2
Вычитание:expr 12 - 2
Знаки умножения и деления нужно дополнительно экранировать:expr 5 \* 4
expr 36 \/ 4
Можно использовать скобки, но их также нужно экранировать и отделить пробелами от знаков операций и операндов:expr 12 - \( 2 + 2 \)
Чтобы узнать больше возможностей команды запустите ее с ключом —help
Примеры использования команды grep в Linux
Отображение строк до или после строки с результатом поиска
Часто пользователю нужно вывести на экран не только строку, содержащую искомый шаблон. Но и несколько строк до или после нее, чтобы лучше понимался контекст. Специально на такой случай у команды grep есть две особых опции:
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Попробуем отфильтровать вывод команды ifconfig, который для непривычного пользователя может быть излишне объемным.
Таким образом Вы получите строку, содержащую шаблон eth0, а также 4 строки до нее:
Тогда как таким способом Вы получите строку, содержащую шаблон UP, а также 2 строки после нее:
Выведение заданного числа всех соседних строк с помощью команды grep
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
Рекурсивный поиск строки по всем каталогам с помощью команды grep
Предположим, что Вам необходимо найти все вложения указанного выражения в текущем каталоге со всеми его подкаталогами и так далее. Для этого добавьте к команде grep опцию -r:
В результате утилита будет рекурсивно искать выражение "function" по всему дереву каталогов, начинающемуся с рабочего каталога.
Поиск в архивах gzip
Утилита gzip (от англ. GNU Zip) — это популярный инструмент для сжатия данных без потерь в Linux, использующий алгоритм Deflate.
При этом с помощью команды zgrep можно вести поиск по сжатому архиву точно так же, как Вы это делали вне сжатого архива с помощью команды grep. Следующая команда будет искать в архиве /var/log/syslog.2.gz строки, содержащие шаблон error с игнорированием регистра:
Отображение строк до или после строки с результатом поиска
Часто пользователю нужно вывести на экран не только строку, содержащую искомый шаблон. Но и несколько строк до или после нее, чтобы лучше понимался контекст. Специально на такой случай у команды grep есть две особых опции:
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Попробуем отфильтровать вывод команды ifconfig, который для непривычного пользователя может быть излишне объемным.
Таким образом Вы получите строку, содержащую шаблон eth0, а также 4 строки до нее:
# ifconfig | grep –A 4 eth0
Тогда как таким способом Вы получите строку, содержащую шаблон UP, а также 2 строки после нее:
# ifconfig | grep -B 2 UP
Выведение заданного числа всех соседних строк с помощью команды grep
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
# ifconfig | grep -C 2 lo
Подсчет числа строк, содержащих искомое выражение
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
# ifconfig | grep -c inet6
Рекурсивный поиск строки по всем каталогам с помощью команды grep
Предположим, что Вам необходимо найти все вложения указанного выражения в текущем каталоге со всеми его подкаталогами и так далее. Для этого добавьте к команде grep опцию -r:
В результате утилита будет рекурсивно искать выражение "function" по всему дереву каталогов, начинающемуся с рабочего каталога.
# grep –r "function" *
Поиск в архивах gzip
Утилита gzip (от англ. GNU Zip) — это популярный инструмент для сжатия данных без потерь в Linux, использующий алгоритм Deflate.
При этом с помощью команды zgrep можно вести поиск по сжатому архиву точно так же, как Вы это делали вне сжатого архива с помощью команды grep. Следующая команда будет искать в архиве /var/log/syslog.2.gz строки, содержащие шаблон error с игнорированием регистра:
# zgrep –i error /var/log/syslog.2.gz
Примеры скриптов для системного администрирования
Коллекция примеров пошаговых сценариев администрирования систем с помощью PowerShell.
https://learn.microsoft.com/ru-ru/powershell/scripting/samples/sample-scripts-for-administration?view=powershell-7.2
Коллекция примеров пошаговых сценариев администрирования систем с помощью PowerShell.
https://learn.microsoft.com/ru-ru/powershell/scripting/samples/sample-scripts-for-administration?view=powershell-7.2
Шпаргалка по скриптам Bash
Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
💡Советы по написанию и отладке Bash скриптов
Комментарии
Используйте комментарии для объяснения кода. Это поможет вам и другим разработчикам понять, что делает скрипт. Комментарии начинаются с символа
Отладка
Для отладки скриптов используйте опцию
Логирование
Записывайте важные события и ошибки в лог-файлы для последующего анализа. Это помогает отслеживать работу скрипта и выявлять проблемы.
Обработка ошибок
Используйте команды
Использование функций
Разделяйте код на функции для улучшения читаемости и повторного использования. Функции позволяют структурировать код и делать его более понятным.
Комментарии
Используйте комментарии для объяснения кода. Это поможет вам и другим разработчикам понять, что делает скрипт. Комментарии начинаются с символа
#
.
#!/bin/bash
# This script prints the current date and time
echo "Current date and time: $(date)"
Отладка
Для отладки скриптов используйте опцию
-x
, которая выводит каждую команду перед ее выполнением. Это помогает понять, что происходит в скрипте и найти ошибки.
#!/bin/bash -x
echo "Debugging mode enabled"
Логирование
Записывайте важные события и ошибки в лог-файлы для последующего анализа. Это помогает отслеживать работу скрипта и выявлять проблемы.
#!/bin/bash
LOG_FILE="/path/to/logfile.log"
echo "Script started at $(date)" >> "$LOG_FILE"
Обработка ошибок
Используйте команды
set -e
и trap
для обработки ошибок. Команда set -e
завершает выполнение скрипта при ошибке, а команда trap
позволяет выполнять команды при возникновении определенных событий.
#!/bin/bash
set -e
trap 'echo "An error occurred. Exiting..."' ERR
echo "Starting script..."
# Your script commands here
Использование функций
Разделяйте код на функции для улучшения читаемости и повторного использования. Функции позволяют структурировать код и делать его более понятным.
#!/bin/bash
function greet {
local name=$1
echo "Hello, $name!"
}
greet "John"
Шпаргалка по
grep — это мощный инструмент для поиска текста в файлах на основе регулярных выражений.
Основные команды:
1. Поиск строки в файле:
Ищет указанную строку в файле.
2. Поиск в нескольких файлах:
3. Поиск рекурсивно:
Ищет строку во всех файлах указанного каталога.
4. Игнорирование регистра:
5. Показать номер строки:
6. Вывод строк, не содержащих шаблон:
7. Подсветка совпадений:
8. Подсчитать количество совпадений:
Расширенные команды:
1. Использование регулярных выражений:
Или:
2. Поиск с указанием количества строк до и после совпадения:
3. Поиск только имени файла:
4. Инвертированный поиск файлов:
Показывает файлы, в которых не найдено совпадений.
Полезные опции:
-
-
-
Примеры:
1. Поиск строки "error" в логах:
2. Поиск строк с IP-адресами:
3. Поиск строки и запись результата в файл:
grep
grep — это мощный инструмент для поиска текста в файлах на основе регулярных выражений.
Основные команды:
1. Поиск строки в файле:
grep "строка" имя_файла
Ищет указанную строку в файле.
2. Поиск в нескольких файлах:
grep "строка" файл1 файл2
3. Поиск рекурсивно:
grep -r "строка" /путь/к/каталогу
Ищет строку во всех файлах указанного каталога.
4. Игнорирование регистра:
grep -i "строка" имя_файла
5. Показать номер строки:
grep -n "строка" имя_файла
6. Вывод строк, не содержащих шаблон:
grep -v "строка" имя_файла
7. Подсветка совпадений:
grep --color "строка" имя_файла
8. Подсчитать количество совпадений:
grep -c "строка" имя_файла
Расширенные команды:
1. Использование регулярных выражений:
grep -E "регулярное_выражение" имя_файла
Или:
egrep "регулярное_выражение" имя_файла
2. Поиск с указанием количества строк до и после совпадения:
grep -A 3 -B 2 "строка" имя_файла
-A
(after) и -B
(before) указывают количество строк, которые будут выведены до и после найденной строки.3. Поиск только имени файла:
grep -l "строка" *
4. Инвертированный поиск файлов:
grep -L "строка" *
Показывает файлы, в которых не найдено совпадений.
Полезные опции:
-
-w
— ищет полные слова.-
-o
— выводит только совпавшие строки.-
-q
— тихий режим, без вывода в терминал, используется для проверки совпадений.Примеры:
1. Поиск строки "error" в логах:
grep "error" /var/log/syslog
2. Поиск строк с IP-адресами:
grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' имя_файла
3. Поиск строки и запись результата в файл:
grep "pattern" имя_файла > output.txt
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09