为什么“ls -l /bin”命令只显示 1 个文件?

为什么“ls -l /bin”命令只显示 1 个文件?

ls /bin命令显示了许多文件。我需要获取详细列表。但是该ls -l /bin命令仅显示 1 个文件。

请告诉我,出了什么问题?

答案1

没有什么是错的。

/bin是指向 的符号链接/usr/bin

当您使用该ls /bin命令时,将跟踪符号链接,并显示/usr/bin(符号链接指向的位置)的内容。

但是,使用该ls -l /bin命令时,不会跟踪符号链接,而只显示符号链接本身。

--dereference-command-line-symlink-to-dir可以在 ls texinfo 文档中的选项下找到原因(info lsinfo coreutils 'ls invocation'):

‘--dereference-command-line-symlink-to-dir’
     Do not dereference symbolic links, with one exception: if a command
     line argument specifies a symbolic link that refers to a directory,
     show information for that directory rather than for the link
     itself.  This is the default behavior when no other
     dereferencing-related option has been specified (‘--classify’
     (‘-F’), ‘--directory’ (‘-d’), (‘-l’), ‘--dereference’ (‘-L’), or
     ‘--dereference-command-line’ (‘-H’)).

在此背景下-l“其他与取消引用相关的选项”并关闭该行为。

如果您使用ls -lH /bin,您告诉命令专门跟踪符号链接,现在您(正确地)看到的内容/usr/bin

/bin作为一个符号链接,/usr/bin遵循用户合并该软件包于 2019 年在 Debian 10 中引入,并被 Ubuntu 的后续版本所采用。

相关内容