为什么 'ls -a' 命令行工具不显示 '/etc' 目录

Why doesn't 'ls -a' command line tool show the '/etc' directory

这里是 noob 命令行用户...

我正在尝试设置 postGIS 数据库,但互联网告诉我需要进入服务器的 /etc 目录。这个目录确实存在并且我一直在其中,但是 ls -a 命令没有将 /etc 列为它的目录之一。

为什么不显示/etc? 作为额外的奖励 - ls -a 是否还有其他未列出的特殊情况?

听起来你的意思是 /etc 在你的文件系统的根目录下,这与你的服务器没有严格的关系。你可以用ls -a /.

看到它

如果您当前在一个目录中并且您确信 etc 在那里但只是没有出现在 ls 中,您可以通过尝试输入 [=] 来证明这一点14=](无斜线)。我很确定它不会起作用。

我只是觉得你脑子有问题。该目录称为 etc 而不是 /etc,当您使用 cd 时使用此“/”以指定这是您要转到的目录。所以如果你真的去你的终端并添加:

cd /
ls -a 

你会看到在a-b-c-d-之后会有一个不带/的etc目录

用过unix/linux的人都知道,当一个人引用/etc时,他们引用的是位于根目录(“/”)中的目录"etc"。让我们不要让寻求问题答案的人们感到困难。如果你不知道答案,就保持沉默。

就是说,再问一遍这个问题,不管当前在哪个目录,如果你在命令提示符下输入 "ls -la /etc",你应该会收到 etc 中的文件列表。它在 unix 中是这样工作的以及 linux。但是,在 OSX 中它只是 returns /etc/ -> private/etc.

您应该能够列出目录的内容,即使它是符号 link。为什么我必须输入 "ls -la /private/etc"?如果您使用的是实际目录路径,那么使用符号 link 的目的是什么?