Поиск приложений Fedora 30 MATE

/dev/fd — это не фиксированный каталог, а символическая ссылка, указывающая на каталог для каждого -процесса. В ваших двух вызовах lsвы перечисляете содержимое двух разных «каталогов».

Ваш первый вывод дает файловые дескрипторы, связанные с ls. Второй вывод дает файловые дескрипторы, связанные с bash. echoи exec, предшествующие спискам каталогов, не меняют этого.

Рассмотрим:

foo:~$ ls -ln /dev/fd/
total 0
lrwx------ 1 1000 1000 64 Jul 10 12:13 0 -> /dev/pts/19
lrwx------ 1 1000 1000 64 Jul 10 12:13 1 -> /dev/pts/19
lrwx------ 1 1000 1000 64 Jul 10 12:13 2 -> /dev/pts/19
lr-x------ 1 1000 1000 64 Jul 10 12:13 3 -> /proc/20115/fd
foo:~$ cat /dev/fd/../cmdline && echo
cat/dev/fd/../cmdline

foo:~$ cd /dev/fd ; ls -ln
total 0
lrwx------ 1 1000 1000 64 Jul  8 05:01 0 -> /dev/pts/19
lrwx------ 1 1000 1000 64 Jul  8 05:01 1 -> /dev/pts/19
lrwx------ 1 1000 1000 64 Jul  8 05:01 2 -> /dev/pts/19
lrwx------ 1 1000 1000 64 Jul  8 05:01 255 -> /dev/pts/19
foo:/dev/fd$ cat../cmdline && echo
bash
foo:/dev/fd$ pwd -P
/proc/2689/fd
0
22.08.2019, 00:23
0 ответов

Теги

Похожие вопросы