lsof

Утилита lsof (от англ. List Open Files) — инструмент командной строки Linux, предназначенный для отображения информации о файлах, которые в данный момент используются процессами в ОС.

10 примеров использования команды lsof в Linux

Утилита lsof по умолчанию выводит следующую информацию о каждом файле:

COMMANDназвание процесса или команды, которая использует файл
PIDидентификатор процесса
USERпользователь, которому принадлежит процесс
FDдескриптор файла (например, cwd — текущий рабочий каталог, txt — исполняемый код, mem — отображенные в память файлов, rtd — корневой каталог)
TYPEтип файла или объекта файловой системы (например, REG — обычный файл, DIR — каталог, и другие)
DEVICEмажорный и минорный номера устройства, на котором находится файл
SIZE/OFFразмер файла или значение смещения в нем
NODEномер индексного дескриптора (inode)
NAMEабсолютный путь к файлу
КомандаОписание
lsofВывод на экран всех открытых файлов в ОС
lsof -u userОтображение файлов, используемых конкретным пользователем
lsof -iПоиск процессов, которые прослушивают сетевые порты
lsof -i -u userВывод файлов, открытых процессами определенного пользователя, которые используют сетевые соединения
lsof -i -u ^rootИсключение файлов определенного пользователя
lsof -i <port-type>:<port-number>Поиск процессов, работающих на определенном сетевом порту <port-type> — тип сетевого протокола, связанного с портом (TCP или UDP);<port-number> — номер сетевого порта.
lsof -i TCP:22
lsof -i TCP:80
lsof -i <port-type>:<start-port>-<end-port>Просмотр процессов, работающих на сетевых портах определенного диапазона
lsof -i TCP:22-1024
lsof -i 4Поиск процессов, использующих сетевые соединения IPv4 и IPv6
lsof -i 6процессы, которые обмениваются данными по сети IPv6,
lsof -p 1Вывод списка файлов, используемых определенным процессом
lsof -t -u userИдентификаторы процессов, запущенных конкретным пользователем.
kill -9 $(lsof -t -u user)Завершение всех процессов пользователя