Команды Linux

Команда lsof в Linux

Команда lsof в Linux
Инструмент команды «lsof» в Linux - один из многих встроенных инструментов, который очень полезен для проверки «списка открытых файлов». Да, термин «lsof» - это аббревиатура задачи.

В системе постоянно работает ряд процессов, обращающихся к разным файлам системы. Эти файлы могут быть дисковыми файлами, сценариями, сетевыми сокетами, устройствами, именованными каналами и т. Д. Используя «lsof», можно выполнять множество операций, например отладку. Системным администраторам также очень полезно выяснить, к каким файлам обращаются какие процессы. Один из наиболее полезных сценариев, который я обнаружил, - это когда вы собираетесь размонтировать файловую систему, но к ней все еще обращаются.

Без лишних слов, давайте начнем с «lsof»! Я предполагаю, что в вашей текущей системе UNIX / Linux уже установлен lsof.

Место расположения

который lsof

Сообщает полный путь к команде, в данном случае «lsof».

Версия «lsof»
lsof -v

Это будет сообщать подробную информацию о версии «lsof», включая дату сборки двоичного файла, версию компилятора, флаги компилятора и другие.

Базовое использование «lsof»

Запустите «lsof» отдельно.

lsof

Это сообщает БОЛЬШОЙ список всех файлов, к которым система обращается в момент выполнения команды.

Хотя все поля говорят сами за себя, в основном путают столбцы «FD» и «TYPE» и их значения. Давай проверим их.

FD: аббревиатура от «дескриптор файла». Он предлагает следующие значения.

Есть также другие значения, которые вы заметите в столбце, например «1u», за которым следует u, r, w и т. Д. значение. Что это значит?

ТИП: описывает тип файла и его идентификацию. Значения следующие.

Открытые файлы, зависящие от пользователя

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

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

lsof -u

Однако для проверки пользователей с более высоким рангом «lsof» потребуется привилегия «суперпользователя».

sudo lsof -u

Как насчет проверки всех команд и файлов, к которым имеет доступ определенный пользователь?? Запустите следующий.

lsof -i -u

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

sudo lsof -i -u

Зависящие от порта запущенные процессы

Чтобы узнать все процессы, которые в настоящее время используют определенный порт, вызовите «lsof» с флагом «-i», за которым следует информация о протоколе и порте.

lsof -i<46><@hostname|host_address>
:

Например, чтобы проверить все программы, которые в настоящее время обращаются к порту 80 по протоколу TCP / IP, выполните следующую команду.

lsof -i TCP: 80

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

lsof -i TCP: 1-1000

Зависящие от протокола процессы

Вот 2 примера, показывающих процессы, которые в настоящее время используют протоколы IPv4 и IPv6.

lsof -i 4

lsof -i 6

Список сетевых подключений

Следующая команда сообщит обо всех сетевых подключениях из текущей системы.

lsof -i

Исключение с помощью ^

Да, мы можем исключить конкретного пользователя, порт, FD и других пользователей, используя символ «^». Все, что вам нужно сделать, это использовать его с осторожностью, чтобы не испортить весь вывод.

В этом примере давайте исключим все процессы от пользователя «root».

lsof -u ^ корень

Есть и другие способы использования этого механизма исключения с «lsof», например, с такими флагами, как «-c», «-d» и т. Д. Не все флаги поддерживают этот механизм. Вот почему я рекомендую опробовать демонстрацию этого метода с любым флагом, прежде чем внедрять его в некоторые скрипты.

Поиск PID

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

Если вы не знаете, как получить PID процесса, просто используйте «ps», чтобы перечислить все запущенные процессы, и отфильтруйте вывод с помощью «grep» с именем процесса и / или командами.

пс -А

Теперь выполните фильтрацию с помощью grep.

ps -A | grep

Теперь проверьте, к каким файлам обращается PID.

lsof -p

Список открытых файлов для определенного устройства

Функциональность «lsof» не ограничивается только этими функциями. Вы также можете отфильтровать результат «lsof» по устройству. Для этого команда будет выглядеть примерно так.

lsof

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

lsof

Список открытых файлов в каталоге

Как и в предыдущем примере, просто передайте путь к каталогу «lsof», чтобы узнать, обращается ли к нему какой-либо процесс.

Примечание: «lsof» будет проверять каталог рекурсивно, поэтому это может занять время.

= lsof + D

Бонус: прекратить все действия пользователя

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

sudo kill -9 'lsof -t -u Последние мысли

Возможности «lsof» на этом не заканчиваются. Упомянутые здесь - это те, в которых мы будем больше всего нуждаться в повседневной жизни. Есть много других функций «lsof», которые могут пригодиться (конечно, в определенных случаях).

Чтобы узнать обо всех доступных функциях и их использовании, посетите справочные и информационные страницы «lsof».

человек Исоф

информация lsof

lsof -?

Наслаждаться!

Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...