Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍7🥴4🗿2
16 полезных примеров использования команды grep
Команда grep — это незаменимый инструмент для работы с текстовыми данными в Unix/Linux-системах.
В этом посте рассмотрим 8 первых примеров из 16 полезных вариантов использования.
1️⃣ Поиск среди нескольких файлов
Ищите нужный шаблон сразу в нескольких файлах с помощью подстановочного символа *:
Вывод покажет, в каких файлах найдено совпадение, и строки, содержащие искомое слово.
2️⃣ Регистронезависимый поиск
Если неважно, в каком регистре написан текст, используйте флаг -i:
3️⃣ Поиск только целых слов
Чтобы искать точное совпадение слов (а не подстрок), используйте флаг -w:
4️⃣ Подсчёт числа совпадений
Если нужен только подсчёт количества строк, где есть совпадение, флаг -c сделает это:
5️⃣ Рекурсивный поиск в подкаталогах
Ищите шаблон во всех файлах текущей директории и её поддиректориях:
6️⃣ Инверсивный поиск
Чтобы найти строки, не содержащие заданный шаблон, используйте флаг -v:
7️⃣ Нумерация строк в выводе
Для удобства можно добавить номера строк, в которых найдено совпадение:
8️⃣ Ограничение количества строк в выводе
Если нужно вывести только первые N строк с совпадениями, используйте флаг -m:
Пример: выводит первые 5 строк, где найден шаблон.
Продолжим?
Команда grep — это незаменимый инструмент для работы с текстовыми данными в Unix/Linux-системах.
В этом посте рассмотрим 8 первых примеров из 16 полезных вариантов использования.
Ищите нужный шаблон сразу в нескольких файлах с помощью подстановочного символа *:
grep "ошибка" /var/log/*
Вывод покажет, в каких файлах найдено совпадение, и строки, содержащие искомое слово.
Если неважно, в каком регистре написан текст, используйте флаг -i:
grep -i "ошибка" file.txt
Чтобы искать точное совпадение слов (а не подстрок), используйте флаг -w:
grep -w "error" file.txt
Если нужен только подсчёт количества строк, где есть совпадение, флаг -c сделает это:
grep -c "ошибка" file.txt
Ищите шаблон во всех файлах текущей директории и её поддиректориях:
grep -r "ошибка"
Чтобы найти строки, не содержащие заданный шаблон, используйте флаг -v:
grep -v "ошибка" file.txt
Для удобства можно добавить номера строк, в которых найдено совпадение:
grep -n "ошибка" file.txt
Если нужно вывести только первые N строк с совпадениями, используйте флаг -m:
grep -m 5 "ошибка" file.txt
Пример: выводит первые 5 строк, где найден шаблон.
Продолжим?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44❤5🔥3👎1
16 полезных примеров использования команды grep (часть 2)
Продолжаем разбирать возможности команды grep в Unix/Linux.
В этом посте рассмотрим ещё 8 примеров, которые помогут вам максимально эффективно использовать этот инструмент.
9️⃣ Вывод строк с контекстом (до и после совпадения)
Чтобы видеть строки до и/или после совпавших, используйте флаги:
• -A [N] — вывести N строк после совпадения,
• -B [N] — вывести N строк до совпадения,
• -C [N] — вывести N строк до и после.
Пример:
1️⃣ 0️⃣ Печать только названий файлов с совпадениями
Чтобы вывести только имена файлов, в которых есть совпадение, используйте флаг -l:
1️⃣ 1️⃣ Точное совпадение строки
Флаг -x позволяет искать строки, которые точно соответствуют указанному шаблону:
Пример: найдёт строку, если она полностью совпадает с заданной, без дополнительных символов.
1️⃣ 2️⃣ Поиск в начале строки
Символ каретки ^ позволяет искать шаблон только в начале строки:
1️⃣ 3️⃣ Поиск в конце строки
Чтобы искать совпадения только в конце строки, используйте символ $:
1️⃣ 4️⃣ Использование файла шаблонов
Если вы часто используете сложные шаблоны, запишите их в файл и примените с помощью флага -f:
Содержимое файла patterns.txt:
Использование:
1️⃣ 5️⃣ Поиск по нескольким шаблонам
Для поиска сразу нескольких шаблонов используйте флаг -e:
1️⃣ 6️⃣ Расширенные регулярные выражения (ERE)
С помощью флага -E (или команды egrep) можно использовать расширенные регулярные выражения:
Пример: ищет строки, содержащие либо error, либо warning. Это эквивалентно использованию egrep.
Продолжаем разбирать возможности команды grep в Unix/Linux.
В этом посте рассмотрим ещё 8 примеров, которые помогут вам максимально эффективно использовать этот инструмент.
Чтобы видеть строки до и/или после совпавших, используйте флаги:
• -A [N] — вывести N строк после совпадения,
• -B [N] — вывести N строк до совпадения,
• -C [N] — вывести N строк до и после.
Пример:
grep -A 2 "ошибка" file.txt # Покажет 2 строки после совпадения
grep -B 1 "ошибка" file.txt # Покажет 1 строку до совпадения
grep -C 3 "ошибка" file.txt # Покажет 3 строки до и после
Чтобы вывести только имена файлов, в которых есть совпадение, используйте флаг -l:
grep -l "ошибка" *.log
Флаг -x позволяет искать строки, которые точно соответствуют указанному шаблону:
grep -x "точный шаблон" file.txt
Пример: найдёт строку, если она полностью совпадает с заданной, без дополнительных символов.
Символ каретки ^ позволяет искать шаблон только в начале строки:
grep "^запуск" file.txt
Чтобы искать совпадения только в конце строки, используйте символ $:
grep "ошибка$" file.txt
Если вы часто используете сложные шаблоны, запишите их в файл и примените с помощью флага -f:
Содержимое файла patterns.txt:
ошибка
предупреждение
Использование:
grep -f patterns.txt file.txt
Для поиска сразу нескольких шаблонов используйте флаг -e:
grep -e "ошибка" -e "предупреждение" file.txt
С помощью флага -E (или команды egrep) можно использовать расширенные регулярные выражения:
grep -E "error|warning" file.txt
Пример: ищет строки, содержащие либо error, либо warning. Это эквивалентно использованию egrep.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥4❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3🥱1
Как провести стресс-тестирование вашей системы Linux
Стресс-тестирование Linux — ключевой этап подготовки серверов к реальной работе.
Разберем простые методы и мощные инструменты, которые помогут нагрузить систему и оценить её поведение.
Почему важно проводить стресс-тестирование?
Стресс-тестирование полезно для:
• Проверки производительности системы при пиковых нагрузках.
• Выявления узких мест: медленных процессов, утечек памяти или перебоев в работе ввода/вывода.
• Подготовки серверов к реальной эксплуатации: от интенсивного сетевого трафика до выполнения ресурсоемких приложений.
Методы стресс-тестирования Linux
1️⃣ Нагрузка через циклы
Создание бесконечных циклов нагружает процессор. Это простой способ проверить систему.
Запуск нагрузки:
Каждый цикл запускается в фоновом режиме и увеличивает нагрузку на ЦП.
Мониторинг нагрузки:
Запускайте команду uptime каждые 30 секунд, чтобы наблюдать за изменением средней загрузки:
Остановка нагрузки:
Чтобы завершить циклы, используйте kill, указав номера заданий:
2️⃣ Использование утилиты stress
stress — мощный инструмент, который позволяет создавать нагрузку на различные ресурсы системы:
• ЦП
• Память
• Ввод/вывод
Примеры использования stress:
• Нагрузка на процессор:
Чем больше указано ядер (--cpu), тем выше нагрузка на систему.
• Нагрузка на память:
• Нагрузка на ввод/вывод (I/O):
Для анализа работы ввода/вывода используйте iotop:
3️⃣ Написание скриптов для мониторинга
Для удобного отслеживания нагрузки вы можете написать скрипт. Например, для мониторинга использования памяти:
Скрипт отображает использование памяти каждые 30 секунд. Вы можете адаптировать его под свои задачи.
Результаты стресс-тестирования
Проведение стресс-тестов помогает:
• Подготовиться к реальным пиковым нагрузкам.
• Улучшить производительность системы.
• Найти и устранить возможные проблемы на этапе разработки.
Стресс-тестирование Linux — ключевой этап подготовки серверов к реальной работе.
Оно позволяет выявить слабые места системы, проверить её устойчивость под высокой нагрузкой и подготовиться к неожиданным пиковым ситуациям.
Разберем простые методы и мощные инструменты, которые помогут нагрузить систему и оценить её поведение.
Почему важно проводить стресс-тестирование?
Стресс-тестирование полезно для:
• Проверки производительности системы при пиковых нагрузках.
• Выявления узких мест: медленных процессов, утечек памяти или перебоев в работе ввода/вывода.
• Подготовки серверов к реальной эксплуатации: от интенсивного сетевого трафика до выполнения ресурсоемких приложений.
Методы стресс-тестирования Linux
Создание бесконечных циклов нагружает процессор. Это простой способ проверить систему.
Запуск нагрузки:
for i in 1 2 3 4; do while : ; do : ; done & done
Каждый цикл запускается в фоновом режиме и увеличивает нагрузку на ЦП.
Мониторинг нагрузки:
Запускайте команду uptime каждые 30 секунд, чтобы наблюдать за изменением средней загрузки:
while true; do uptime; sleep 30; done
Остановка нагрузки:
Чтобы завершить циклы, используйте kill, указав номера заданий:
kill %1 %2 %3 %4
stress — мощный инструмент, который позволяет создавать нагрузку на различные ресурсы системы:
• ЦП
• Память
• Ввод/вывод
Примеры использования stress:
• Нагрузка на процессор:
stress --cpu 4
Чем больше указано ядер (--cpu), тем выше нагрузка на систему.
• Нагрузка на память:
stress --vm 2
• Нагрузка на ввод/вывод (I/O):
stress --io 4
Для анализа работы ввода/вывода используйте iotop:
sudo iotop
Для удобного отслеживания нагрузки вы можете написать скрипт. Например, для мониторинга использования памяти:
#!/bin/bash
while true
do
free
sleep 30
done
Скрипт отображает использование памяти каждые 30 секунд. Вы можете адаптировать его под свои задачи.
Результаты стресс-тестирования
Проведение стресс-тестов помогает:
• Подготовиться к реальным пиковым нагрузкам.
• Улучшить производительность системы.
• Найти и устранить возможные проблемы на этапе разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤2💘2👏1
Какой командой можно удалить модуль ядра, который используется процессом?
Anonymous Quiz
28%
modprobe -r <имя_модуля>
13%
rmmod <имя_модуля>
33%
modprobe --force-remove <имя_модуля>
26%
rmmod -f <имя_модуля>
👍10❤1
Релиз AlmaLinux 9.5: что нового?
AlmaLinux 9.5 — новое обновление популярного open-source дистрибутива, полностью синхронизированного с Red Hat Enterprise Linux (RHEL) 9.5.
Ключевые особенности версии 9.5
⏺ Совместимость с архитектурами: x86_64, ARM64, ppc64le, s390x.
⏺ Удалены пакеты, связанные с экосистемой RHEL, такие как subscription-manager и insights-client.
⏺ Расширенная поддержка оборудования, включая драйверы для RAID-контроллеров (LSI MegaRAID, Dell PERC, Adaptec), сетевых адаптеров (Emulex OneConnect, QLogic ISP) и серверных платформ.
⏺ Новый репозиторий Synergy, предлагающий эксклюзивные пакеты, такие как окружение Pantheon от Elementary OS и утилита Warpinator для обмена файлами.
О проекте AlmaLinux
AlmaLinux был создан компанией CloudLinux в 2021 году после прекращения поддержки CentOS 8. Проект развивается под управлением AlmaLinux OS Foundation и обеспечивает полную бинарную совместимость с RHEL.
Дистрибутив:
• Бесплатен для всех пользователей.
• Управляется сообществом на открытой платформе.
• Все наработки доступны на GitHub.
Что нового в экосистеме AlmaLinux?
Разработчики также выпустили тестовый дистрибутив Kitten 10 на базе CentOS Stream 10. Это платформа для изучения будущих возможностей RHEL 10 и основа для следующей версии AlmaLinux.
AlmaLinux 9.5 — новое обновление популярного open-source дистрибутива, полностью синхронизированного с Red Hat Enterprise Linux (RHEL) 9.5.
Дистрибутив включает улучшения производительности, обновлённые инструменты и важные патчи безопасности.
Ключевые особенности версии 9.5
О проекте AlmaLinux
AlmaLinux был создан компанией CloudLinux в 2021 году после прекращения поддержки CentOS 8. Проект развивается под управлением AlmaLinux OS Foundation и обеспечивает полную бинарную совместимость с RHEL.
Дистрибутив:
• Бесплатен для всех пользователей.
• Управляется сообществом на открытой платформе.
• Все наработки доступны на GitHub.
Что нового в экосистеме AlmaLinux?
Разработчики также выпустили тестовый дистрибутив Kitten 10 на базе CentOS Stream 10. Это платформа для изучения будущих возможностей RHEL 10 и основа для следующей версии AlmaLinux.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
Как узнать причину перезагрузки Linux
Неожиданная перезагрузка Linux-системы может привести к простоям и потерям данных.
Разобраться в причинах — важный шаг для предотвращения таких инцидентов в будущем. Вот основные методы диагностики.
1️⃣ Проверка времени перезагрузки
Используйте команды who и last, чтобы определить, когда произошла перезагрузка.
Пример:
2️⃣ Анализ системных журналов
Системные логи содержат записи о событиях, связанных с завершением работы.
• Для CentOS/RHEL: /var/log/messages
• Для Ubuntu/Debian: /var/log/syslog
Пример фильтрации:
Это позволяет выявить действия, вызвавшие перезагрузку (например, нажатие кнопки питания или команду администратора).
3️⃣ Использование auditd
На системах с включённым auditd можно проверить события перезагрузки с помощью команды ausearch.
Пример:
Вывод поможет понять, была ли перезагрузка штатной или аварийной.
4️⃣ Журналы systemd
Если вы используете systemd, сохранённые логи помогут детально изучить события.
Убедитесь, что логи сохраняются:
Список перезагрузок:
Анализ конкретной загрузки:
Где {num} — идентификатор загрузки из предыдущей команды.
Неожиданная перезагрузка Linux-системы может привести к простоям и потерям данных.
Разобраться в причинах — важный шаг для предотвращения таких инцидентов в будущем. Вот основные методы диагностики.
Используйте команды who и last, чтобы определить, когда произошла перезагрузка.
Пример:
who -b # Показывает последнее время загрузки системы
last reboot # Список всех перезагрузок с отметками времени
Системные логи содержат записи о событиях, связанных с завершением работы.
• Для CentOS/RHEL: /var/log/messages
• Для Ubuntu/Debian: /var/log/syslog
Пример фильтрации:
sudo grep -i 'shutdown|reboot' /var/log/messages /var/log/syslog
Это позволяет выявить действия, вызвавшие перезагрузку (например, нажатие кнопки питания или команду администратора).
На системах с включённым auditd можно проверить события перезагрузки с помощью команды ausearch.
Пример:
sudo ausearch -i -m system_boot,system_shutdown | tail -4
Вывод поможет понять, была ли перезагрузка штатной или аварийной.
Если вы используете systemd, сохранённые логи помогут детально изучить события.
Убедитесь, что логи сохраняются:
sudo mkdir /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo systemctl kill --signal=SIGUSR1 systemd-journald
Список перезагрузок:
journalctl --list-boots
Анализ конкретной загрузки:
journalctl -b {num}
Где {num} — идентификатор загрузки из предыдущей команды.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4❤2
Профили Bash: настройка и использование
Bash — это основная командная оболочка в большинстве Linux-дистрибутивов. Грамотная настройка профилей Bash позволяет автоматизировать задачи и создать комфортную рабочую среду.
Типы профилей
1️⃣ Глобальные файлы:
• /etc/profile
• /etc/bash.bashrc или /etc/bashrc
• Скрипты в /etc/profile.d/*.sh
Эти файлы действуют для всех пользователей.
2️⃣ Локальные файлы:
• ~/.bash_profile, ~/.bash_login, ~/.profile — инициализация при входе.
• ~/.bashrc — настройки для работы в терминале.
• ~/.bash_logout — выполняется при выходе.
Последовательность загрузки
1. При входе в систему:
• /etc/profile → локальные файлы: ~/.bash_profile → ~/.bash_login → ~/.profile.
2. При запуске оболочки:
• /etc/bash.bashrc → ~/.bashrc.
Каталог для новых пользователей
В /etc/skel/ находятся файлы и папки, копируемые в домашнюю директорию новых пользователей. Вы можете добавить сюда нужные настройки, чтобы они применялись автоматически.
Как настроить Bash?
1️⃣ Добавьте переменные в ~/.bashrc:
2️⃣ Проверьте файлы профиля:
3️⃣ Настройте стартовые файлы в /etc/skel/:
Настройка профилей Bash — это простой способ автоматизировать рутинные задачи и упростить работу с системой.
Bash — это основная командная оболочка в большинстве Linux-дистрибутивов. Грамотная настройка профилей Bash позволяет автоматизировать задачи и создать комфортную рабочую среду.
Типы профилей
• /etc/profile
• /etc/bash.bashrc или /etc/bashrc
• Скрипты в /etc/profile.d/*.sh
Эти файлы действуют для всех пользователей.
• ~/.bash_profile, ~/.bash_login, ~/.profile — инициализация при входе.
• ~/.bashrc — настройки для работы в терминале.
• ~/.bash_logout — выполняется при выходе.
Последовательность загрузки
1. При входе в систему:
• /etc/profile → локальные файлы: ~/.bash_profile → ~/.bash_login → ~/.profile.
2. При запуске оболочки:
• /etc/bash.bashrc → ~/.bashrc.
Каталог для новых пользователей
В /etc/skel/ находятся файлы и папки, копируемые в домашнюю директорию новых пользователей. Вы можете добавить сюда нужные настройки, чтобы они применялись автоматически.
Как настроить Bash?
export PATH=$PATH:/custom/path
alias ll='ls -la'
cat /etc/profile
cat ~/.bashrc
cd /etc/skel/
ls -la
Настройка профилей Bash — это простой способ автоматизировать рутинные задачи и упростить работу с системой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤2
Как можно ограничить максимальное количество процессов, которые может создать конкретный пользователь?
Anonymous Quiz
29%
Использовать файл /etc/security/limits.conf
36%
Установить переменную PROC_LIMIT в /etc/profile
20%
Настроить системный параметр через sysctl -w
15%
Включить контроль через PAM-модуль pam_limits.so
👍12🔥6
Как редактировать файл Hosts на Linux, Windows и Mac
Его редактирование полезно, например, при тестировании сети или для обхода DNS-запросов.
Редактирование файла Hosts в Linux
1️⃣ Откройте терминал. В большинстве дистрибутивов путь: Приложения → Утилиты → Терминал.
2️⃣ Откройте файл Hosts:
Введите пароль, если потребуется.
3️⃣ Добавьте или измените строки:
• IP-адрес идет первым, затем доменное имя.
• Для комментариев добавьте # в начале строки.
4️⃣ Сохраните изменения и закройте редактор (:wq в Vim).
5️⃣ Проверьте порядок приоритета (опционально):
• Откройте nsswitch.conf:
• Убедитесь, что files указан перед dns.
Редактирование файла Hosts в Windows
1️⃣ Запустите Блокнот от имени администратора: Нажмите Пуск, найдите “Блокнот”, нажмите правой кнопкой → Запуск от имени администратора.
2️⃣ Откройте файл Hosts:
• Путь: C:\Windows\System32\drivers\etc\hosts.
• В диалоге открытия измените тип файла на “Все файлы”.
3️⃣ Добавьте строки в файл:
IP-адрес — первый, доменное имя — второй.
4️⃣ Сохраните изменения:
Файл → Сохранить.
5️⃣ Закомментируйте строки с помощью #, чтобы отключить их:
Редактирование файла Hosts на Mac
1️⃣ Откройте терминал: Путь: Приложения → Утилиты → Терминал.
2️⃣ Откройте файл Hosts:
Введите пароль администратора.
3️⃣ Добавьте строки в файл:
IP-адрес идет первым, затем имя хоста.
4️⃣ Сохраните изменения и выйдите: Нажмите Command + O, затем Command + X.
Файл hosts используется для сопоставления доменных имен с IP-адресами.
Его редактирование полезно, например, при тестировании сети или для обхода DNS-запросов.
Редактирование файла Hosts в Linux
sudo vim /etc/hosts
Введите пароль, если потребуется.
0.0.0.0 server.domain.com
• IP-адрес идет первым, затем доменное имя.
• Для комментариев добавьте # в начале строки.
• Откройте nsswitch.conf:
cat /etc/nsswitch.conf
• Убедитесь, что files указан перед dns.
Редактирование файла Hosts в Windows
• Путь: C:\Windows\System32\drivers\etc\hosts.
• В диалоге открытия измените тип файла на “Все файлы”.
0.0.0.0 server.domain.com
IP-адрес — первый, доменное имя — второй.
Файл → Сохранить.
# 0.0.0.0 server.domain.com
Редактирование файла Hosts на Mac
sudo nano /private/etc/hosts
Введите пароль администратора.
0.0.0.0 server.domain.com
IP-адрес идет первым, затем имя хоста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
top
ps -eo pid,comm,%cpu --sort=-%cpu | head
• ps -eo pid,comm,%cpu — выводит PID, имя процесса и процент использования CPU.
• --sort=-%cpu — сортирует по убыванию загрузки CPU.
• head — ограничивает вывод верхними строками.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤2
7 полезных команд в Linux
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
⏺ zipsplit — объединение нескольких .zip-файлов.
⏺ zdump — получение информации о часовом поясе.
⏺ yacc — утилита, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix-системах.
⏺ xdg-open — используется для открытия файла или URL-адреса в предпочтительном приложении пользователя.
⏺ vacation — автоответчик для электронной почты.
⏺ unlzma — извлечение файлов из архива, сжатого командой
⏺ unexpand — преобразует каждый пробел в табуляцию, записывая результат в стандартный вывод.
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
lzma
.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4
Общий веб-трафик в России вырос на 40-50% за год
По данным Cloudflare Radar и точки обмена трафиком MSK-IX, динамика прироста усилилась с конца июля, а в ноябре 2024 года MSK-IX зафиксировала исторический максимум трафика — более 7 Тб/с.
Что повлияло на рост?
1️⃣ Контент с зарубежных серверов Google и Telegram:
• Загрузка видеоконтента с YouTube.
• Увеличение активности пользователей Telegram, чьи серверы частично размещены в Европе.
2️⃣ Рост трансграничного IPv6-трафика:
• Активное использование современных протоколов для взаимодействия через зарубежные точки связи.
3️⃣ Изменения в маршрутизации YouTube:
• С августа 2024 года трафик YouTube стал проходить в обход серверов GGC (Global Cache), увеличив нагрузку на магистральные каналы операторов.
• Пользователи стали активно искать обходные пути для доступа к видеоконтенту.
Ситуация с YouTube
⏺ Снижение скорости: В августе видеохостинг был замедлен почти в 10 раз по сравнению с июнем. Это вызвало резкое снижение трафика YouTube через провайдеров РФ и рост обходных подключений.
⏺ Ответные меры: ГРЧЦ потребовал от операторов связи прекратить вмешательство в трафик для антизамедления YouTube. Невыполнение грозило аннулированием лицензий.
Общий веб-трафик в России за последний год увеличился на 40-50%, что значительно выше предыдущих летних темпов роста (около 20% год от года).
По данным Cloudflare Radar и точки обмена трафиком MSK-IX, динамика прироста усилилась с конца июля, а в ноябре 2024 года MSK-IX зафиксировала исторический максимум трафика — более 7 Тб/с.
Что повлияло на рост?
• Загрузка видеоконтента с YouTube.
• Увеличение активности пользователей Telegram, чьи серверы частично размещены в Европе.
• Активное использование современных протоколов для взаимодействия через зарубежные точки связи.
• С августа 2024 года трафик YouTube стал проходить в обход серверов GGC (Global Cache), увеличив нагрузку на магистральные каналы операторов.
• Пользователи стали активно искать обходные пути для доступа к видеоконтенту.
Ситуация с YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
Как можно ограничить использование памяти для конкретного процесса?
Anonymous Quiz
36%
Использовать команду ulimit -m
12%
Настроить cgroup через cgcreate и cgset
33%
Добавить запись в /etc/security/limits.conf
19%
Включить параметр memlimit в конфигурации ядра
👍4🤯3
Как устроена файловая система Linux?
Что такое FHS?
FHS (File System Hierarchy Standard) — стандарт организации файловой системы в Linux, обеспечивающий удобство и единообразие для всех пользователей и разработчиков.
Он задаёт структуру каталогов и их предназначение, чтобы пользователь знал, где искать файлы, а программы могли работать в любой системе Linux без модификаций.
Ключевые каталоги Linux:
• /bin — базовые команды, доступные всем пользователям (например, ls, cp). Они необходимы для работы даже в минимальной системе.
• /boot — хранит файлы загрузчика (например, ядро Linux). Обычно это отдельный раздел.
• /dev — содержит устройства как файлы. Здесь вы найдёте всё: от жёстких дисков до виртуальных устройств.
• /etc — конфигурационные файлы системы (например, настройки сети, службы, параметры запуска).
• /home — личные папки пользователей, где хранятся их файлы, настройки и документы.
• /lib — системные библиотеки и модули ядра.
• /media и /mnt — точки монтирования съемных носителей, таких как USB или CD/DVD.
• /opt — директория для стороннего ПО (например, приложений, установленных вручную).
• /proc — виртуальная файловая система с информацией о процессах и системных параметрах.
• /root — домашняя папка суперпользователя (root).
• /tmp — временные файлы (удаляются после перезагрузки).
• /usr — программы и утилиты для пользователей (например, игры, редакторы).
• /var — папка для переменных данных, например, логов, почты, кеша.
Зачем знать структуру?
• Быстро находить файлы и устранять проблемы.
• Понимать, как работают приложения и куда они записывают данные.
• Упрощать настройку системы.
В следующем посте разберёмся, как эффективно искать файлы и команды в этой структуре.
Что такое FHS?
FHS (File System Hierarchy Standard) — стандарт организации файловой системы в Linux, обеспечивающий удобство и единообразие для всех пользователей и разработчиков.
Он задаёт структуру каталогов и их предназначение, чтобы пользователь знал, где искать файлы, а программы могли работать в любой системе Linux без модификаций.
Ключевые каталоги Linux:
• /bin — базовые команды, доступные всем пользователям (например, ls, cp). Они необходимы для работы даже в минимальной системе.
• /boot — хранит файлы загрузчика (например, ядро Linux). Обычно это отдельный раздел.
• /dev — содержит устройства как файлы. Здесь вы найдёте всё: от жёстких дисков до виртуальных устройств.
• /etc — конфигурационные файлы системы (например, настройки сети, службы, параметры запуска).
• /home — личные папки пользователей, где хранятся их файлы, настройки и документы.
• /lib — системные библиотеки и модули ядра.
• /media и /mnt — точки монтирования съемных носителей, таких как USB или CD/DVD.
• /opt — директория для стороннего ПО (например, приложений, установленных вручную).
• /proc — виртуальная файловая система с информацией о процессах и системных параметрах.
• /root — домашняя папка суперпользователя (root).
• /tmp — временные файлы (удаляются после перезагрузки).
• /usr — программы и утилиты для пользователей (например, игры, редакторы).
• /var — папка для переменных данных, например, логов, почты, кеша.
Если вы хотите проверить системные логи, они будут находиться в /var/log, а ваши конфигурации сети — в /etc/network/interfaces.
Зачем знать структуру?
• Быстро находить файлы и устранять проблемы.
• Понимать, как работают приложения и куда они записывают данные.
• Упрощать настройку системы.
В следующем посте разберёмся, как эффективно искать файлы и команды в этой структуре.
👍25🔥5
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Принцип работы:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Эффективный поиск файлов и команд в Linux
Как искать файлы?
1️⃣ find — мощная утилита для поиска файлов по имени, владельцу, дате и другим параметрам.
Пример:
— Ищет файл example.txt по всей системе, начиная с корневого каталога /.
— Полезно для поиска по широким критериям (например, все файлы пользователя).
2️⃣ locate — быстрый поиск файлов по базе данных.
Пример:
— Быстрее, чем find, но требует обновления базы данных с помощью команды updatedb.
— Ищет по индексам, поэтому мгновенно выдаёт результат.
3️⃣ grep — поиск текста внутри файлов.
Пример:
Полезно, если нужно найти конкретные данные в содержимом файлов.
Как искать команды?
1️⃣ which — определяет расположение исполняемого файла команды.
Пример:
Результат: /bin/ls
2️⃣ type — показывает, как команда интерпретируется оболочкой (алиасы, пути и т.д.).
Пример:
⏺ Удобно для проверки псевдонимов и ключей, используемых командой по умолчанию.
Например:
3️⃣ whereis — более глубокий инструмент для поиска команд, исходников и документации.
Пример:
Результат:
Сравнение find и locate
• find: универсальная команда, подходит для поиска в реальном времени, но медленнее.
• locate: быстрый инструмент благодаря предварительной индексации файлов. Минус — требует обновления базы (updatedb).
Полезный лайфхак
Если locate не находит новый файл, обновите базу вручную:
Как искать файлы?
Пример:
find / -name "example.txt"
— Ищет файл example.txt по всей системе, начиная с корневого каталога /.
— Полезно для поиска по широким критериям (например, все файлы пользователя).
find / -user siadmin
Пример:
locate example.txt
— Быстрее, чем find, но требует обновления базы данных с помощью команды updatedb.
— Ищет по индексам, поэтому мгновенно выдаёт результат.
Пример:
grep "example" файл.txt
Полезно, если нужно найти конкретные данные в содержимом файлов.
Как искать команды?
Пример:
which ls
Результат: /bin/ls
Пример:
type ls
Например:
ls -> /bin/ls --color=auto
Пример:
whereis ls
Результат:
/bin/ls /usr/share/man/man1/ls.1.gz
Сравнение find и locate
• find: универсальная команда, подходит для поиска в реальном времени, но медленнее.
• locate: быстрый инструмент благодаря предварительной индексации файлов. Минус — требует обновления базы (updatedb).
Полезный лайфхак
Если locate не находит новый файл, обновите базу вручную:
sudo updatedb
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3