lsоf: просмотр и анализ открытых файлов и соединений в Linux
lsof (list open files) - это утилита командной строки, предназначенная для отображения списка открытых файлов системными процессами на операционной системе UNIX. Она позволяет получить информацию о файлах, на которые ссылаются запущенные процессы, а также о сетевых соединениях, используемых этими процессами.
Основной синтаксис команды lsof выглядит следующим образом:
lsof [опции] [файл, директория или процесс]
Давайте рассмотрим некоторые из основных опций команды lsof:
-c <процесс>: позволяет отобразить список файлов, связанных с указанным процессом.-p <PID>: отображает список файлов, связанных с указанным идентификатором процесса (PID).-u <пользователь>: отображает список файлов, принадлежащих указанному пользователю.-i: отображает список сетевых соединений, активных на машине.-t <тип>: фильтрует результаты по указанному типу файла.
Теперь рассмотрим примеры использования команды lsof.
- Для начала, просто запустите команду без аргументов, чтобы увидеть все открытые файлы на вашей системе:
- Если вы хотите узнать, какие файлы использует определенный процесс, вы можете указать его имя или идентификатор:
- Если вам интересны только сетевые соединения, вы можете использовать опцию -i:
- Вы также можете использовать команду lsof, чтобы вывести только определенный тип файлов. Например, если вы хотите узнать, какие файлы у вас открыты в каталоге /var/log:
lsof
Это выведет довольно длинный список, содержащий все открытые файлы и соединения, связанные с процессами.
lsof -c sshd
Эта команда покажет список всех файлов, открытых процессом sshd.
lsof -i
Эта команда отобразит список активных сетевых соединений, включая информацию о протоколе (TCP или UDP), локальном и удаленном адресах и статусе соединения.
lsof /var/log
Это выведет список всех файлов, открытых в этом каталоге.
Приведенные примеры показывают основные сценарии использования команды lsof. Она может быть полезна при отладке, мониторинге системы или выявлении проблем с доступом к файлам.
Несмотря на то, что lsof предоставляет множество полезной информации, ее использование может потребовать расширенных прав доступа, поэтому запускайте эту команду от имени администратора или суперпользователя (sudo).