在Mac / Windows上,Linux的“ open”命令是否等效于Linux?


46

来自Mac OS X,您可以输入:

$ open yourfilehere.txt

文件就会打开,就像从Finder中打开文件一样。


在Windows上,可以输入:

> start yourfilehere.txt

它将如同您从资源管理器中打开一样打开。


在Ubuntu上,我希望能够以相同的方式在GNOME中打开文件。命令是什么?


1
在一点相关的文章中,我发现了这个小宝石可以在某个路径(不一定是当前路径)中打开Finder:open -a Finder。或打开-a Finder /您的路径/此处
Mikko Ohtamaa'2

我刚刚看到在Windows上,这是start程序。在OS X上,这是open程序。在Ubuntu Linux上,这是see程序。使用python自动完成无聊的东西一书中,但我没有see从Google 获得有关命令的任何信息。
CodyChan

Answers:


39

xdg-open 是您要寻找的。

您可能喜欢我放入.bashrc文件中的此代码段,以便无论我在Windows,Linux还是OSX上使用cygwin,我都可以使用start或open命令,它们可以很好地工作:

case "$OSTYPE" in
   cygwin*)
      alias open="cmd /c start"
      ;;
   linux*)
      alias start="xdg-open"
      alias open="xdg-open"
      ;;
   darwin*)
      alias start="open"
      ;;
esac

好的评论,xdg-open确实比gnome-open更好,如下所述。我不久前更新了我的个人脚本,但忘记更新此答案。

警告:这将覆盖openvt(虚拟终端)和startinit的功能。


1
BASH脚本是一个好主意。
jweede

9
cygwin:尝试“ cygstart”
Doug Harris 2009年

13
gnome-open是特定于GNOME的。xdg-open在所有符合Freedesktop.org的发行版中均可用。
Avdi

@ DougHarris,+ 1。cygstart可能更可取,因为在Emacs书签中,它允许人们继续使用Emacs。使用start,我的Emacs被冻结。
Brady Trainor 2014年

然后,如果您不希望依赖Cygwin,那么start很好。start """start \"\""只是为我工作。(引号“”阻止Emacs挂起进程。)
Brady Trainor 2014年

34
xdg-open xyz.bar

xyz.bar在任何与Freedesktop兼容的环境中打开(可能是文件或URL),并且该应用程序注册为xyz.bar的类型。另请参见此处的文档(xdg-open的手册页)

在实践的研究这应该然后调用kde-opengnome-openexo-open甚至可能是open,根据当前的桌面环境(KDE,GNOME,XFCE,OS X)。


3
也可以。xdg-open和之间有什么区别gnome-open
jweede

5
好吧,xdg-open由声称创建“标准”的freedesktop.org人员开发,而gnome-open由gnome人员开发..只有在安装gnome时才能获得。我个人更喜欢freedesktop.org的东西。
akira

2
确实,xdg-open是此处的正确答案。gnome-open特定于已安装GNOME的桌面。xdg-open将在任何与freedesktop兼容的系统上可用。
09年

2
“ xdg-open将在任何与freedesktop兼容的系统上可用”意味着实际上,无论您使用的是GNOME,KDE,Xfce还是任何其他环境,xdg-open都将使用file-to-to 做正确的事情。 -运行环境的程序映射。
RavuAlHemio 2012年

几乎等同于Mac的“打开”命令,但不完全相同-我发现(至少在Ubuntu 14下)在目录上使用它时,该目录在后台打开。我宁愿将刚打开的窗户放在最前面。有什么办法做到这一点?(原谅我,我是一个Linux
新手

10

您甚至可以在gnome-open周围编写一个小的包装程序,以使用一个命令打开多个文件:

for i in $*
do
    gnome-open "$i"
done

将其放入名为open和的shell脚本中

open *.c

将打开当前目录中的所有c文件。


2
有用的脚本,但是您需要将$ *替换为“ $ @”(包括引号)以正确处理带空格的文件名。
pimlottc 2012年

1

您可以gnome-open在终端中使用该命令。在要打开OS窗口的目录中,键入Terminal:

gnome-open .

这将打开一个窗口,显示该文件夹中的内容。同样,您可以通过用.子文件夹的名称替换来指定此目录中的子文件夹。

请注意,如果gnome-open不起作用,可能只需要安装它即可。您可以使用Synaptic(sudo apt-get update然后 sudo apt-get install synaptic在终端中安装软件包非常方便,因为它可以正确安装所有依赖项),也可以在终端中直接安装Gnome Shell:sudo apt-get install gnome-shell


-1

将其输入终端: ./yourfile

yourfile是您要打开或运行的文件的名称。您也可以使用此命令来运行bash脚本。(请记住输入文件扩展名!)

gnome-open 是您要寻找的。

其他海报的另一句话。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.