我的主目录的这个副本来自哪里?

Gre*_*g L 1 directory-structure home

我正在做一个使用 Ubuntu 和 gphoto2 控制我的数码相机的项目。有一次,我注意到我的项目文件夹 /home/greg/project/~ 中有一个新的“~”目录。当我进入这个新的“~”目录时,它会将我带回到我的主目录 /home/greg/(如您所料)。

我不知道这是怎么发生的,但我怀疑当我在命令行上运行 gphoto2 并指定一个输出文件时,我输入了“~/filename.jpg”,希望该文件会出现在我的主目录中,但是相反,bash 在工作目录中放置了一个新的“~”目录。我不知道可以做这样的事情(如果是这样的话)。

比它如何到达那里更重要的是我应该如何摆脱它。我无法删除该目录,因为据我所知,它我的主目录。它似乎不是一个符号链接,(至少不是根据 ls -l),但我不确定这到底意味着什么。

der*_*ert 6

您需要引用它以保护它免受外壳扩展。

ls ~    # list your home directory
ls "~"  # list the directory named ~
ls \~   # list the directory named ~
Run Code Online (Sandbox Code Playgroud)

用同样的事rmrmdir等外壳改变~,以/home/greg将它传递给命令,除非你引用或逃避它。你可以看到这个echo

anthony@Zia:~$ echo ~
/home/anthony
anthony@Zia:~$ echo \~
~
Run Code Online (Sandbox Code Playgroud)

你要小心,因为这rm -Rf ~将是一场灾难。我建议如果有任何疑问,首先重命名它 ( mv -i \~ newname) 然后您可以检查newname以确保您要删除它,然后将其删除。