I Linux -systemet er den mest populære kommandoen LSOF, forkortet for liste over åpen fil. Denne kommandoen viser informasjonen om filene som er åpnet på systemet ditt. Med andre enkle ord kan vi forklare at LSOF -kommandoen gir informasjon om filene som åpnes etter hvilken prosess. Den lister ganske enkelt ned de åpne filene på utgangskonsollen. Den viser katalog, delt bibliotek, blokkerer spesialfil, vanlig rør, en internettkontakt, karakterspesialfil, UNIX -domeneuttak og flere andre. LSOF -kommando kan brukes til å kombinere med GREP -kommandoen for å gjøre mer avanserte funksjoner for oppføring og søk.
Denne artikkelen vil gi deg en grunnleggende forståelse av LSOF -kommandoen. Dessuten vil du utforske hvordan du bruker denne kommandoen i Linux -miljøet.
Forutsetninger
Du må logge inn som en rotbruker på systemet ditt eller må ha sudo -kommando -privillag.
Vi har utført all oppgave på Ubuntu 20.04 System, som er nevnt nedenfor:
Liste opp åpne filer ved hjelp av LSOF -kommandoen
Du kan liste opp alle åpnede filer med en komplett beskrivelse ved hjelp av LSOF -kommandoen.
# LSOF
For eksempel har vi her listet opp noen åpne filer for din bedre forståelse. I skjermbildet nedenfor vil du se informasjonen i form av kolonner som kommando, PID, bruker, FD, type, etc.
La oss forklare hvert begrep en etter en. I den første kolonnen vil du se kommandoen brukes til kommandonavnet. PID viser prosess -ID. Under kolonnen som heter bruker, vil du se brukerrollen eller navnet. De ovennevnte verdiene i bildet er selvforklarende. Vi vil imidlertid gjennomgå typen og FD -kolonnene.
FD brukes til en filbeskrivelse som har noen verdier som:
Type -kolonnen inneholder alle filer og identifikasjoner ved hjelp av nøkkelord. Dir betyr katalog. Reg representerer den vanlige filen. CHR brukes til spesielle filer. FIFO betyr først inn først ut.
Liste brukerspesifikke filer ved hjelp av LSOF-kommandoen
Hvis vi for eksempel vil liste opp alle åpnede filer med brukernavn Kbuzdar, kan du ved å bruke følgende kommando gjøre dette:
$ sudo lsof -u kbuzdar
Søkeprosesser som jobber med en bestemt port
Du kan søke i filene eller prosessene de som kjører på et bestemt portnummer. For dette formålet trenger du bare å bruke følgende kommando med -i -alternativet og angi et bestemt portnummer.
# lsof -i tcp: 22
Hvis du vil liste opp alle åpne filer som kjører prosesser av TCP-port som varierer mellom 1-1024, må du utføre den nedenfor-nevnte kommandoen:
# LSOF -I TCP: 1-1024
Vis åpne filer bare for IPv4 og IPv6
For eksempel vil du bare vise IPv4 og IPv6 nettverksfiler. Kjør følgende kommando for å åpne filer for IPv4 i terminalvinduet:
# lsof -i 4
For IPv6, bruk følgende kommando:
# lsof -i 6
Vis filer ved å ekskludere spesifikke brukere
Hvis du vil ekskludere en rotbruker da, kan du ekskludere en rotbruker ved å bruke '^' -tegnet med kommandoen som vises i skjermbildet nedenfor:
# lsof -i -u^root
Du kan ekskludere en bestemt bruker ved å bruke navnet deres.
# lsof -i -u^kbuzdar
Vis alle nettverkstilkoblinger ved hjelp av LSOF -kommandoen
Skriv inn følgende LSOF -kommando med alternativ -i for å vise listen over alle nettverkstilkoblinger:
# lsof -i
Søkeprosess av PID
I det følgende eksemplet viser bare filene eller prosessene hvis PID er 2 [to].
# lsof -p 2
Drep bestemte brukeraktiviteter
Noen ganger kan det hende du trenger spesifikke brukerprosesser. I dette tilfellet, ved å utføre følgende kommando, kan du drepe alle prosessene til 'Kbuzdar' bruker.
# Kill -9 'lsof -t -u kbuzdar'
Konklusjon
I denne artikkelen har vi sett hvordan du bruker LSOF -kommandoen på Linux -systemet. Vi har implementert forskjellige eksempler for en bedre forståelse av LSOF -kommandoen. Det er ikke mulig å utdype alle tilgjengelige alternativer, men du kan utforske Man -siden til LSOF -kommandoen for å få mer om denne kommandoen. Del med oss dine tilbakemeldinger via kommentarer.