Linux Bash – How to List Open File Descriptors in Current Session

bashfile-descriptorslinuxopen files

I am running in an interactive bash session. I have created some file descriptors, using exec, and I would like to list what is the current status of my bash session.

Is there a way to list the currently open file descriptors?

Best Answer

Yes, this will list all open file descriptors:

$ 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

Of course, as usual: 0 is stdin, 1 is stdout and 2 is stderr.
The 4th is an open file (to write) in this case.

Related Question