Comment puis-je dire à lsof que je dois répertorier uniquement les fichiers physiques (pas les sockets, pas les connexions TCP / IP, uniquement les fichiers physiques)?
Comment puis-je dire à lsof que je dois répertorier uniquement les fichiers physiques (pas les sockets, pas les connexions TCP / IP, uniquement les fichiers physiques)?
Réponses:
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 est tout sur un système de fichiers Linux. Juste testé et il montre seulement 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.
/
Il peut y avoir un commutateur, mais si cela ne vous dérange pas de le filtrer via grep, vous pouvez le faire sudo lsof | egrep 'REG|DIR'
, en supposant que par "fichiers physiques" vous voulez dire des fichiers et des répertoires normaux.
Voir la section OUTPUT :: TYPE de la page man lsof
de manuel pour tous les types qui pourraient être dans cette colonne.
C'est ce que j'ai fait qui a parfaitement fonctionné pour moi:
lsof -F n -p 12501 | grep ^n/ | cut -c2- | sort -u
L' -F n
option à le lsof
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 . Les fichiers normaux seront toujours le nom absolu et complet du fichier. Le grep ^n/
sélectionne uniquement les lignes dont le nom commence par a /
(ce qui signifie 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. Enfin, le sort -u
supprime 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 a /
. Par exemple, tous les fichiers commençant par ce qui suit seront inclus:
Et il peut y en avoir d'autres en fonction de votre système d'exploitation.