Ukazi za Linux

Linux lsof Command

Linux lsof Command
Ukazno orodje "lsof" v Linuxu je eno izmed mnogih vgrajenih orodij, ki je zelo uporabno za preverjanje "seznama odprtih datotek". Da, izraz lsof je okrajšava naloge.

V sistemu se ves čas izvajajo številni procesi, ki dostopajo do različnih datotek sistema. Te datoteke so lahko diskovne datoteke, skripti, omrežne vtičnice, naprave, imenovane cevi in ​​druge. Z uporabo »lsof« lahko izvedete veliko stvari, na primer odpravljanje napak. Prav tako je koristno za sistemske skrbnike, da ugotovijo, do katerih datotek se dostopa s kakšnimi procesi. Eden izmed najbolj uporabnih scenarijev, ki sem ga našel, je, ko nameravate demontirati datotečni sistem, vendar je še vedno dostopen do njega.

Brez nadaljnjih besed, začnimo z “lsof”! Predvidevam, da je v vašem trenutnem sistemu UNIX / Linux že nameščen »lsof«.

Lokacija

kar tudi

To poroča o celotni poti ukaza, v tem primeru "lsof".

"Lsof" različica
lsof -v

To bo poročalo o poglobljenih informacijah o različici "lsof", vključno z datumom izdelave binarne različice, različice prevajalnika, zastavic prevajalnika in drugih.

Osnovna uporaba lsof

Zaženite “lsof” sam.

tudi

To sporoča VELIK seznam vseh datotek, do katerih sistem dostopa v trenutku izvajanja ukaza.

Čeprav so vsa polja samoumevna, se večinoma zmedete glede stolpcev »FD« in »TYPE« ter njihovih vrednosti. Preverimo jih.

FD: Okrajšava »Deskriptor datoteke«. Pride do naslednjih vrednosti.

V stolpcu so tudi druge vrednosti, na primer »1u«, ki jim sledijo u, r, w itd. vrednost. Kaj to pomeni?

TIP: Opisuje vrsto datoteke in njeno identifikacijo. Vrednosti so naslednje.

Uporabniško odprte datoteke

Linux je briljantna več uporabniška platforma. Več uporabnikov lahko istočasno dostopa do sistema in izvaja operacije, za katere imajo dovoljenje.

Če želite preveriti datoteke, do katerih dostopa določen uporabnik, zaženite naslednji ukaz.

lsof -u

Za odjavo uporabnikov z višjim rangom pa bo lsof potreboval privilegij "super uporabnik".

sudo lsof -u

Kaj pa preveriti vse ukaze in datoteke, ki jih ima določen uporabnik? Zaženite naslednjo.

lsof -i -u

Za uporabnike z višjim rangom bo lsof potreboval privilegij „super uporabnik“.

sudo lsof -i -u

Programi, ki delujejo za vrata

Če želite izvedeti vse procese, ki trenutno uporabljajo določena vrata, pokličite "lsof" z zastavico "-i", ki ji sledijo informacije o protokolu in vratih.

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

Če želite na primer preveriti vse programe, ki trenutno dostopajo do vrat 80 prek protokola TCP / IP, zaženite naslednji ukaz.

lsof -i TCP: 80

Ta metoda se lahko uporablja tudi za prikaz vseh procesov, ki uporabljajo vrata v določenem obsegu, na primer od 1 do 1000. Struktura ukaza je podobna prejšnji z malo čarovnije na delu številke vrat.

lsof -i TCP: 1-1000

Postopki, specifični za protokol

Tu sta 2 primera, ki prikazujeta procese, ki trenutno uporabljajo protokola IPv4 in IPv6.

lsof -i 4

lsof -i 6

Seznam omrežnih povezav

Naslednji ukaz bo poročal o vseh omrežnih povezavah iz trenutnega sistema.

tudi -i

Razen z ^

Da, lahko izključimo določenega uporabnika, vrata, FD in druge z uporabo znaka "^". Vse, kar morate storiti, je, da ga uporabljate previdno, da ne boste zmotili celotnega izhoda.

V tem primeru izključimo vse procese iz uporabniškega "korena".

lsof -u ^ koren

Obstajajo tudi drugi načini uporabe tega izključujočega mehanizma z “lsof”, na primer z zastavicami, kot so “-c”, “-d” itd. Tega mehanizma ne podpirajo vse zastave. Zato priporočam, da preizkusite predstavitev s to metodo s katero koli zastavico, preden jo implementirate v nekatere skripte.

Iskanje PID

PID je pomembna lastnost katerega koli tekočega procesa v sistemu. Omogoča natančnejše določanje določenega procesa. Ime procesa ni v veliko primerih koristno, saj lahko isti binarnik ustvari svoje kopije in vzporedno izvaja različne naloge.

Če ne veste, kako pridobiti PID procesa, uporabite "ps" za seznam vseh tekočih procesov in filtriranje izhoda z uporabo "grep" z imenom procesa in / ali ukazi.

ps -A

Zdaj izvedite filtriranje z uporabo "grep".

ps -A | grep

Zdaj preverite, do katerih datotek dostopa PID.

lsof -p

Seznam odprtih datotek za določeno napravo

Funkcija “lsof” ni omejena samo na te funkcije. Rezultat "lsof" lahko filtrirate tudi glede na napravo. V ta namen bo ukaz videti nekako tako.

tudi

Ta ukaz je nadvse koristen, če želite izvedeti vse tekoče procese z informacijami o lastnikih, ki dostopajo do določenega datotečnega sistema. Če imate težave z demontiranjem datotečnega sistema, je to najboljši način.

tudi

Seznam odprtih datotek v imeniku

Podobno kot v prejšnjem primeru, samo posredujte pot do imenika “lsof”, da ugotovite, ali kateri proces dostopa do njega.

Opomba: “lsof” bo imenik preverjal rekurzivno, zato lahko traja nekaj časa.

= lsof + D

Bonus: prekinite vse uporabniške dejavnosti

Bodite previdni pri tem delu, saj lahko preprosto zamoči vse, kar uporabnik počne. Naslednji ukaz bo ubil vse tekoče procese uporabnika.

sudo kill -9 'lsof -t -u Zadnje misli

Značilnosti “lsof” se ne ustavijo le pri tem. Tu omenjeni so tisti, ki jih bomo vsak dan najbolj potrebovali. Obstaja veliko drugih funkcij "lsof", ki so vam lahko v pomoč (seveda v posebnih primerih).

Vse razpoložljive funkcije in njihovo uporabo si oglejte na strani z informacijami o uporabnikih in informacijah v "lsof".

človek tudif

info lsof

tudi -?

Uživajte!

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...
Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...