Вы когда-нибудь пытались закрыть свою оболочку или размонтировать диск только для того, чтобы получить сообщение об ошибке, что один или несколько файлов используются? Или, возможно, вы пытались отредактировать файл и обнаружили, что он заблокирован другой программой?

Возможно, вы обеспокоены тем, что кто-то каким-то образом получил несанкционированный доступ к вашей системе Linux. Используя инструмент под названием lsof, вы можете увидеть, какие файлы открыты, даже через сетевые подключения.

Что такое lsof?

lsof — это утилита, которая выводит список открытых файлов. Первоначально Виктор Абелл разработал его в Университете Пердью. Он доступен для нескольких реализаций Unix, включая Linux. В настоящее время поддерживается команда lsof-org на GitHub.

Установка lsof в Linux

Есть большая вероятность, что lsof уже установлен в вашей системе. Попробуйте ввести lsof в командной строке. Если это не так, вы можете установить его через менеджер пакетов вашего дистрибутива.

В системе Ubuntu или Debian введите:

instagram viewer
Судо подходит установить lsof

На Дистрибутивы Linux на основе Arch:

sudo pacman -S lsof

И на RHEL, Rocky Linux и Oracle Linux:

судо днф установить lsof

Просмотр открытых файлов в Linux с помощью lsof

Использовать lsof просто. Вы можете просто вызвать его в командной строке, чтобы увидеть все открытые файлы, принадлежащие вам:

lsof

lsof может отображать процессы, принадлежащие root, как «Отказано в доступе». Чтобы увидеть все файлы, открытые всеми процессами в масштабе всей системы, запустите его от имени пользователя root:

судо lsof

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

Если вы попытаетесь размонтировать диск, например оптический, и получите сообщение об ошибке, что файлы используются, вы можете увидеть, какой процесс использует файл, а затем выйти или убить его.

Чтобы увидеть, какие интернет-сокеты в настоящее время используются в вашей системе, используйте вариант:

судо lsof -я

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

опция переводит lsof в режим повтора, где он будет отображать результаты через определенный интервал, пока вы не нажмете Ctrl + С. По умолчанию он запускается каждые 15 секунд, но вы можете изменить его. Например, вы можете запускать команду каждые 10 секунд, набрав:

lsof -r 10

Как и в случае с другими утилитами Linux, вы можете комбинировать эти переключатели. Предположим, вы хотите следить за своим интернет-соединением каждые пять секунд. Вы можете сделать это с помощью lsof, набрав:

lsof -i -r 5

Теперь вы можете отслеживать, какие процессы Linux имеют открытые файлы

С помощью lsof вы можете отслеживать, какие процессы имеют открытые файлы, и устранять любые проблемы, которые они могут вызвать.

Открытые файлы — это всего лишь один из аспектов процессов Linux. Есть так много способов управлять процессами в Linux. Процессы в Linux легко запускать, останавливать и проверять, чтобы вы могли получить максимальную отдачу от своей системы.