gpt4 book ai didi

unix - 将当前工作目录移动到新位置后的 pwd 输出

转载 作者:行者123 更新时间:2023-12-03 21:36:45 25 4
gpt4 key购买 nike

我有一个关于为什么会发生这种情况的一般性问题,以及对“pwd”的误解。

您从目录/test 开始,其中有/test/folder1。

文件夹 1 有:file1.txt

在 2 个单独的终端中,我们“cd/test”,然后执行“ls”并发现 folder1 作为这两个终端的输出。

我们现在在终端一上“cd folder1”。第二个终端保留在/test 中。

如果我们然后在终端 2 上运行“mv folder1 folder2”并运行“ls”,我们将得到 folder2 作为输出。清楚地表明我们的MV成功了。

但是,在终端 1(在/test/folder1 中)中,如果我们运行“pwd”,则输出仍为/test/folder1。即:它并不反射(reflect)我们已将文件夹移至/test/folder2。

为什么会这样?我可以理解为什么如果我们要编辑 file1.txt 它只是文件系统中应该指向同一个文件的指针。确实如此,您可以在每个终端中修改文件并在另一个终端中查看编辑。但是,为什么“pwd”命令不再反射(reflect)该目录的实际路径?

谢谢!

最佳答案

假设您正在使用 bash,pwd正在向您展示 PWD 的值(value)环境变量,当您使用 cd 更改目录时会更新该变量. folder1目录更改名称不会导致 bash 更新 PWD .但是,您可以找到目录已更改名称的证据:

  • pwd -P将显示目录的新名称。
  • ls -l /proc/self/cwd将链接到新名称。
  • 关于unix - 将当前工作目录移动到新位置后的 pwd 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181640/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com