/dev 目录包含系统设备。 /dev/stdin 是一个链接。它指向什么?

/dev 目录包含系统设备。 /dev/stdin 是一个链接。它指向什么?

我正在使用终端并stdin@在 /dev 中找到。这里有几个问题。

1) 末尾带有 @ 符号的项目意味着/建议什么?什么时候使用?

2)正如问题所暗示的,它是一个链接。我可以使用什么命令来弄清楚 this 指向什么?

答案1

  1. 表示@符号链接。您可能是(和附加标志)ls的别名。ls -F如果您取消别名ls或显式执行,/bin/ls您将看不到文件类型修饰。
  2. 执行ls -l /dev/stdin以查看符号链接的目标。
  3. 在 Linux 上,/dev/stdin链接到/proc/self/fd/0(/dev/stdin是链接到/dev/fd/0/dev/fd是链接到/proc/self/fd)。/proc/self是一个目录进程文件系统其中内核公开有关调用进程的信息(即每个进程在读取时获取有关其自身的信息/proc/self)。该子目录fd包含每个条目打开文件描述符在进程中,这是一个(有点神奇的)符号链接,指向进程已打开的文件。

相关内容