Hogyan lehet fájlokat listázni és a rendszert elemezni a Linux lsof paranccsal
A Linux lsof eszköz lehetővé teszi a rendszer gyors figyelemmel kísérését és a problémák észlelését. Megjeleníti a megnyitott fájlok listáját, amelyet szűrők és opciók segítségével az Ön igényeihez igazíthat.
Mi az a Linux lsof?
A Linux rendszer figyelemmel kíséréséhez és elemzéséhez az lsof egy könnyen használható eszköz. A programot 1994-ben Vic Abell fejlesztette ki és tette közzé. Nyílt forráskódú, és számos Linux-disztribúció, például a Debian vagy az Ubuntu standard telepítésének része. Az lsof a „List open files” (nyitott fájlok listája) rövidítése. A program információkat nyújt a jelenleg nyitott vagy korábban futó folyamatok által megnyitott fájltípusokról. Ide tartoznak a szokásos fájlok, könyvtárak, aljzatok, meghajtók és portok. A program egy világos és áttekinthető listát nyújt a különböző folyamatokról és a hozzájuk tartozó fájlokról.
Hogyan működik a Linux lsof?
Ha az lsof nincs telepítve a rendszerén, egyszerűen telepítse a következő Linux parancs segítségével:
$ apt-get install lsofbashA Linux lsof telepítése után átfogó áttekintést kaphat a számítógépén futó aktív folyamatokról. Ez azért lehetséges, mert az Unix-szerű rendszerekben mindent fájlként kezelnek. Ennek eredményeként az lsof segítségével meghatározhatja, mely folyamatok férhetnek hozzá egy adott fájlhoz.
Hogyan néz ki az Isof szintaxis?
Szeretné használni az lsof parancsot? Ez a megfelelő parancs alapvető szintaxisa:
$ lsof [Option] <Format>bashBár az lsof parancs opciók és szűrők nélkül is használható, ez nem ajánlott. Az eredményül kapott kimenet ugyanis túl terjedelmes és nehezen értelmezhető lenne.
Milyen opciók és szűrők állnak rendelkezésre a Linux lsof parancsban?
Az lsof számos kimeneti opciót támogat. A legfontosabbak a következők:
- -F: Ez az opció biztosítja, hogy az összes eredmény egyetlen oszlopban jelenjen meg.
- -l: Ez az opció lehetővé teszi a név helyett a felhasználói azonosító megjelenítését.
- -n: Ezzel az opcióval a megfelelő IP-címek jelennek meg a gazdagépnevek helyett.
- -P: Ezzel a beállítással a szolgáltatásnevek helyett a portszámok jelennek meg.
- -r [x]: Ez az opció biztosítja, hogy a kimenet x másodpercenként újra végrehajtásra kerüljön.
- -t: Ezzel az opcióval csak a PID lista (Process Identifier) kerül kinyomtatásra.
Ezenkívül az lsof számos szűrési opciót ismer. A leggyakoribbak a következők:
- -a: Ez egy logikai AND művelet az OR művelet helyett; alapértelmezés szerint használatos.
- -c [Process]: Meghatározza, hogy melyik fájlt melyik folyamat használja.
- +D /file/user: Ez a szűrő információt nyújt egy adott könyvtárról és annak felhasználójáról.
- /dev/meghajtó: Ezzel a szűrővel ellenőrizhet egy adott meghajtót.
- -i [TCP/UDP vagy alternatív IP-cím vagy port]: Információt nyújt arról, hogy mely folyamatok használnak mely hálózati szolgáltatásokat.
- +L1: Ezzel a szűrővel törölt fájlokról kaphat információt.
- +p PID: Információt nyújt arról, hogy melyik PID használja a fájlokat.
- /path/file: Információkat nyújt egy adott fájlról.
- -u [Felhasználó]: Megmutatja, hogy melyik felhasználó melyik fájlt használja.
Mire használják a Linux lsof parancsot?
Befejezésül néhány példával bemutatjuk, hogyan és mire használják az lsof parancsot.
$ lsof -u rootbashEzzel megtekintheti az összes fájlt, amelyet a root jelenleg nyitva tart.
$ lsof /mount/pathbashAz lsof parancsot gyakran használják azoknak a programoknak az azonosítására, amelyek megakadályozzák a mount parancs végrehajtását. Ez a feladat nem hajtható végre, ha a kapcsolódó fájlok még mindig nyitva vannak.
$ lsof -n -ibashEz a parancs lehetővé teszi az összes nyitott port felsorolását.