Kaip peržiūrėti failų sąrašą ir analizuoti sistemą naudojant Linux komandą „lsof“
Linux įrankis „lsof“ leidžia greitai stebėti sistemos veiklą ir nustatyti problemas. Jis pateikia atidarytų failų sąrašą, kurį galite pritaikyti savo poreikiams naudodami filtrus ir parinktis.
Kas yra „Linux lsof“?
„lsof“ – tai paprasta naudoti priemonė, skirta Linux sistemos stebėjimui ir analizei. Šią programą 1994 m. sukūrė ir išleido Vic Abell; ji yra atvirojo kodo ir įeina į daugelio Linux distribucijų, pavyzdžiui, „Debian“ ar „Ubuntu“, standartinę diegimo sudėtį. „lsof“ reiškia „List open files“ (atvirų failų sąrašas). Programa pateikia informaciją apie failų tipus, kurie šiuo metu yra atidaryti arba anksčiau buvo atidaryti veikiančių procesų. Tai apima įprastus failus, katalogus, lizdus, diskus ir prievadus. Ji pateikia aiškų ir tvarkingą skirtingų procesų bei susijusių failų sąrašą.
Kaip veikia Linux komanda „lsof“?
Jei jūsų sistemoje nėra lsof, tiesiog įdiekite jį šia Linux komanda:
$ apt-get install lsofbashĮdiegus programą „Linux lsof“, galėsite gauti išsamų kompiuteryje veikiančių procesų sąrašą. Tai įmanoma todėl, kad Unix tipo sistemose viskas traktuojama kaip failas. Todėl naudodami „lsof“ galite nustatyti, kurie procesai turi prieigą prie konkretaus failo.
Kaip atrodo „Isof“ sintaksė?
Norite naudoti komandą „lsof“? Štai pagrindinė šios komandos sintaksė:
$ lsof [Option] <Format>bashNors „lsof“ galima naudoti be jokių parametrų ar filtrų, to daryti nerekomenduojama. Gautas išvesties tekstas būtų labai ilgas ir sunkiai suprantamas.
Kokios parinktys ir filtrai yra prieinami naudojant „Linux lsof“?
„lsof“ palaiko daugybę išvesties parinkčių. Svarbiausios iš jų yra:
- -F: Ši parinktis užtikrina, kad visi rezultatai būtų rodomi vienoje kolonoje.
- -l: Ši parinktis leidžia rodyti vartotojo ID vietoj vardo.
- -n: Naudojant šią parinktį, vietoj kompiuterių vardų rodomi atitinkami IP adresai.
- -P: Taip rodomi prievadų numeriai vietoj paslaugų pavadinimų.
- -r [x]: Ši parinktis užtikrina, kad išvestis būtų pakartotinai vykdoma kas x sekundžių.
- -t: Naudojant šią parinktį, išvedamas tik PID sąrašas (Proceso identifikatorius).
Be to, „lsof“ palaiko daugybę filtravimo parinkčių. Dažniausiai naudojamos yra šios:
- -a: Tai loginė operacija „IR“, o ne „ARBA“; ji naudojama pagal numatytuosius nustatymus.
- -c [Procesas]: Sužinokite, kuris failas naudojamas kokiame procese.
- +D /file/user: Šis filtras pateikia informaciją apie konkretų katalogą ir jo vartotoją.
- /dev/drive: Naudokite šį filtrą, norėdami patikrinti konkretų diską.
- -i [TCP/UDP arba alternatyvus IP adresas arba prievadas]: Pateikia informaciją apie tai, kurie procesai naudoja kokias tinklo paslaugas.
- +L1: Naudokite šį filtrą, kad gautumėte informaciją apie ištrintus failus.
- +p PID: Pateikia informaciją apie failus, kuriuos naudoja tam tikras PID.
- /path/file: Pateikia informaciją apie konkretų failą.
- -u [Vartotojas]: Sužinokite, kuris vartotojas naudoja kuriuos failus.
Kam naudojama Linux komanda „lsof“?
Baigdami, pateiksime keletą pavyzdžių, kaip ir kokiems tikslams naudojama „lsof“.
$ lsof -u rootbashTai leidžia peržiūrėti visus failus, kuriuos šiuo metu turi atidarytus vartotojas „root“.
$ lsof /mount/pathbashDažnai „lsof“ naudojama siekiant nustatyti programas, kurios trukdo vykdyti komandą „mount“. Šios užduoties neįmanoma atlikti, jei susiję failai vis dar yra atidaryti.
$ lsof -n -ibashŠi komanda leidžia peržiūrėti visus atvirus prievadus.