Админские угодья
1.46K subscribers
446 photos
40 videos
219 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
Выводим список установленных пакетов в Linux по дате

Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!

https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
👍21
📌Совет по Linux

Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.

Вот синтаксис:

$ time <команда>.

Пример:
$ time find / -perm -u=s -type f &>/dev/null

Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
1
Как активировать debug режим в bash?


1. Использование опции -x
Запустите скрипт с опцией -x, чтобы bash выводил каждую команду перед её выполнением.


bash -x script.sh


Или добавьте set -x в самом скрипте, чтобы начать отладку с этого места:


#!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки


2. Использование опции -v
Опция -v заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса.


bash -v script.sh


Также можно добавить set -v в скрипте для включения вывода на определённом участке:


#!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода


3. Использование режима отладки -xv
Для максимально подробной отладки можно использовать обе опции сразу — -x и -v:


bash -xv script.sh


4. Использование trap для пошаговой отладки
Команда trap позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать:


trap 'echo "Команда: $BASH_COMMAND"' DEBUG


Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.

5. Отладка с помощью PS4
Переменная PS4 позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию:


export PS4='+ $(basename $0):${LINENO}: '
bash -x script.sh
👍41
Шпаргалка по IP-командам в Linux
1
💡 Консольный калькулятор Linux

Надо что-то вычислить, а под рукой только консоль? Воспользуйтесь встроенным калькулятором - командой expr.

Пользоваться ею просто. Например, сложение:
expr 2 + 2

Вычитание:
expr 12 - 2

Знаки умножения и деления нужно дополнительно экранировать:
expr 5 \* 4
expr 36 \/ 4

Можно использовать скобки, но их также нужно экранировать и отделить пробелами от знаков операций и операндов:
expr 12 - \( 2 + 2 \)

Чтобы узнать больше возможностей команды запустите ее с ключом —help
2👍2
Шпаргалка по работе с Tmux
1
Примеры использования команды grep в Linux

Отображение строк до или после строки с результатом поиска

Часто пользователю нужно вывести на экран не только строку, содержащую искомый шаблон. Но и несколько строк до или после нее, чтобы лучше понимался контекст. Специально на такой случай у команды 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
1
DNS Record Types
1
Шпаргалка по клавиатурным сочетаниям Midnight Commander
5
Примеры скриптов для системного администрирования

Коллекция примеров пошаговых сценариев администрирования систем с помощью PowerShell.

https://learn.microsoft.com/ru-ru/powershell/scripting/samples/sample-scripts-for-administration?view=powershell-7.2
2
Шпаргалка по скриптам Bash

Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
3
💡Советы по написанию и отладке 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"
👍1
📌 Шпаргалка по tmux
2