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” versioonlsof -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.
- cwd: Praegune töökataloog
- rtd: juurkataloog
- txt: programmi tekst (andmed, kood ja muud)
- mem: mäluga kaardistatud fail
- viga: FD infoviga
- mmap: mäluga kaardistatud seade
- ltx: jagatud kogu tekst (andmed ja kood)
- m86: DOS-i ühendatud fail
Veerus märkate ka muid väärtusi, näiteks "1u", millele järgneb u, r, w jne. väärtus. Mida need tähendavad?
- r: lugemisõigus
- w: kirjutusjuurdepääs
- u: lugemis- ja kirjutusjuurdepääs
- - : Tundmatu režiim ja see sisaldab lukumärki
- ": Režiim on tundmatu ja seal pole ühtegi lukumärki
TYPE: kirjeldab failitüüpi ja selle identifitseerimist. Väärtused on järgmised.
- REŽ: kataloog
- CHR: tähemärgiga fail
- REG: tavaline fail
- FIFO: Esimene sisse, esimene välja
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>:
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 4lsof -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 -pKonkreetse 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.
lsofLoetlege 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 -uLsofi 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 lsofinfo lsof
lsof -?
Nautige!