Ste že kdaj poskusili zapreti ukazno lupino ali odklopiti pogon, da bi dobili napako, da je ena ali več datotek v uporabi? Ali pa ste morda poskušali urediti datoteko in ugotovili, da jo je zaklenil drug program?

Morda vas skrbi, da je nekdo pridobil nepooblaščen dostop do vašega sistema Linux. Z orodjem, imenovanim lsof, lahko vidite, katere datoteke so odprte, tudi prek omrežnih povezav.

Kaj je lsof?

lsof je pripomoček, ki prikaže seznam odprtih datotek. Victor Abell ga je prvotno razvil na univerzi Purdue. Na voljo je za več implementacij Unixa, vključno z Linuxom. Trenutno ga vzdržuje Ekipa lsof-org na GitHubu.

Namestitev lsof v Linux

Obstaja velika verjetnost, da imate lsof že nameščen na vašem sistemu. Poskusite vnesti lsof v ukazni vrstici. Če ni, ga lahko namestite prek upravitelja paketov vaše distribucije.

V sistemu Ubuntu ali Debian vnesite:

sudo apt namestite lsof

Vklopljeno Distribucije Linuxa, ki temeljijo na Archu:

sudo pacman -S lsof

In na RHEL, Rocky Linux in Oracle Linux:

sudo dnf namestite lsof
instagram viewer

Ogled odprtih datotek v Linuxu z lsof

Uporaba lsof je preprosta. Lahko ga samo pokličete v ukazni vrstici in si ogledate morebitne odprte datoteke, ki vam pripadajo:

lsof

lsof lahko navede procese, ki pripadajo korenu, kot "Dovoljenje zavrnjeno." Če si želite ogledati vse datoteke, ki jih odprejo vsi sistemski procesi, jih zaženite kot root:

sudo lsof

lsof bo prikazal ukaz, PID, uporabnika, ki ga je poklical, deskriptor datoteke, vrsto, napravo, velikost, vozlišče in absolutno ime poti odprte datoteke.

Če poskušate odklopiti pogon, kot je optični pogon, in dobite napako, da so datoteke v uporabi, lahko vidite, kateri proces uporablja datoteko, in ga nato zapustite ali uničite.

Če želite videti internetne vtičnice, ki so trenutno v uporabi v vašem sistemu, uporabite -jaz možnost:

sudo lsof -i

Morebiten vdor lahko zaznate, če v svojem sistemu opazite nekaj sumljivega, vendar bodo bolj izpopolnjeni napadalci morda bolje prikrili svoje sledi.

The -r možnost preklopi lsof v način ponavljanja, kjer bo prikazal rezultate po določenem intervalu, dokler ne pritisnete Ctrl + C. Privzeto se izvaja vsakih 15 sekund, vendar ga lahko spremenite. Na primer, lahko zaženete ukaz vsakih 10 sekund tako, da vnesete:

lsof -r 10

Tako kot pri drugih pripomočkih za Linux lahko ta stikala kombinirate. Recimo, da želite vsakih pet sekund spremljati svojo internetno povezavo. To lahko storite z lsof tako, da vnesete:

lsof -i -r 5

Zdaj lahko spremljate, kateri procesi Linuxa imajo odprte datoteke

Z lsof lahko izsledite, kateri procesi imajo odprte datoteke, in odpravite morebitne težave, ki jih lahko povzročijo.

Odprte datoteke so samo en vidik procesov Linuxa. Obstaja toliko načinov za upravljanje procesov v Linuxu. Procese v Linuxu je enostavno zagnati, zaustaviti in pregledati, tako da lahko kar najbolje izkoristite svoj sistem.