为什么下面的Linux目录有效

Why is the following Linux directory valid

我是 Linux 新手,我正在使用一些 C++ 代码打开以下目录中的文件:

home/scs/SCS/

当我从终端 运行 printenv HOME 时,我在 Linux 中的主目录设置为 "home/scs":

现在,打开终端并从 "home" 连接 运行,如果 cd SCS 有效:

那么,在我的屏幕截图中,我的终端当前是否指向 home/scs/SCS 我不这么认为。

令人困惑的是,如果我们使用 Ubuntu 文件资源管理器,则主目录只是 /home:

如果导航到 SCS 目录,它只是 /home/scs:

因此,在我的 C++ 代码中,值 /home/scs/SCS 是有效的并且在整个代码中使用,在 C++ 中它是 "built" 使用以下代码:

#define SCS_HOME    "/home/scs/"   // Target Machine.
#define PATH_TO_SCS QString(SCS_HOME) + "SCS/"

/home/scs/SCS/如何工作?从我的角度来看,该目录不存在,但它在 C++ 代码中肯定是有效的。

So, my terminal, in my screenshots, is it currently pointing at home/scs/SCS ? I don't think so.

为什么不呢?该目录在ls的输出中列出得很清楚,您甚至更改了它。

What is confusing is that if we use the Ubuntu file explorer the home directory is just /home

不,对话框说您的主目录(称为 /home/scs)的位置是 /home/。您的主目录是 in /home/;那就是它的位置。是/home/scs.

If navigate to the SCS directory it is just /home/scs.

对,同理,SCS目录在/home/scs/里面。这就是它的位置。

这是您的目录结构:

/
+--- home
|      +--- scs
|      |     +--- SCS

令人困惑的是,您创建了一个名为 scs 的用户帐户,主目录为 /home/scs,然后将一个名为 [=19] 的目录放入=] 在里面。目录名称似乎不正确。

您的 C++ 代码是否无法正确访问目录“/home/scs/SCS/”?或者您还有其他实际问题吗?

我看起来像 "SCS exists and is in the correct place.. Your file browsing tool is showing "SCS" 在你的主目录中(弹出窗口说它被命名为 "scs" 并且在 "/home" 下)

当 shell 表示“~”时,这是您的主目录的缩写,当然是“/home/scs”。

全部匹配。