先说一个我几乎每天都会碰到的场景:在 Ubuntu 的 terminal 里跑完一条安装命令或者编译命令,忽然想看当前文件夹里到底生成了哪些文件。大多数人这时候会打开文件管理器,一层一层点进同样的目录;或者干脆在终端里 ls -la、cd 来回折腾。其实“terminal 打开当前文件夹”本来就是一条命令就能解决的事,只是这个需求在不同桌面环境、不同使用场景下的打开方式差异很大,值得系统整理一下。
这篇不打算让你背一串命令,而是把这个常见需求拆开:默认 GNOME 环境怎么开,KDE、XFCE 怎么开,没装图形界面的服务器怎么开,WSL 里怎么开,反向从文件管理器里开终端又该怎么配。我会把每个方案背后的原理和坑一起讲清楚,这样你换台机器也能自己推断出答案,而不是永远靠搜索。
1. 终端里的“当前目录”到底在哪:一条命令解决核心需求
1.1 为什么是 nautilus .
在 Ubuntu 默认的 GNOME 桌面上,打开当前文件夹的命令非常简单:nautilus .。我第一次看到这个用法的时候其实有点困惑,因为我不太理解那个点代表什么。后来才明白,. 在 shell 里的含义就是“当前工作目录”,和你执行 pwd 打印出来的那个路径是同一个东西。nautilus 则是 GNOME 文件管理器(也就是你在应用列表里看到的“文件”)真正对应的命令行程序名。
所以 nautilus . 的意思就是:让文件管理器打开终端目前所在的目录。如果你想打开的是别的目录,也很自然,把 . 换成完整路径即可,比如 nautilus /home/你的名字/Downloads。实际使用中,很多人只知道在终端里 cd 切换目录,却忘了终端里有一套和图形界面并列的路径体系。搞清楚终端里的工作目录概念,后面所有操作都顺理成章。
这里有个小细节,GNOME 的文件管理器默认是单实例运行的。如果你的“文件”窗口已经打开,执行 nautilus . 不一定会弹出一个新窗口,有时只是在已有窗口里新开一个标签页,甚至只是把已有窗口带到前台。如果你明确想要一个新窗口,用 nautilus -w .。这个参数全称是 --new-window,在脚本里尤其常用。
1.2 不同桌面环境对应的命令清单
很多人在网上搜到 `
