Linuxi käsud

Linuxi lsofi käsk

Linuxi lsofi käsk
Linuxi käsutööriist “lsof” on üks paljudest sisseehitatud tööriistadest, mis on ülimalt kasulik “avatud failide loendi” kontrollimiseks. Jah, mõiste “lsof” on ülesande lühend.

Süsteemis töötab kogu aeg mitmeid protsesse, mis võimaldavad juurdepääsu süsteemi erinevatele failidele. Need failid võivad olla kettafailid, skriptid, võrgupesad, seadmed, nimega torud ja muud. „Lsofi” kasutades on võimalik teha paljusid asju, näiteks siluda. Samuti on süsteemiadministraatoritel üsna kasulik välja selgitada, millistele failidele milliste protsesside abil juurde pääseb. Üks kõige kasulikumaid stsenaariume, mille olen leidnud, on see, kui hakkate failisüsteemi lahti ühendama, kuid sellele on endiselt juurdepääs.

Ilma pikema jututa alustame sõnaga „lsof”! Eeldan, et teie praegusel UNIX / Linuxi süsteemil on juba installitud “lsof”.

Asukoht

mis lsof

See teatab käsu täieliku tee, antud juhul "lsof".

“Lsof” versioon
lsof -v

See teatab „lsofi“ põhjaliku versiooni teabe, sealhulgas kahendkoodi, kompilaatori versiooni, kompilaatori lippude ja teiste koostamise kuupäeva.

Põhiline "lsof" kasutamine

Käivitage “lsof” ise.

lsof

See annab aru kõigi failide SUUREST loendist, millele süsteem käsu käivitamise ajal juurde pääseb.

Ehkki kõik väljad on iseenesestmõistetavad, on enamasti segaduses veergude “FD” ja “TÜÜP” ning nende väärtuste pärast. Vaatame need üle.

FD: faili kirjeldaja lühend. Sellel on järgmised väärtused.

Veerus märkate ka muid väärtusi, näiteks "1u", millele järgneb u, r, w jne. väärtus. Mida need tähendavad?

TYPE: kirjeldab failitüüpi ja selle identifitseerimist. Väärtused on järgmised.

Kasutajapõhised avatud failid

Linux on geniaalne mitme kasutaja platvorm. Mitu kasutajat saavad korraga süsteemile juurde pääseda ja teha toiminguid, milleks neil on luba.

Failide vaatamiseks, millele teatud kasutaja juurde pääseb, käivitage järgmine käsk.

lsof -u

Kõrgema auastmega kasutajate kontrollimiseks vajab „lsof” aga „superkasutaja” õigust.

sudo lsof -u

Kuidas oleks kontrollida kõiki käske ja faile, millele teatud kasutaja juurde pääseb? Käivitage järgmine.

lsof -i -u

Jällegi vajab kõrgema auastmega kasutajate jaoks „lsof” privileegi „superkasutaja”.

sudo lsof -i -u

Sadamaspetsiifilised jooksvad protsessid

Kõigi protsesside välja selgitamiseks, mis praegu teatud porti kasutavad, helistage “lsof” lipuga “-i”, millele järgneb protokoll ja porditeave.

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

Näiteks kõigi TCP / IP-protokolli kaudu porti 80 juurde pääsevate programmide kontrollimiseks käivitage järgmine käsk.

lsof -i TCP: 80

Seda meetodit saab kasutada ka kõigi protsesside kuvamiseks, mis kasutavad porde teatud vahemikus, näiteks 1 kuni 1000. Käsustruktuur on sarnane varasemaga, pordi numbriosas on veidi maagiat.

lsof -i TCP: 1-1000

Protokollispetsiifilised protsessid

Siin on 2 näidet protsesside kohta, mis praegu kasutavad IPv4 ja IPv6 protokolle.

lsof -i 4

lsof -i 6

Võrguühenduste loendamine

Järgmine käsk teatab kõigist praeguse süsteemi võrguühendustest.

lsof -i

Välja arvatud tähega ^

Jah, me võime konkreetse kasutaja, pordi, FD ja teised välja jätta, kasutades märki “^”. Piisab sellest, kui kasutate seda ettevaatlikult, et kogu väljundit segamini ajada.

Jätame selles näites kõik protsessid kasutaja juurest välja.

lsof -u ^ juur

Selle välistamismehhanismi kasutamiseks lsofiga on ka teisi viise, näiteks selliste lippudega nagu „-c”, „-d” jne. Kõik lipud ei toeta seda mehhanismi. Seetõttu soovitan enne mõne skripti juurutamist selle meetodiga demot proovida mis tahes lipuga.

PID-otsing

PID on süsteemi kõigi käimasolevate protsesside oluline omadus. See võimaldab täpsemat täpsustamist teatud protsessis. Protsessi nimi pole paljudes olukordades eriti kasulik, kuna sama binaarkaart saab luua endast koopiaid ja täita paralleelselt erinevaid ülesandeid.

Kui te ei tea, kuidas saada protsessi PID, kasutage lihtsalt käsku "ps" kõigi käimasolevate protsesside loendamiseks ja filtreerige väljund, kasutades protsessi nime ja / või käskudega grep.

ps -A

Nüüd teostage filtreerimine "grep" abil.

ps -A | grep

Nüüd vaadake, millistele failidele PID juurde pääseb.

lsof -p

Konkreetse seadme avatud failide loendamine

„Lsof” funktsionaalsus ei piirdu ainult nende funktsioonidega. Samuti saate filtreerida “lsofi” tulemuse ka seadme alusel. Sel eesmärgil näeb käsk välja umbes selline.

lsof

See käsk on ülimalt kasulik kõigi jooksvate protsesside väljaselgitamiseks, kui nende omaniku andmed pääsevad juurde konkreetsele failisüsteemile. Kui teil on probleeme failisüsteemi lahtiühendamisega, on see parim viis.

lsof

Loetlege avatud failid kataloogi all

Sarnaselt eelmisele näitele edastage kataloogi tee lihtsalt lsofile, et teada saada, kas mõni protsess sellele juurde pääseb.

Märkus: „lsof” kontrollib kataloogi rekursiivselt, nii et see võib võtta aega.

= lsof + D

Boonus: lõpetage kogu kasutaja tegevus

Olge selle osaga äärmiselt ettevaatlik, sest see võib lihtsalt segi ajada kõigega, mida kasutaja teeb. Järgmine käsk tapab kõik kasutaja käimasolevad protsessid.

sudo kill -9 'lsof -t -u Lõpumõtted

Lsofi funktsioonid ei peatu siin. Siin on need, mida me igapäevaselt kõige rohkem vajame. „Lsofi“ funktsioonidest on palju muid funktsioone (muidugi konkreetsetel juhtudel).

Kõigi saadaolevate funktsioonide ja nende kasutamise kohta vaadake lehe “lsof” man- ja infolehti.

mees lsof

info lsof

lsof -?

Nautige!

Nende tasuta tööriistade abil lisage Windows 10-le hiire liigutused
Viimastel aastatel on arvutid ja operatsioonisüsteemid palju arenenud. Oli aeg, mil kasutajad pidid failihaldurites navigeerimiseks kasutama käske. Na...
Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...
WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...