Привет, коллеги-сисадмины и друзья по цеху! Сегодня погрузимся в мир утилиты lsof. Да-да, это тот самый утилитарный инструмент, который поможет вам узнать, какие файлы открыты, какие порты заняты и почему ваша система ведет себя, как будто забыла про завтрак.

Если вы еще не знакомы с lsof, то поправьте свои ноуты, потому что без него в Linux как без кофе – можно, но зачем себе такое мучение?

Так, что же такое lsof? Это утилита, которая показывает список открытых файлов и процессов, которые их используют. Помните, что в Linux почти всё является файлом, так что и порты, и сокеты туда же! 🌍

Запуск прост, как пирожок с повидлом. Просто введите в терминале:

lsof

Вы получите длинный список всего, что открыто на вашей системе. Черь немного задолбал, скажете вы? Давайте уточним запрос!

Например, вы хотите узнать, какие порты открыты и какие процессы их используют. Для этого нужно лишь чуть-чуть добавить:

lsof -i

И вот, магия! Каждый раз, когда вы видите процесс с протоколом TCP или UDP, помните: ваш друг не одинок. Он связан с портами, и теперь вы знаете о его тайных встречах!

Теперь давайте поэкспериментируем. Если вам нужно проверить, какой процесс занят конкретным портом, например, 80 (да, это тот самый, где сидят все ваши веб-сайты), просто выполните команду:

lsof -i :80

И как по волшебству, lsof выдаст вам процесс, который занят этим портом. Будьте готовы, возможно, это будет ваш любимый веб-сервер или, о ужас, зловредный скрипт. Пора проводить чистку! 😱

Хотите найти все открытые файлы, принадлежащие определенному пользователю? Нет проблем! Введите:

lsof -u username

Где username — это ваш друг. Или враг. Ответ в этом случае может быть шокирующим, так что будьте готовы!

В общем, с помощью lsof можно не только мониторить систему, но и вести настоящие допросы открытых процессов. Кому мы здесь не доверяем, правильно? 💼

Помимо основных возможностей, у lsof есть и другие фишки. Например, чтобы получить список открытых файлов для определенного процесса по его PID, вы можете использовать:

lsof -p PID

Где PID — это идентификатор процесса, который мы изучаем. Получили список файлов, используемых этим процессом, и точно знаете, чем он занимается, как интриган на корпоративе!

Для более продвинутых пользователей есть возможность фильтрации по типу файлов. Например:

lsof +D /path/to/directory

Это даст вам все открытые файлы в указанной директории. Спасительно, когда ваш диск заполняется и вы хотите узнать, кто ест ваше дисковое пространство!

Итак, мы прошли по волшебным страницам утилиты lsof, научились следить за открытыми файлами и портами и получили приличную порцию админского юмора. Помните, ваш сервер – это не только работа. Это ваша крепость, где каждый файл и порт под контролем. До новых встреч в мире Linux!