L’avantage de Linux est que vous pouvez facilement tout afficher et tout gérer, du processus de démarrage à l’installation des packages logiciels. Ici, nous discutons de la façon dont vous pouvez utiliser la commande lsof sous Linux pour afficher les fichiers ouverts et les processus qui les utilisent. Savoir comment afficher cela peut vous aider à comprendre le fonctionnement du système et même à prendre les mesures nécessaires pour des processus spécifiques.
Contenu
Commande Lsof
Pour afficher les fichiers ouverts et les utilisateurs ou processus qui en sont responsables, nous utilisons l’utilitaire lsof. Par défaut, lsof est pré-installé dans la plupart des distributions.
Cependant, si vous ne l’avez pas installé, vous pouvez utiliser le gestionnaire de packages pour l’installer sur votre système.
Debian/Ubuntu
Sur Debian, exécutez la commande :
Arche/Manjaro
Sur Manjaro et d’autres distributions basées sur Arch, utilisez pacman en exécutant la commande :
CentOS/REHL/Fedora
Pour CentOS et la famille REHL, vous pouvez utiliser dnf :
Utilisez la commande lsof pour répertorier les fichiers ouverts pour un processus Linux
Comme la plupart des commandes Linux, l’utilitaire lsof est incroyablement simple à utiliser. Commencez par taper la commande lsof :
Une fois que vous avez exécuté la commande ci-dessus, lsof devrait renvoyer des informations sur les fichiers ouverts dans le système.
Noter: si vous disposez des privilèges sudo, exécutez la commande avec sudo pour éviter les erreurs « autorisation refusée » sur des fichiers spécifiques.
Comme indiqué dans la sortie ci-dessus, la sortie lsof a les colonnes suivantes :
Maintenant que vous comprenez ce que représente le contenu de l’impression de la commande lsof, utilisons la commande pour filtrer des informations spécifiques.
Comment filtrer pour un processus spécifique
Pour filtrer uniquement les fichiers spécifiques ouverts par le processus spécifique, nous pouvons utiliser soit le nom du processus, soit la valeur PID.
Par exemple, pour afficher les fichiers utilisés par le processus firefox, nous pouvons utiliser la commande :
La commande affichera tous les fichiers ouverts par le processus firefox.
Pour filtrer par ID de processus, nous pouvons utiliser l’option -p et transmettre l’ID de processus. Vous pouvez utiliser la commande top pour obtenir l’ID de processus du processus cible.
Par exemple, pour obtenir le PID du processus firefox, nous pouvons utiliser la commande :
Une fois que vous avez le PID du processus cible, utilisez lsof pour afficher les fichiers ouverts :
La commande ci-dessus imprimera les fichiers ouverts par le processus avec le PID spécifié.
Comment filtrer pour un utilisateur spécifique
Pour afficher uniquement les fichiers ouverts par un utilisateur spécifique, nous pouvons utiliser le drapeau -u. Par exemple, pour filtrer l’utilisateur Debian, utilisez la commande :
Comment filtrer pour un fichier spécifique
Supposons que vous vouliez seulement connaître le processus et l’utilisateur qui a ouvert un fichier spécifique. Pour cela, passez le nom du fichier à lsof :
Ce qui précède ne filtrera que le fichier spécifique et renverra les informations associées, y compris l’utilisateur, l’ID de processus, etc.
Emballer
Dans ce didacticiel simple, nous avons expliqué comment interroger le système pour obtenir des informations sur les fichiers ouverts à l’aide de la commande lsof sous Linux. Voici quelques commandes supplémentaires pour vous permettre de lister le contenu d’un répertoire dans le terminal.
Cet article est-il utile ? Oui Non