Linux komandas

Linux lsof komanda

Linux lsof komanda
Komandu rīks “lsof” Linux ir viens no daudzajiem iebūvētajiem rīkiem, kas ir ļoti noderīgi, lai pārbaudītu “atvērto failu sarakstu”. Jā, termins “lsof” ir uzdevuma saīsinājums.

Sistēmā visu laiku darbojas vairāki procesi, kas piekļūst dažādiem sistēmas failiem. Šie faili varētu būt diska faili, skripti, tīkla kontaktligzdas, ierīces, nosauktas caurules un citi. Izmantojot “lsof”, ir iespējams veikt daudzas lietas, piemēram, atkļūdošanu. Sistēmas administratoriem ir arī diezgan noderīgi noskaidrot, kuriem failiem kādi procesi tiek piekļūti. Viens no visnoderīgākajiem scenārijiem, ko esmu atradis, ir tad, kad jūs gatavojaties noņemt failu sistēmu, taču tai joprojām tiek piekļūts.

Bez papildu domām, sāksim darbu ar “lsof”! Es pieņemu, ka jūsu pašreizējā UNIX / Linux sistēmā jau ir instalēts “lsof”.

Atrašanās vieta

kas lsof

Tas ziņo par pilnu komandas ceļu, šajā gadījumā “lsof”.

“Lsof” versija
lsof -v

Tas ziņos par “lsof” padziļinātu informāciju par versiju, ieskaitot binārā, kompilatora versijas, kompilatora karodziņu un citu izveides datumu.

Pamata “lsof” lietošana

Palaidiet “lsof” pats.

lsof

Tas ziņo par LIELU visu to failu sarakstu, kuriem sistēma piekļūst komandas palaišanas laikā.

Kaut arī visi lauki nav pašsaprotami, lielākoties sajaucas ar slejām “FD” un “TYPE” un to vērtībām. Pārbaudīsim tos.

FD: “File Descriptor” saīsinājums. Tas nāk ar šādām vērtībām.

Kolonnā pamanīsit arī citas vērtības, piemēram, “1u”, kam seko u, r, w utt. vērtība. Ko tie nozīmē?

TYPE: apraksta faila tipu un tā identifikāciju. Vērtības ir šādas.

Lietotājam īpaši atvērti faili

Linux ir izcila daudzlietotāju platforma. Vairāki lietotāji vienlaikus var piekļūt sistēmai un veikt darbības, kurām viņiem ir atļauja.

Lai pārbaudītu failus, kuriem piekļūst noteikts lietotājs, izpildiet šo komandu.

lsof -u

Tomēr, lai pārbaudītu lietotājus ar augstāku rangu, “lsof” būs nepieciešama “superlietotāja” privilēģija.

sudo lsof -u

Kā būtu pārbaudīt visas komandas un failus, kuriem piekļūst noteikts lietotājs? Palaidiet šo.

lsof -i -u

Atkal, lietotājiem ar augstāku rangu “lsof” būs nepieciešama “superlietotāja” privilēģija.

sudo lsof -i -u

Portam raksturīgi darbības procesi

Lai uzzinātu visus procesus, kas pašlaik izmanto noteiktu portu, zvaniet uz “lsof” ar “-i” karogu, kam seko protokols un ostas informācija.

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

Piemēram, lai pārbaudītu visas programmas, kurām pašlaik TCP / IP protokolā piekļūst 80. ports, izpildiet šādu komandu.

lsof -i TCP: 80

Šo metodi var izmantot arī, lai parādītu visus procesus, kas izmanto portus noteiktā diapazonā, piemēram, no 1 līdz 1000. Komandu struktūra ir līdzīga iepriekšējai, ar nelielu burvību porta numura daļā.

lsof -i TCP: 1-1000

Protokolam raksturīgi procesi

Šeit ir 2 piemēri, kas parāda procesus, kas pašlaik izmanto IPv4 un IPv6 protokolus.

lsof -i 4

lsof -i 6

Tīkla savienojumu uzskaitīšana

Šī komanda ziņos par visiem tīkla savienojumiem no pašreizējās sistēmas.

lsof -i

Izslēdzot ar ^

Jā, mēs varam izslēgt konkrētu lietotāju, portu, FD un citus, izmantojot rakstzīmi “^”. Viss, kas jums jādara, ir to izmantot piesardzīgi, lai nesajauktu visu izvadi.

Šajā piemērā izslēgsim visus procesus no lietotāja “root”.

lsof -u ^ sakne

Ir arī citi veidi, kā izmantot šo izslēgšanas mehānismu ar “lsof”, piemēram, ar tādiem karodziņiem kā “-c”, “-d” utt. Ne visi karodziņi atbalsta šo mehānismu. Tāpēc es iesaku izmēģināt demonstrāciju ar šo metodi ar jebkuru karodziņu, pirms to ievietojat dažos skriptos.

PID meklēšana

PID ir svarīgs jebkura sistēmas darbības procesa īpašums. Tas ļauj precīzāk noteikt noteiktu procesu. Procesa nosaukums nav ļoti noderīgs daudzās situācijās, jo viens un tas pats binārs var izveidot sevis kopijas un paralēli veikt dažādus uzdevumus.

Ja nezināt, kā iegūt procesa PID, vienkārši izmantojiet “ps”, lai uzskaitītu visus darbojošos procesus un filtrētu izvadi, izmantojot “grep” ar procesa nosaukumu un / vai komandām.

ps -A

Veiciet filtrēšanu, izmantojot “grep”.

ps -A | grep

Tagad pārbaudiet, kuriem failiem PID piekļūst.

lsof -p

Noteiktu ierīču atvērto failu uzskaitīšana

“Lsof” funkcionalitāte neaprobežojas tikai ar šīm funkcijām. Varat arī filtrēt “lsof” rezultātu pēc ierīces bāzes. Šim nolūkam komanda izskatīsies apmēram šādi.

lsof

Šī komanda ir ļoti noderīga, lai uzzinātu visus notiekošos procesus ar to īpašnieku informāciju, kas piekļūst konkrētai failu sistēmai. Ja jums ir problēmas ar failu sistēmas atvienošanu, tas ir labākais veids, kā to izdarīt.

lsof

Uzskaitiet atvērtos failus direktorijā

Līdzīgi kā iepriekšējā piemērā, vienkārši nododiet direktorijas ceļu vietnei “lsof”, lai uzzinātu, vai kāds process tam piekļūst.

Piezīme: “lsof” pārbaudīs direktoriju rekursīvi, tāpēc tas var aizņemt laiku.

= lsof + D

Bonuss: pārtrauciet visas lietotāja darbības

Esiet ļoti piesardzīgs attiecībā uz šo daļu, jo tas var vienkārši sajaukt ar visu, ko lietotājs dara. Šī komanda iznīcinās visus lietotāja darbojošos procesus.

sudo kill -9 'lsof -t -u Pēdējās domas

“Lsof” funkcijas ne tikai apstājas šeit. Šeit pieminētie ir tie, kas mums visvairāk būs nepieciešami ikdienā. Ir daudz citu “lsof” funkciju, kas var noderēt (protams, īpašos gadījumos).

Lai uzzinātu visas pieejamās funkcijas un to lietojumu, skatiet “lsof” cilvēka un informācijas lapas.

cilvēks lsof

info lsof

lsof -?

Izbaudi!

Labākās Linux spēļu gamepad kartēšanas lietotnes
Ja jums patīk spēlēt spēles Linux ar parastu tastatūru, nevis parasto tastatūru un peles ievades sistēmu, jums ir dažas noderīgas lietotnes. Daudzas d...
Noderīgi rīki Linux spēlētājiem
Ja jums patīk spēlēt spēles Linux, iespējams, ka spēļu pieredzes uzlabošanai, iespējams, esat izmantojis tādas lietotnes un utilītprogrammas kā Wine, ...
HD Remastered spēles operētājsistēmai Linux, kurām nekad agrāk nebija Linux laidiena
Daudzi spēļu izstrādātāji un izdevēji nāk klajā ar veco spēļu HD remaster, lai pagarinātu franšīzes darbības laiku. Lūdzu, faniem, kas pieprasa saderī...