更新

更新

我正在读一本2018年出版的书标题为“黑客的 Linux 基础知识:Kali 中的网络、脚本和安全入门”无淀粉压榨机

那里写的是,您可以使用相应数量的由空格分隔的双点来向上移动任意级别:

  • 您可以使用 .. 提升一级
  • 您可以使用 .. .. 来表示两个级别
  • 您可以使用 .. .. .. 向上移动三个级别,依此类推。

例如,要向上移动两级,请输入cd后跟两组双点,中间有一个空格。

这是书中的页面:

文字如上

那曾经有效吗? 2020 年它不起作用了。

答案1

这是书中的一个错误,出版商在本书“主页”的“更新”部分中解决了该错误(https://nostarch.com/linuxbasicsforhackers#updates):

更新

第7页

以下有关向上移动目录级别的文本不正确:

  • 您可以使用 .. 来升一级。
  • 您可以使用 .. .. 向上移动两个级别。
  • 您可以使用 .. .. .. 向上移动三个级别,依此类推。

这段文字应为:

  • 您可以使用 .. 来升一级。
  • 您可以使用 ../.. 向上移动两级。
  • 您可以使用 ../../.. 向上移动三个级别,依此类推。

勘误表没有提到您也引用的示例,该示例显示cd .. ..,但这显然也是错误的。

某些 shell 支持cd带有两个参数的命令,其中第二个参数替换当前工作目录的路径名中与第一个参数匹配的任何内容,并将结果路径名更改为。但是,由pwd和 in找到的当前目录的路径名$PWD不会包含..,即使包含,该cd .. ..命令也根本不会更改目录(考虑到我刚刚描述的语义)。

答案2

你的命令拼写错误。应该是cd ../..提升两级、cd ../../..提升三级等。

答案3

我认为这取决于外壳。我使用 zsh 和 oh-my-zsh(作为我的默认 shell)

举例说明

我进入~/miniconda3/bin并输入cd ......(没有任何空格),然后进入根目录。

当我切换到 bash 时,我需要输入cd ../../..才能转到根目录。

相关内容