Как да използвате lsof за проследяване на отворени файлове на Linux

Как да използвате lsof за проследяване на отворени файлове на Linux

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





Може би се притеснявате, че някой по някакъв начин е получил неоторизиран достъп до вашата Linux система. С помощта на инструмент, наречен lsof, можете да видите кои файлове са отворени, дори през мрежови връзки.





MAKEUSEOF ВИДЕО НА ДЕНЯ

Какво е lsof?

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





Инсталиране на lsof на Linux

Има голям шанс вече да имате инсталиран lsof на вашата система. Опитайте да напишете lsof в командния ред. Ако не е, можете да го инсталирате чрез мениджъра на пакети на вашата дистрибуция.

На система Ubuntu или Debian въведете:



sudo apt install lsof

На Linux базирани на Arch :

sudo pacman -S lsof

И на RHEL, Rocky Linux и Oracle Linux:





sudo dnf install lsof

Преглед на отворени файлове на Linux с lsof

 lsof изход в терминала

Използването на lsof е лесно. Можете просто да го извикате от командния ред, за да видите всички отворени файлове, принадлежащи на вас:

lsof

lsof може да посочи процесите, принадлежащи на root, като „Разрешение е отказано“. За да видите всички файлове, отворени от всички процеси в цялата система, стартирайте го като root:





sudo lsof

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

Ако се опитате да демонтирате устройство като оптично устройство и получите грешка, че файловете се използват, можете да видите кой процес използва файла и след това да излезете или да го убиете.

 lsof -i изход

За да видите всички интернет гнезда, използвани в момента във вашата система, използвайте опция:

sudo lsof -i

Бихте могли да откриете възможно проникване, ако забележите нещо подозрително във вашата система, но по-сложните нападатели може да успеят да прикрият следите си по-добре.

The опцията поставя lsof в режим на повторение, където ще показва резултатите след определен интервал, докато не натиснете Ctrl + C . По подразбиране се изпълнява на всеки 15 секунди, но можете да го промените. Например, можете да изпълнявате командата на всеки 10 секунди, като напишете:

lsof -r 10

Както при другите помощни програми на Linux, можете да комбинирате тези ключове. Да предположим, че искате да гледате интернет връзката си на всеки пет секунди. Можете да направите това с lsof, като напишете:

lsof -i -r 5

Сега можете да проследите кои Linux процеси имат отворени файлове

С lsof можете да проследите кои процеси имат отворени файлове и да коригирате всички проблеми, които те могат да причинят.

Отворените файлове са само един аспект от процесите на Linux. Има толкова много начини за управление на процеси в Linux. Лесно е да стартирате, спирате и проверявате процеси в Linux, за да можете да извлечете максимума от вашата система.

колко пари можете да направите за копаене на биткойни
Категория Linux