Comment utiliser la commande LSOF dans Linux

Comment utiliser la commande LSOF dans Linux
Dans l'environnement Linux, tout est considéré comme un fichier et géré dans des dossiers ou des répertoires. Ainsi, tout en travaillant sur le système d'exploitation Linux, il peut y avoir des nombres de dossiers et de fichiers utilisés; Certains d'entre eux seraient visibles pour les utilisateurs, et d'autres peuvent être cachés. Ainsi, la gestion des fichiers est très importante dans les distributions Linux / Unix.

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:

  • CWD - Représente le répertoire de travail actuel.
  • RTD - Montre le répertoire racine
  • SMS - Utilisé pour le code du programme et les données de texte
  • mem - Utilisé pour le fichier mappé de mémoire
  • 1U - Descripteur de fichiers U pour le mode de lecture et d'écriture, W pour le mode d'écriture, et R utilisé pour le mode de lecture.

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.