理论上这应该是多余的,因为它更改为当前工作目录。无论如何,在实践中是否有任何场景可以使用此命令?
答案1
我立即想到至少两个cd .
有用的案例:
更新当前目录的inode号
让我们说在1号航站楼你在某个目录和另一个目录中航站楼2您删除该目录并创建与已删除目录同名的新目录。然后能够在该目录中执行任何有用的操作(例如创建文件)终端1您可以执行
cd .
以下操作来更新此目录的索引节点号。物理解析目录
如果目录名称是符号链接,则可以
cd -P .
物理解析链接组件。该功能直接来自 POSIX。是的,这需要-P
选项,所以它不是裸露的cd .
,但仍然......
答案2
还有另一个小影响,它设置了$OLDPWD
。
当您启动新终端直到cd
到达某个地方时,该变量应该为空。
我能想到一种可能的用法,它可能不是很有用(而且有点天真),但它是:
cd -
导航到$OLDPWD
,因此您可以结合使用 来cd .
在某些操作后前后导航到同一目录:
cd .; for i in {1..100}; do cd -;mkdir "d$i"; cd "d$i"; touch a; done
这不是我在脚本中做的事情,但可能直接在命令行或一些代码高尔夫中做...
答案3
虽然cd .
本质上是一个空操作,但我可以看到一种pushd .
可能相关的情况。
此外,在以交互方式、过程方式或从参数指定目标目录的脚本中,命令如下:
cd $destinationpath
可以评估为
cd .
变量应该这样分配吗?
答案4
如果您想使用 CMD 创建空文件,它也非常有用。只需使用这个技巧:
cd . > filename.ext