关于名称为"."的特殊文件夹的查看、进入及删除问题
关于名称为"."的特殊文件夹的查看、进入及删除问题
遇到这种命名为.的文件夹确实挺头疼的——在Unix/Linux系统里,.和..是系统预留的特殊目录标识(分别代表当前目录和父目录),不管是shell还是GUI文件管理器,都会默认把它们当成系统特殊项处理,而非普通文件夹。下面针对你的三个问题逐一解决:
一、如何在GUI文件管理器中显示并访问
像Dolphin、Krusader这类GUI工具,都会自动过滤掉.和..这两个特殊条目,直接浏览是看不到的。要访问它的话,最可靠的方法是直接在地址栏输入完整路径:
比如这个.文件夹位于/home/yourname/documents目录下,你就在文件管理器的地址栏里输入/home/yourname/documents/./(注意末尾的./),或者用管理器的「前往」功能填写这个完整路径,就能直接跳转到这个特殊文件夹里了。
二、如何在fish终端中cd进入
直接输入cd .会被shell解析成“进入当前目录”,完全达不到效果。你需要通过引号或者转义符,告诉shell不要把.当成特殊符号:
- 如果你在父目录里,可以执行:
cd "./"或者cd '\.' - 也可以直接使用绝对路径,比如:
cd /path/to/parent/folder/./
另外,用pushd "./"也能实现进入该文件夹的效果,之后可以用popd快速返回父目录。
三、如何删除这个特殊文件夹
rm -rf . 无效是因为shell把.解析成当前目录,而rm默认禁止删除当前目录(避免误删)。同样要通过特殊写法绕开shell的解析:
- 在父目录中执行:
rm -rf "./"或者rm -rf '\.' - 用绝对路径精准删除:
rm -rf /path/to/parent/folder/./ - 如果你担心路径写错,也可以用find命令定位删除:
find /path/to/parent -name "." -type d -exec rm -rf {} \;
最后提醒一句:以后尽量不要创建这类和系统特殊标识重名的文件或文件夹,很容易造成操作混淆,甚至误删重要内容。
备注:内容来源于stack exchange,提问作者Rashiq
相关产品推荐
相关产品推荐

