GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lister les descripteurs de fichiers ouverts (et les fichiers auxquels ils se réfèrent) dans ma session bash actuelle

Oui, cela listera tous les descripteurs de fichiers ouverts :

$ ls -la /proc/$$/fd
total 0
dr-x------ 2 isaac isaac  0 Dec 28 00:56 .
dr-xr-xr-x 9 isaac isaac  0 Dec 28 00:56 ..
lrwx------ 1 isaac isaac 64 Dec 28 00:56 0 -> /dev/pts/6
lrwx------ 1 isaac isaac 64 Dec 28 00:56 1 -> /dev/pts/6
lrwx------ 1 isaac isaac 64 Dec 28 00:56 2 -> /dev/pts/6
lrwx------ 1 isaac isaac 64 Dec 28 00:56 255 -> /dev/pts/6
l-wx------ 1 isaac isaac 64 Dec 28 00:56 4 -> /home/isaac/testfile.txt

Bien sûr, comme d'habitude :0 est stdin, 1 est stdout et 2 est stderr.
Le 4ème est un fichier ouvert (à écrire) dans ce cas.


En supposant que vous souhaitiez répertorier les descripteurs de fichiers attachés à n'importe quel terminal, vous pouvez utiliser lsof /fuser ou similaire comme :

$ lsof -p $$ 2>/dev/null | awk '$NF ~ /\/pts\//'
bash    32406 foobar    0u   CHR 136,31      0t0      34 /dev/pts/31
bash    32406 foobar    1u   CHR 136,31      0t0      34 /dev/pts/31
bash    32406 foobar    2u   CHR 136,31      0t0      34 /dev/pts/31
bash    32406 foobar    3u   CHR 136,31      0t0      34 /dev/pts/31
bash    32406 foobar  255u   CHR 136,31      0t0      34 /dev/pts/31

Ces outils analysent essentiellement /proc , vous pouvez donc simplement accéder à /proc/$$/fd/ aussi par exemple :

ls /proc/$$/fd/*

lsof -a -p $$

Réseau fd uniquement :

lsof -i -a -p $$

Linux
  1. Comment extraire les fichiers .gz et .tar.gz sous Linux

  2. La fête ?

  3. La sortie de la commande `tty` et le fichier `/dev/tty` font-ils tous deux référence au terminal de contrôle du processus Bash actuel ?

  4. Comment personnaliser Bash Autocomplete pour lister les fichiers dans un autre répertoire ?

  5. Comment obtenir le répertoire absolu d'un fichier dans bash ?

Comment lire des fichiers ligne par ligne dans Bash

Commande Ls sous Linux (liste des fichiers et des répertoires)

Comment utiliser la commande Linux ftp pour charger et télécharger des fichiers sur le shell

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment ouvrir des fichiers et des dossiers en tant qu'administrateur dans Nautilus File Manager sous Linux

Comment rechercher des fichiers avec des dizaines de critères avec la commande Bash Find