У системі Linux найпопулярнішою командою є LSOF, скорочена для списку відкритих файлів. Ця команда відображає інформацію про файли, відкриті у вашій системі. Іншими простими словами, ми можемо пояснити, що команда LSOF надає інформацію про файли, які відкриваються за допомогою якого процесу. Він просто перелічує відкриті файли на вихідній консолі. У ньому перелічено каталог, спільну бібліотеку, блокувати спеціальний файл, звичайний канал, інтернет-сокет, спеціальний файл символів, сокет домену Unix та багато іншого. Команда Lsof може використовуватися для комбінування з командою grep, щоб зробити більш розширені функції для переліку та пошуку.
Ця стаття дасть вам базове розуміння команди LSOF. Більше того, ви вивчите, як використовувати цю команду в середовищі Linux.
Передумови
Ви повинні бути авторизовані як адміністратор системи або мати привілеї команд sudo.
Ми виконали всі завдання на Ubuntu 20.04, про яку йдеться нижче:
Список відкритих файлів за допомогою команди LSOF
Ви можете перерахувати всі відкриті файли з повним описом за допомогою команди LSOF.
# lsof
Наприклад, тут ми перелічили кілька відкритих файлів для кращого розуміння. На знімку екрана нижче ви побачите інформацію у вигляді стовпців, таких як Command, PID, USER, FD, TYPE тощо.
Пояснимо кожен термін по одному. У першому стовпці ви побачите, що команда використовується для імені команди. PID показує ідентифікатор процесу. У стовпці з назвою USER ви побачите тип або ім'я ролі користувача. Наведені вище значення на зображенні самі собою пояснюються. Однак ми розглянемо стовпці TYPE та FD.
FD використовується для дескриптора файлу, який має деякі значення, як:
- cwd - Представляє поточний робочий каталог.
- rtd - Показує кореневий каталог
- txt - Використовується для програмного коду та текстових даних
- мем - Використовується для відображеного в пам'яті файлу
- 1u - дескриптор файлу u для режиму читання та запису, w для режиму запису та r, що використовується для режиму читання.
Стовпець TYPE містить усі файли та ідентифікатори з використанням ключових слів. DIR означає каталог. REG представляє звичайний файл. CHR використовується для спеціальних файлів символів. FIFO означає First In First Out.
Перелічіть файли, призначені для користувача, за допомогою команди LSOF
Наприклад, якщо ми хочемо перерахувати всі відкриті файли з ім'ям користувача kbuzdar, то, використовуючи таку команду, ви можете зробити це:
$ sudo lsof -u kbuzdar
Пошукові процеси, що працюють на певному порту
Ви можете шукати ці файли або обробляти файли, що працюють на певному номері порту. Для цього вам просто потрібно використати таку команду з опцією -i та ввести конкретний номер порту.
# lsof -i TCP: 22Якщо ви хочете перерахувати всі відкриті файли, що запускаються процеси TCP-порту, які коливаються від 1 до 1024, виконайте згадану нижче команду:
# lsof -i TCP: 1-1024Відображати відкриті файли Лише для IPv4 та IPv6
Наприклад, ви хочете показати лише мережеві файли IPv4 та IPv6. Виконайте таку команду, щоб відкрити файли для IPV4 у вікні терміналу:
# lsof -i 4Для IPV6 використовуйте таку команду:
# lsof -i 6Відображати файли, виключаючи конкретних користувачів
Якщо ви хочете виключити кореневого користувача, ви можете виключити кореневого користувача, використовуючи символ '^' з командою, яка показана на знімку екрана нижче:
# lsof -i -u ^ корінь
Ви можете виключити конкретного користувача, використовуючи його ім’я.
Відобразити всі мережеві підключення за допомогою команди lsof
Введіть таку команду lsof з опцією -i, щоб відобразити список усіх мережевих з'єднань:
# lsof -i
Процес пошуку за ПІД
У наступному прикладі показано лише ті файли або процеси, чий PID дорівнює 2 [два].
# lsof -p 2
Убийте певні дії користувачів
Іноді вам можуть знадобитися певні процеси користувача. У цьому випадку, виконавши наступну команду, ви можете вбити всі процеси користувача 'kbuzdar'.
# kill -9 'lsof -t -u kbuzdar'
Висновок
У цій статті ми побачили, як використовувати команду lsof у системі Linux. Ми застосували різні приклади для кращого розуміння команди lsof. Неможливо детально розглянути всі доступні варіанти, але ви можете вивчити сторінку довідок команди lsof, щоб дізнатися більше про цю команду. Поділіться з нами своїми відгуками через коментарі.