我正在通过 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 .
.