GNU/Linux >> Linux Esercitazione >  >> Linux

lsof - limita l'output solo ai file fisici - come?

Soluzione 1:

Ho appena esaminato alcune pagine man, sembra che tu usi il comando:

sudo lsof /

Questo elencherà tutti i file aperti nella directory /, che è tutto su un filesystem Linux. Appena testato e mostra solo REG e DIR.

Altri esempi:

lsof -a -d 0-999 -c <command name> /
lsof -a -d 0-999 -p <pid> /

0-999 lo limita ai file con un numero descrittore di file.

Soluzione 2:

Potrebbe esserci un interruttore, ma se non ti dispiace filtrarlo tramite grep, potresti fare sudo lsof | egrep 'REG|DIR' , supponendo che per "file fisici" si intendano file e directory normali.

Vedere la sezione OUTPUT ::TYPE della pagina man man lsof per tutti i tipi che potrebbero essere in quella colonna.

Soluzione 3:

Questo è quello che ho fatto e che ha funzionato perfettamente per me:

lsof -F n -p 12501 | grep ^n/ | cut -c2- | sort -u

Il -F n opzione a lsof farà stampare solo i nomi dei file aperti. Ogni riga di output che ha il nome di un file aperto inizierà con il singolo carattere n seguito immediatamente dal nome . Normale files sarà sempre il nome assoluto e completo del file. Il grep ^n/ selezionerà solo le righe il cui nome inizia con / (ovvero un nome di file assoluto e completo); eliminando così cose come porte aperte, socket, pipe (come FIFO), ecc. Il cut -c2- eliminerà il primo carattere, il n , lasciando solo il nome del file. Poi finalmente, sort -u eliminerà qualsiasi voce duplicata.

Un avvertimento, questo includerà i file che non sono regolari purché il loro nome inizi con / . Ad esempio, verranno inclusi tutti i file che iniziano con quanto segue:

  • /dev
  • /proc
  • /sys

E potrebbero essercene altri a seconda del tuo sistema operativo.


Linux
  1. Come ordinare l'output per dimensione?

  2. Come inserire una directory il cui nome è solo un meno?

  3. Come ottenere solo i file creati dopo un appuntamento con Ls?

  4. Comando Linux:come "trovare" solo file di testo?

  5. Come ottenere solo il nome del file con Linux "trova"?

Come trovare file in Linux

Scripting Bash:come scrivere dati su file di testo

Come stampare il nome dei file mancanti in una cartella?

Come creare solo directory di output dell'albero?

Procedura:Utilizzo di lsof – 10 comandi essenziali per risolvere i problemi del server Linux

Come può sembrare che un processo abbia un nome diverso nell'output di ps?