Регулярки на каждый день: как найти строки, содержащие IP-адреса
Иногда нужно выцепить IP-адреса из логов или текста. Ниже я написал регулярку, которая найдёт IPv4 -адреса:
📌 Пример использования с
📌 Что делает эта регулярка:
-
-
-
- Вся конструкция — это "что-то вроде 192.168.1.1".
Минус: она не валидирует значения (например, 999.999.999.999 тоже пройдёт). Но для быстрой фильтрации из логов — идеально.
А ата уже фильтрует только реальные IP!
Иногда нужно выцепить IP-адреса из логов или текста. Ниже я написал регулярку, которая найдёт IPv4 -адреса:
\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b
📌 Пример использования с
grep
:
grep -Eo '\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b' access.log
📌 Что делает эта регулярка:
-
\b
— граница слова (чтобы не цеплять лишнее);-
(?:[0-9]{1,3}\.){3}
— три группы чисел от 0 до 999, за которыми идёт точка;-
[0-9]{1,3}
— последняя четвёртая группа;- Вся конструкция — это "что-то вроде 192.168.1.1".
Минус: она не валидирует значения (например, 999.999.999.999 тоже пройдёт). Но для быстрой фильтрации из логов — идеально.
А ата уже фильтрует только реальные IP!
\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
❤1
Справочное приложение по Linux с 1М+ загрузками, основами, советами и отформатированными man-страницами
В настоящее время приложение содержит 4638 страниц инструкций, 21+ основных категорий и множество общих советов по работе с терминалом. Работает на 100% автономно, не требует подключения к Интернету и не имеет программного обеспечения для отслеживания.
GitHub: https://github.com/SimonSchubert/LinuxCommandLibrary
Сайт: https://linuxcommandlibrary.com/
В настоящее время приложение содержит 4638 страниц инструкций, 21+ основных категорий и множество общих советов по работе с терминалом. Работает на 100% автономно, не требует подключения к Интернету и не имеет программного обеспечения для отслеживания.
GitHub: https://github.com/SimonSchubert/LinuxCommandLibrary
Сайт: https://linuxcommandlibrary.com/
❤2
Советы по настройке history команд в Bash
Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.
Чтобы изменения в ~/.bashrc вступили в силу, выполните:
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл ~/.bashrc:
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную
Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
Добавьте следующую строку, если переменная
Каждая вводимая в терминале команда сохраняется в файле ~/.bash_history. Чтобы посмотреть историю команд – введите history.
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.
Чтобы изменения в ~/.bashrc вступили в силу, выполните:
source ~/.bashrc
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл ~/.bashrc:
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Теперь, набрав history, Вы получите следующий вывод:
113 Jun 08 16:31:06 sudo ifconfig
114 Jun 08 16:31:10 top
115 Jun 08 16:31:19 ping disnetern.ru
116 Jun 08 16:31:22 history
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
export HISTSIZE=5000
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
export HISTFILESIZE=5000
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc:
shopt -s histappend
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную
$PROMPT_COMMAND
, чтобы сохранять команды сразу после выполнения:Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее:
PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная
$PROMPT_COMMAND
уже была задана:PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
❤1👍1
Шпаргалка по LVM
LVM (Logical Volume Manager) — это система управления логическими томами на Linux, которая позволяет гибко управлять дисковым пространством. Она предоставляет возможность создавать, изменять размеры и управлять логическими томами, объединяя физические диски в единое пространство.
💡Основные понятия LVM
1. Physical Volume (PV) — физический том. Это физический диск или его раздел, который подготовлен для использования в LVM.
2. Volume Group (VG) — группа томов. Объединяет несколько PV в одно пространство для создания логических томов.
3. Logical Volume (LV) — логический том, который создается внутри VG. LV можно форматировать в файловую систему и монтировать.
⚫️ Основные команды LVM
1. Создание физического тома (PV):
2. Создание группы томов (VG):
3. Создание логического тома (LV):
Пример:
4. Форматирование и монтирование LV:
- Форматирование:
- Монтирование:
5. Расширение логического тома (LV):
- Обновление файловой системы:
6. Уменьшение логического тома (LV):
- Сначала размонтируйте LV:
- Уменьшение размера:
- Обновление файловой системы:
7. Удаление томов:
- Логический том:
- Группа томов:
- Физический том:
⚫️ Примеры использования
1. Создание нового логического тома на существующем VG:
2. Расширение VG добавлением нового PV:
3. Отображение информации о томах:
- Список всех PV, VG и LV:
- Детальная информация:
4. Снимок (Snapshot):
- Создание снимка:
LVM (Logical Volume Manager) — это система управления логическими томами на Linux, которая позволяет гибко управлять дисковым пространством. Она предоставляет возможность создавать, изменять размеры и управлять логическими томами, объединяя физические диски в единое пространство.
💡Основные понятия LVM
1. Physical Volume (PV) — физический том. Это физический диск или его раздел, который подготовлен для использования в LVM.
2. Volume Group (VG) — группа томов. Объединяет несколько PV в одно пространство для создания логических томов.
3. Logical Volume (LV) — логический том, который создается внутри VG. LV можно форматировать в файловую систему и монтировать.
1. Создание физического тома (PV):
pvcreate /dev/sdX
2. Создание группы томов (VG):
vgcreate <имя VG> /dev/sdX
3. Создание логического тома (LV):
lvcreate -L <размер> -n <имя LV> <имя VG>
Пример:
lvcreate -L 10G -n my_volume my_group
4. Форматирование и монтирование LV:
- Форматирование:
mkfs.ext4 /dev/<имя VG>/<имя LV>
- Монтирование:
mount /dev/<имя VG>/<имя LV> /mnt/<путь>
5. Расширение логического тома (LV):
lvextend -L +<размер> /dev/<имя VG>/<имя LV>
- Обновление файловой системы:
resize2fs /dev/<имя VG>/<имя LV>
6. Уменьшение логического тома (LV):
- Сначала размонтируйте LV:
umount /dev/<имя VG>/<имя LV>
- Уменьшение размера:
lvreduce -L -<размер> /dev/<имя VG>/<имя LV>
- Обновление файловой системы:
resize2fs /dev/<имя VG>/<имя LV>
7. Удаление томов:
- Логический том:
lvremove /dev/<имя VG>/<имя LV>
- Группа томов:
vgremove <имя VG>
- Физический том:
pvremove /dev/sdX
1. Создание нового логического тома на существующем VG:
lvcreate -L 5G -n data vg_main
2. Расширение VG добавлением нового PV:
vgextend vg_main /dev/sdY
3. Отображение информации о томах:
- Список всех PV, VG и LV:
pvs
vgs
lvs
- Детальная информация:
pvdisplay
vgdisplay
lvdisplay
4. Снимок (Snapshot):
- Создание снимка:
lvcreate -L 1G -s -n snapshot_name /dev/vg_name/lv_name
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Регулярные выражения Bash
Программа grep — это основной инструмент для работы с регулярными выражениями.
Самый простой случай использования grep — поиск строк, содержащих фиксированную подстроку. В следующем примере grep вывел все строки, содержащие последовательность
https://telegra.ph/Regulyarnye-vyrazheniya-Bash-11-01
Программа grep — это основной инструмент для работы с регулярными выражениями.
Самый простой случай использования grep — поиск строк, содержащих фиксированную подстроку. В следующем примере grep вывел все строки, содержащие последовательность
nologin
:
grep nologin /etc/passwd
Output:
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
games:x:5:60:games:/usr/games:/usr/sbin/nologin
...
https://telegra.ph/Regulyarnye-vyrazheniya-Bash-11-01
❤1