我有一个名为~kernel-ppa
inside 的文件夹~/Downloads
。
aditya@aditya-desktop:~$ cd Downloads/
aditya@aditya-desktop:~/Downloads$ ls
~kernel-ppa
现在,当我键入cd ~k
并按Tab以进行自动扩展时,尽管已存在具有相同起始字符的文件夹cd ~kernoops/
,cd ~kernel-ppa/
但外壳程序会将其扩展为。
为了使自动扩展正常工作,我需要使用对其进行转义\
。因此,使用cd \~k
并Tab正确按可以将其扩展为cd \~kernel-ppa/
。即使使用cd \
并按下Tab也能解决问题。
为什么会这样,为什么我需要逃脱?此外,由于~
自动扩展甚至不需要,我还能逃脱什么?
如果我按照流程运行cd ~kernoops/
并按Enter,则终端状态将更改为//
:
aditya@aditya-desktop:~/Downloads$ cd ~kernoops/
aditya@aditya-desktop://$ pwd
//
aditya@aditya-desktop://$ ls
bin cdrom etc initrd.img lost+found mnt proc run srv tmp var
boot dev home lib media opt root sbin sys usr vmlinuz
aditya@aditya-desktop://$
看起来像/
目录,但是pwd
说是//
。到底是什么
tree
或带的文件夹,ls
您会发现这恰好是第一个子文件夹。
~kernel-ppa
是其中唯一的文件夹;如果我只是跑步cd
并按Tab,它会扩展为cd \~kernel-ppa/
。我也不需要逃脱!