Dans le système Linux, la commande la plus populaire est LSOF, abrégée pour la liste des fichiers ouverts. Cette commande affiche les informations sur les fichiers ouverts sur votre système. Dans d'autres mots simples, nous pouvons expliquer que la commande LSOF fournit des informations sur les fichiers qui sont ouverts par quel processus. Il répertorie simplement les fichiers ouverts de la console de sortie. Il répertorie le répertoire, la bibliothèque partagée, le fichier spécial de bloc, un tuyau régulier, une prise Internet, un fichier spécial de caractère, une prise de domaine Unix et plus d'autres. La commande LSOF peut être utilisée pour se combiner avec la commande grep pour effectuer des fonctionnalités plus avancées pour la liste et la recherche.
Cet article vous donnera une compréhension de base de la commande LSOF. De plus, vous explorerez comment utiliser cette commande dans l'environnement Linux.
Conditions préalables
Vous devez vous connecter en tant qu'utilisateur root sur votre système ou avoir des privilés de commande sudo.
Nous avons effectué toute tâche sur Ubuntu 20.04 Système, qui est mentionné ci-dessous:
Liste des fichiers ouverts à l'aide de la commande LSOF
Vous pouvez répertorier tous les fichiers ouverts avec une description complète en utilisant la commande LSOF.
# lsof
Par exemple, ici, nous avons répertorié quelques fichiers ouverts pour votre meilleure compréhension. Dans la capture d'écran ci-dessous, vous verrez les informations sous forme de colonnes comme la commande, le PID, l'utilisateur, la FD, le type, etc.
Expliquons chaque terme un par un. Dans la première colonne, vous verrez la commande est utilisée pour le nom de commande. PID montre l'ID de processus. Sous la colonne nommée utilisateur, vous verrez le type de rôle ou le nom de l'utilisateur. Les valeurs ci-dessus sur l'image sont explicites. Cependant, nous passerons en revue les colonnes Type et FD.
FD est utilisé pour un descripteur de fichiers qui a certaines valeurs comme:
La colonne de type contient tous les fichiers et identifications à l'aide de mots clés. Dir signifie répertoire. Reg représente le fichier ordinaire. Chr est utilisé pour les fichiers spéciaux de caractère. FIFO signifie d'abord en premier.
Répertoriez des fichiers spécifiques à l'utilisateur à l'aide de la commande LSOF
Par exemple, si nous voulons répertorier tous les fichiers ouverts du nom d'utilisateur KBuzdar, en utilisant la commande suivante, vous pouvez le faire:
$ sudo lsof -u kbuzdar
Processus de recherche travaillant sur un port spécifique
Vous pouvez rechercher ces fichiers ou traiter ceux qui s'exécutent sur un numéro de port spécifique. À cette fin, il vous suffit d'utiliser la commande suivante avec l'option -i et de saisir un numéro de port spécifique.
# lsof -i tcp: 22
Si vous souhaitez répertorier tous les fichiers ouverts en cours d'exécution de processus de port TCP qui varie entre 1 et 1024, exécutez la commande mentionnée ci-dessous:
# lsof -i tcp: 1-1024
Affichez les fichiers ouverts uniquement pour IPv4 et IPv6
Par exemple, vous souhaitez afficher uniquement les fichiers réseau IPv4 et IPv6. Exécutez la commande suivante pour ouvrir des fichiers pour IPv4 dans la fenêtre du terminal:
# lsof -i 4
Pour IPv6, utilisez la commande suivante:
# lsof -i 6
Afficher les fichiers en excluant les utilisateurs spécifiques
Si vous souhaitez exclure un utilisateur racine, vous pouvez exclure un utilisateur racine en utilisant le caractère '^' avec la commande qui est indiqué dans la capture d'écran ci-dessous:
# lsof -i -u ^ racine
Vous pouvez exclure un utilisateur spécifique en utilisant son nom.
# lsof -i -u ^ kbuzdar
Afficher toutes les connexions réseau à l'aide de la commande LSOF
Tapez la commande LSOF suivante avec l'option -i pour afficher la liste de toutes les connexions réseau:
# lsof -i
Processus de recherche par PID
Dans l'exemple suivant, seuls les fichiers ou les processus dont le PID est 2 [deux].
# lsof -p 2
Tuez des activités utilisateur particulières
Parfois, vous pouvez avoir besoin de processus utilisateur spécifiques. Dans ce cas, en exécutant la commande suivante, vous pouvez tuer tous les processus de l'utilisateur «kbuzdar».
# kill -9 'lsof -t -u kbuzdar'
Conclusion
Dans cet article, nous avons vu comment utiliser la commande LSOF sur le système Linux. Nous avons mis en œuvre différents exemples pour une meilleure compréhension de la commande LSOF. Il n'est pas possible d'élaborer toutes les options disponibles, mais vous pouvez explorer la page Man de la commande LSOF pour en savoir plus sur cette commande. Partagez avec nous vos commentaires via des commentaires.