转载自: http://blog.ossxp.com/2011/04/2437/

2011-05-21

 


 

 

在Mac下的终端里可以输入open来打开任意类型的文件,linux下是否也有类似的命令呢?

经查,发现有三个命令可以实现类似效果:

  • see

see通过查找在mailcap文件中设定的文件类型和应用程序映射来打开文件。系统配置文件在/etc/mailcap,用户可以自定义配置文件到~/.mailcap。

通过see调用GUI程序以后要等待程序结束才可以继续输入命令。

  • xdg-open

xdg-open使用的配置文件不详。调用程序后终端仍可继续输入命令而不必等待程序结束。

  • gnome-open

gnome-open使用GNOME文件管理来打开文件。一般和Nautilus中设定的文件关联一致。

 

 

 

测试

 


 

我的系统为Ubuntu 11.04。

打开pdf文件,see调用了Okular打开,而xdg-open和gnome-open调用了evince。

打开jpeg文件,see调用了feh,而xdg-open和gnome-open调用了eye of gnome。

打开html文件,三者都调用了x-www-browser,这里是google-chrome。

打开utf-8编码的txt(后缀为txt),see调用了less,xdg-open和gnome-open调用了gedit。

打开utf-8编码的txt(无后缀),see不识别:

 

而xdg-open和gnome-open处乱不惊,gedit依旧。

打开cp936编码的txt,see误以为二进制文件,强制打开后失败,退出码1:

 

xdg-open和gnome-open表现的很淡定,继续gedit之。

 

总结

 


 

see的配置文件mailcap超级复杂,要自定义恐怕要费不少时间,而xdg-open/gnome-open由于和Nautilus保持一致,这样就很和谐,很方便。并且xdg-open/gnome-open在输入命令后不必等待程序结束就可以继续输入,比see要实用。

参考自:http://zh-cn.w3support.net/index.php?db=so&id=264395

 

 

 

 

 

Logo

更多推荐