GNU/Linux >> Tutoriels Linux >  >> Linux

lsof - limiter la sortie aux fichiers physiques uniquement - comment ?

Solution 1 :

Je viens de parcourir quelques pages de manuel, il semble que vous utilisiez la commande :

sudo lsof /

Cela listera tous les fichiers ouverts dans le répertoire / , qui contient tout sur un système de fichiers Linux. Je viens de tester et il n'affiche que REG et DIR.

Plus d'exemples :

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

0-999 le limite aux fichiers avec un numéro de descripteur de fichier.

Solution 2 :

Il peut y avoir un commutateur, mais si cela ne vous dérange pas de le filtrer via grep, vous pouvez faire sudo lsof | egrep 'REG|DIR' , en supposant que par "fichiers physiques", vous entendez des fichiers et des répertoires normaux.

Voir la section OUTPUT ::TYPE de la page de manuel man lsof pour tous les types qui pourraient être dans cette colonne.

Solution 3 :

Voici ce que j'ai fait qui a parfaitement fonctionné pour moi :

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

Le -F n option à lsof le fera imprimer uniquement les noms des fichiers ouverts. Chaque ligne de sortie portant le nom d'un fichier ouvert commencera par le seul caractère n suivi immédiatement du nom . Normal files sera toujours le nom absolu et complet du fichier. Le grep ^n/ sélectionnera uniquement les lignes dont le nom commence par / (c'est-à-dire un nom de fichier absolu et complet) ; éliminant ainsi des choses comme les ports ouverts, les sockets, les tuyaux (comme les FIFO), etc. Le cut -c2- éliminera le premier caractère, le n , ne laissant que le nom du fichier. Puis enfin, le sort -u éliminera toutes les entrées en double.

Une mise en garde, cela inclura les fichiers qui ne sont pas réguliers tant que leur nom commence par un / . Par exemple, tous les fichiers commençant par ce qui suit seraient inclus :

  • /dev
  • /proc
  • /sys

Et il peut y en avoir d'autres selon votre système d'exploitation.


Linux
  1. Comment trier la sortie par taille ?

  2. Comment entrer dans un répertoire dont le nom n'est qu'un moins ?

  3. Comment créer des répertoires de sortie arborescente uniquement ?

  4. Comment différencier un répertoire uniquement pour les fichiers d'un type spécifique ?

  5. Commande Linux :Comment "trouver" uniquement des fichiers texte ?

Comment trouver des fichiers sous Linux

Script bash :comment écrire des données dans des fichiers texte

Comment imprimer le nom des fichiers manquants dans un dossier ?

Comment obtenir uniquement les fichiers créés après une date avec Ls ?

Comment :utiliser lsof - 10 commandes essentielles pour dépanner votre serveur Linux

Comment restreindre un utilisateur SSH pour autoriser uniquement le tunnel SSH ?