Производительность Linux
На схемах представлены: Linux observability tools, Linux static performance analysis tools, Linux benchmarking tools, Linux tuning tools, и Linux sar.
На схемах представлены: Linux observability tools, Linux static performance analysis tools, Linux benchmarking tools, Linux tuning tools, и Linux sar.
❤1
Горячие клавиши терминала Linux
Общие:
История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Перемещение курсора:
Редактирование:
Общие:
Ctrl+Alt+T
- в дистрибутивах, основанных на Ubuntu это сочетание клавиш используется для открытия терминала.Tab
- эта клавиша используется для автодополнения в терминале. Вам достаточно набрать начало какой-нибудь команды, затем нажать её и команда предложит доступные варианты или завершит её если она одна.Ctrl+L
- очистить весь вывод терминала.Ctrl+S
- приостановить вывод терминала.Ctrl+Q
- возобновить вывод если он был приостановлен.Ctrl+C
- отправить команде сигнал SigInt для её завершения.Ctrl+Z
- свернуть текущую команду в фоновый режим.История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Ctrl+r
- можно использовать для поиска по истории команд.Ctrl+p
- предыдущая команда в истории команд.Ctrl+n
- следующая команда в истории команд.Ctrl+g
- если вы находитесь в режиме поиска, завершает поиск.Ctrl+o
- выполнить найденную поиском команду.Alt+
. - использовать последнее слово предыдущей команды.Перемещение курсора:
Ctrl+a
- перейти в начало строки.Ctrl+e
- перейти в конец строки.Alt+b
- перейти влево на одно слово.Alt+f
- перейти в право на одно слово.Ctrl+b
- перейти влево на один символ.Ctrl+f
- перейти вправо на один символ.Ctrl+xx
- перейти в конец или в начало строки.Редактирование:
Ctrl+u
- вырезать строку до позиции курсора.Alt+Del
- удалить слово перед курсором.Alt+d
- удалить слово после курсора.Ctrl+d
- удалить символ под курсором.Ctrl+h
- удалить символ под курсором.Ctrl+w
- вырезать слово под курсором.Ctrl+k
- вырезать строку от позиции курсора до конца строкиAlt+t
- поменять текущее слово с предыдущим.Ctrl+t
- поменять местами два символа перед курсором.Esc+t
- поменять местами два слова перед курсором.Ctrl+y
- вставить то, что было вырезано.Alt+u
- сделать верхний регистр символов от позиции курсора до конца текущего слова.Alt+l
- сделать нижний регистр символов от позиции курсора до конца слова.Alt+c
- перевести символ под курсором в верхний регистр и перейти к концу слова.Alt+r
- вернуть строку в исходное состояние.Ctrl+_
- отменить последнее действие со строкой.❤3
Мониторинг и оптимизация дискового пространства в Linux
📌 Мониторинг использования:
• Проверить свободное место:
• Размер директории:
• Топ-10 крупных папок:
• Найти большие файлы (>1ГБ):
📌 Очистка места:
• Удалить старые логи:
• Очистить кэш:
• Удалить временные файлы:
• Удалить старые ядра:
📌 Автоматизация:
• Добавить в crontab задачу для регулярной очистки логов:
📌 Оптимизация:
• Перенос крупных папок:
• Сжатие логов:
• Удаление дублированных файлов:
📌 Полезные утилиты:
• ncdu — анализ диска:
• iotop — мониторинг операций с файлами:
• fslint — поиск мусорных файлов:
📌 Мониторинг в реальном времени:
• Свободное место:
• Загрузка диска процессами:
• Отслеживание изменений в директории:
📌 Мониторинг использования:
• Проверить свободное место:
df -h
• Размер директории:
du -sh /путь/к/директории
• Топ-10 крупных папок:
du -ah /путь | sort -rh | head -n 10
• Найти большие файлы (>1ГБ):
find / -type f -size +1G 2>/dev/null
📌 Очистка места:
• Удалить старые логи:
find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
• Очистить кэш:
sudo apt-get clean
sudo dnf clean all
• Удалить временные файлы:
sudo rm -rf /tmp/* /var/tmp/*
• Удалить старые ядра:
sudo apt-get autoremove --purge
📌 Автоматизация:
• Добавить в crontab задачу для регулярной очистки логов:
0 3 * * 7 find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
📌 Оптимизация:
• Перенос крупных папок:
mv /большая/папка /mnt/новый_диск
ln -s /mnt/новый_диск /большая/папка
• Сжатие логов:
gzip /var/log/*.log
• Удаление дублированных файлов:
fdupes -r /путь
📌 Полезные утилиты:
• ncdu — анализ диска:
sudo apt install ncdu && ncdu /
• iotop — мониторинг операций с файлами:
iotop
• fslint — поиск мусорных файлов:
sudo apt install fslint
📌 Мониторинг в реальном времени:
• Свободное место:
df -h
• Загрузка диска процессами:
iotop
• Отслеживание изменений в директории:
inotifywait -m /путь
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Шпаргалка по сетевой безопасности
❤1👌1
Шпаргалка по часто используемым командам systemctl
1. Посмотреть статус службы. Покажет статус службы на примере сети network
2. Запустить сервис. Запустит сервис баз данных на примере mysql
3. Остановить службу. Остановит сервис времени ntpd
4. Перезапустить службу. Перезапустит веб-сервер nginx
5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
8. Перезагрузить сервер. Перезагрузит локальный сервер
9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
а) Если сервис запущен, мы увидим:
active
б) Если не запущен:
failed
... или:
inactive
в) Если такого сервиса нет в системе:
unknown
... или:
inactive
Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
1. Посмотреть статус службы. Покажет статус службы на примере сети network
systemctl status network
2. Запустить сервис. Запустит сервис баз данных на примере mysql
systemctl start mysql
3. Остановить службу. Остановит сервис времени ntpd
systemctl stop ntpd
4. Перезапустить службу. Перезапустит веб-сервер nginx
systemctl restart nginx
5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
systemctl enable apache
6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
systemctl disable firewalld
7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
systemctl --host [email protected] stop cron
8. Перезагрузить сервер. Перезагрузит локальный сервер
systemctl reboot
9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
systemctl is-active docker
а) Если сервис запущен, мы увидим:
active
б) Если не запущен:
failed
... или:
inactive
в) Если такого сервиса нет в системе:
unknown
... или:
inactive
Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
systemctl is-active docker && docker run hello-world
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
❤1
Регулярки на каждый день: как найти строки, содержащие 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