Kuinka luetteloida tiedostoja ja analysoida järjestelmääsi Linuxin lsof-komennolla
Linux-työkalu lsof mahdollistaa järjestelmän nopean valvonnan ja ongelmien havaitsemisen. Se tarjoaa luettelon avoimista tiedostoista, ja sen avulla voit optimoida sen omiin tarpeisiisi suodattimien ja asetusten avulla.
Mikä on Linuxin lsof?
Linux-järjestelmän seurantaan ja analysointiin lsof on helppokäyttöinen työkalu. Vic Abellin vuonna 1994 kehittämä ja julkaisema ohjelma on avoimen lähdekoodin ohjelmisto ja kuuluu monien Linux-jakelujen, kuten Debianin tai Ubuntun, vakiotoimituksiin. lsof on lyhenne sanoista ”List open files”. Ohjelma tarjoaa tietoa tiedostotyypeistä, jotka ovat tällä hetkellä auki tai jotka on aiemmin avattu käynnissä olevien prosessien toimesta. Tähän kuuluvat tavalliset tiedostot, hakemistot, socketit, asemat ja portit. Se esittää selkeän ja järjestetyn luettelon eri prosesseista ja niihin liittyvistä tiedostoista.
Miten Linuxin lsof-komento toimii?
Jos lsof-ohjelmaa ei ole järjestelmässäsi, asenna se seuraavalla Linux-komennolla:
$ apt-get install lsofbashKun Linux-ohjelma lsof on asennettu, sen avulla saat kattavan yleiskuvan tietokoneesi käynnissä olevista prosesseista. Tämä on mahdollista, koska Unix-tyyppisissä järjestelmissä kaikkea käsitellään tiedostoina. Näin ollen voit lsof-ohjelman avulla selvittää, mitkä prosessit pääsevät käsiksi tiettyyn tiedostoon.
Miltä Isof-syntaksi näyttää?
Haluatko käyttää lsof-komentoa? Tässä on kyseisen komennon perusmuoto:
$ lsof [Option] <Format>bashVaikka lsof-komentoa voi käyttää ilman parametreja tai suodattimia, sitä ei suositella. Tulostus olisi tällöin erittäin laaja ja vaikeasti tulkittava.
Mitkä vaihtoehdot ja suodattimet ovat käytettävissä Linuxin lsof-komennolla?
lsof tukee lukuisia tulostusvaihtoehtoja. Tärkeimmät niistä ovat:
- -F: Tämä vaihtoehto varmistaa, että kaikki tulokset tulostetaan yhtenä sarakkeena.
- -l: Tämän vaihtoehdon avulla voit näyttää käyttäjätunnuksen nimen sijaan.
- -n: Tämän vaihtoehdon avulla tulostetaan vastaavat IP-osoitteet isäntänimien sijaan.
- -P: Tällä vaihtoehdolla näytetään palvelunimien sijaan porttinumerot.
- -r [x]: Tämä vaihtoehto varmistaa, että tuloste suoritetaan uudelleen joka x sekunti.
- -t: Tällä vaihtoehdolla tulostetaan vain PID-lista (prosessitunniste).
Lisäksi lsof-komennolla on lukuisia suodatinvaihtoehtoja. Yleisimmät niistä ovat:
- -a: Tämä on looginen JA-operaatio OR-operaation sijaan; sitä käytetään oletuksena.
- -c [Prosessi]: Selvittää, mikä tiedosto on minkä prosessin käytössä.
- +D /file/user: Tämä suodatin antaa tietoja tietystä hakemistosta ja sen käyttäjästä.
- /dev/asema: Käytä tätä suodatinta tarkistaaksesi tietyn aseman.
- -i [TCP/UDP tai vaihtoehtoinen IP-osoite tai portti]: Antaa tietoja siitä, mitkä prosessit käyttävät mitäkin verkkopalveluita.
- +L1: Käytä tätä suodatinta saadaksesi tietoja poistetuista tiedostoista.
- +p PID: Antaa tietoja siitä, mitkä tiedostot ovat minkäkin PID:n käytössä.
- /path/file: Antaa tietoja tietystä tiedostosta.
- -u [Käyttäjä]: Selvittää, mikä käyttäjä käyttää mitäkin tiedostoja.
Mihin Linuxin lsof-komentoa käytetään?
Lopuksi esittelemme muutaman esimerkin avulla, miten ja mihin lsof-komentoa käytetään.
$ lsof -u rootbashTämän avulla voit tarkastella kaikkia tiedostoja, jotka root-käyttäjällä on tällä hetkellä auki.
$ lsof /mount/pathbashUsein lsof-komentoa käytetään tunnistamaan ohjelmat, jotka estävät mount-komennon suorittamisen. Tätä tehtävää ei voida suorittaa, jos asiaan liittyvät tiedostot ovat edelleen auki.
$ lsof -n -ibashTällä komennolla voit luetella kaikki avoimet portit.