如何 cd 进入名为“.”的目录?

如何 cd 进入名为“.”的目录?

我正在通过 OverTheWire 寻找隐藏在服务器某处的密码。我执行 ls -a 来查看当前目录中的隐藏内容并收到以下输出:

.    ..    .bash_logout    .bashrc    .profile

我检查了文件类型.,它说它是一个目录:

bandit6@bandit: file ./.
./.: directory

然后我尝试cd进入这个目录,但没有成功,它接受了命令,但我只是留在同一个目录中。

我不确定语法是否错误,或者...目录是否分别引用当前目录和父目录。

抱歉,如果这是非常明显的,但我是命令行新手。

答案1

根据评论,.是您的本地目录。

主要用在需要指定目录的命令中,比如复制文件

cp /etc/hosts .

(它将复制/etc/hosts到本地目录。)当然cd .将保留在同一目录中,这在 shell 中很有用:

#!/bin/bash
# stuff before
cd "$1"
# other stuff after

您可以致电

my-bash /data/foo

或者

my-bash .

另一个罕见的用例是当前目录被另一个会话或进程重命名。然后,pwd返回旧目录名称。要更新它,只需执行cd ..

相关内容