A Linux rendszerben a legnépszerűbb parancs az LSOF, rövidítve: List Of Open File. Ez a parancs megmutatja a rendszeren megnyitott fájlok adatait. Más szavakkal megmagyarázhatjuk, hogy az LSOF parancs információt nyújt az egyes folyamatokkal megnyitott fájlokról. Egyszerűen felsorolja a nyitott fájlokat a kimeneti konzolon. Felsorolja a könyvtárat, a megosztott könyvtárat, a blokkoló speciális fájlt, a normál pipát, az internetes foglalatot, a karakteres speciális fájlt, a Unix tartományi foglalatot és még sok mást. A Lsof paranccsal a grep paranccsal kombinálva fejlettebb funkciókat lehet elérni a felsoroláshoz és a kereséshez.
Ez a cikk alapvető ismereteket nyújt az LSOF parancsról. Ezenkívül meg fogja vizsgálni, hogyan lehet ezt a parancsot Linux környezetben használni.
Előfeltételek
Gyökérfelhasználóként kell bejelentkeznie a rendszerére, vagy sudo parancsok privilageivel kell rendelkeznie.
Minden feladatot elvégeztünk az Ubuntu 20-on.04 rendszer, amelyet az alábbiakban említünk:
Sorolja fel a megnyitott fájlokat az LSOF paranccsal
Az összes megnyitott fájlt teljes leírással listázhatja az LSOF paranccsal.
# lsof
Például itt felsoroltunk néhány nyitott fájlt a jobb megértés érdekében. Az alábbi képernyőképen az információkat olyan oszlopok formájában láthatja, mint a Parancs, PID, FELHASZNÁLÓ, FD, TÍPUS stb.
Magyarázzuk meg az egyes kifejezéseket egyenként. Az első oszlopban látni fogja, hogy A parancsot a parancs nevéhez használják. A PID a folyamat azonosítóját mutatja. A USER nevű oszlop alatt láthatja a felhasználói szerepkör típusát vagy nevét. A képen a fenti értékek önmagukban értendők. Áttekintjük azonban a TÍPUS és FD oszlopokat.
Az FD-t egy fájlleíróhoz használják, amelynek néhány értéke van:
- cwd - Az aktuális munkakönyvtárat képviseli.
- rtd - Megmutatja a gyökérkönyvtárat
- txt - Programkódhoz és szöveges adatokhoz használják
- mem - Memória-leképezett fájlokhoz használják
- 1u - fájlleíró u olvasási és írási módhoz, w írási módhoz és r olvasási módhoz.
A TÍPUS oszlop tartalmazza az összes fájlt és azonosítást kulcsszavakkal. A DIR könyvtárat jelent. A REG a szokásos fájlt jelenti. A CHR karakteres speciális fájlokhoz használható. A FIFO azt jelenti, hogy First In First Out.
Sorolja fel a felhasználóspecifikus fájlokat az LSOF paranccsal
Például, ha fel akarjuk sorolni a kbuzdar felhasználónév összes megnyitott fájlját, akkor a következő paranccsal ezt megteheti:
$ sudo lsof -u kbuzdar
Egy adott porton működő keresési folyamatok
Kereshet ezekben a fájlokban, vagy feldolgozhatja azokat, amelyek egy adott portszámon futnak. Ehhez csak a következő parancsot kell használnia az -i opcióval, és meg kell adnia egy adott portszámot.
# lsof -i TCP: 22Ha fel akarja sorolni az összes megnyitott fájlt, amelyek a TCP Port 1-1024 közötti tartományban futnak, akkor hajtsa végre az alábbi parancsot:
# lsof -i TCP: 1-1024Megnyitott fájlok megjelenítése csak IPv4 és IPv6 esetén
Például csak IPv4 és IPv6 hálózati fájlokat szeretne megjeleníteni. Futtassa a következő parancsot az IPV4 fájljainak megnyitásához a terminál ablakában:
# lsof -i 4IPV6 esetén használja a következő parancsot:
# lsof -i 6Fájlok megjelenítése meghatározott felhasználók kizárásával
Ha ki akar zárni egy gyökér felhasználót, kizárhatja a gyökér felhasználót a '^' karakter használatával az alábbi képernyőképen látható paranccsal:
# lsof -i -u ^ gyökér
Kizárhat egy adott felhasználót a nevének használatával.
Az összes hálózati kapcsolat megjelenítése az lsof paranccsal
Írja be a következő lsof parancsot az -i opcióval az összes hálózati kapcsolat listájának megjelenítéséhez:
# lsof -i
Keresési folyamat PID szerint
A következő példában csak azokat a fájlokat vagy folyamatokat mutatjuk be, amelyek PID értéke 2 [kettő].
# lsof -p 2
Öld meg a felhasználói tevékenységeket
Néha szükség lehet speciális felhasználói folyamatokra. Ebben az esetben a következő parancs végrehajtásával megölheti a 'kbuzdar' felhasználó összes folyamatát.
# kill -9 'lsof -t -u kbuzdar'
Következtetés
Ebben a cikkben azt láttuk, hogyan kell használni az lsof parancsot a Linux rendszeren. Különböző példákat hajtottunk végre az lsof parancs jobb megértése érdekében. Nem lehet részletezni az összes rendelkezésre álló lehetőséget, de felfedezheti az lsof parancs man oldalát, hogy többet megtudjon erről a parancsról. Ossza meg velünk visszajelzéseit megjegyzésekkel.