我的当前目录从我的主目录深埋在多个子文件夹层中。如果要在基于GUI的文件浏览器中打开此目录,则必须双击文件夹后才能访问它。这非常耗时。另一方面,只需很少的按键操作和几次点击选项卡按钮,就可以很容易地通过终端访问它。
我想知道是否有一种方法可以将终端中的当前目录打开到文件浏览器上。这样做的命令是什么?
作为参考,我有一个ubuntu系统,但我想知道各种Linux发行版中的命令是什么。
open .
将在当前目录中打开Finder窗口。您的系统上可能存在类似的命令。
我的当前目录从我的主目录深埋在多个子文件夹层中。如果要在基于GUI的文件浏览器中打开此目录,则必须双击文件夹后才能访问它。这非常耗时。另一方面,只需很少的按键操作和几次点击选项卡按钮,就可以很容易地通过终端访问它。
我想知道是否有一种方法可以将终端中的当前目录打开到文件浏览器上。这样做的命令是什么?
作为参考,我有一个ubuntu系统,但我想知道各种Linux发行版中的命令是什么。
open .
将在当前目录中打开Finder窗口。您的系统上可能存在类似的命令。
Answers:
xdg-open .
xdg-open是xdg-utils软件包的一部分,该软件包通常默认安装在许多发行版(包括Ubuntu)中。它旨在用于多个桌面环境,并为您的桌面环境中的文件类型调用默认处理程序。
您可以传递目录,文件或URL,它将为该参数打开正确的程序。例如,在我的KDE系统上:
xdg-open .
在Dolphin文件管理器中打开当前目录xdg-open foo.txt
在emacsclient中打开foo.txt,我已将其配置为.txt文件的默认处理程序xdg-open http://www.google.com/
在我的默认网络浏览器中打开google.com该应用程序将作为一个单独的窗口打开,您将在终端中看到提示,并且可以发出其他命令或关闭终端,而不会影响新的GUI窗口。
我通常会在上打印一堆错误消息stderr
,但我只是忽略它们。
编辑:
添加参数xdg-open . >/dev/null 2>&1
重定向错误和输出。此通话不会阻止您的终端。将其绑定到类似别名filemanager='xdg-open . >/dev/null 2>&1'
可以派上用场。
几乎任何GUI应用程序(在X窗口系统上)都可以从该GUI的终端窗口中打开。要打开任何GUI应用程序,请在shell提示符下键入可执行文件的名称。大多数文件浏览器都将目录作为命令行参数,因此通常应将其.
作为参数传递。
这是一些流行系统的一些示例,大多数基于X的系统都类似地工作。
在Gnome上,您可以nautilus
直接运行(默认文件浏览器),或者在Gnome 2上,可以使用gnome-open
已配置的Gnome文件处理程序应用程序打开任何文件(包括目录):
$ nautilus .
要么
$ gnome-open .
在KDE上,有两种流行的文件浏览器,我不知道类似于的命令gnome-open
,尽管gnome-open
可以在KDE中执行,但默认情况下会打开Gnome应用程序。
$ dolphin .
要么
$ konquerer .
如注释中所述,在OS Xopen
上可以使用类似的命令行程序。
$ open .
如果您不知道系统文件浏览器的可执行文件名怎么办?
如果在Gnome 2上,请使用gnome-open .
如果在OS X上,请致电open .
。每一个都将为您的GUI环境执行配置的文件浏览器。
如果您不知道窗口系统中的此类命令,那么这是一种使用带有ps
可理解选项-u USER
和-o FORMAT
以下命令的系统来查找系统的方法:
ps -u$USER -o comm > /tmp/$$A
ps -u $USER -o comm > /tmp/$$B
(注意B
后缀,这是与步骤1 不同的文件)。diff /tmp/$$[AB]
。应该显示文件浏览器的名称。如果在调用两次之间的时间内,另一个程序恰巧在您的用户ID下启动,则您可能会看到多个名称ps
。
例如:
$ ps -u $USER -o comm > /tmp/$$A
$ # open file browser in gui
$ ps -u $USER -o comm > /tmp/$$B
$ diff /tmp/$$[AB]
95a96
> nautilus
open /path/to/some/directory
将打开该目录的Finder窗口。在Windows上,这是对explorer.exe
KDE或GNOME或LXDE的调用,对于每个可以使用的环境而言,可能都有一些独特之处。简而言之,您的特定用例需要更多细节。