在终端中用默认程序打开文件(转)

在Linux环境下工作,大部分时间都是在与终端打交道,经常会遇到要查看某个文件,比如一个图片或者一个word文档(不能在终端中直接查看的)。这时 通常的做法是切换到gui界面,到文件所在的目录,双击想打开的文件。另外一种方法是直接在shell中输入指定的程序打开文件,比如: evince xx.pdf 查看某个pdf文件。当然这样做的前提是你得记得住那些程序的名字,比如你能记得住用LibreOffice打开一个word文件的命令吗?反正我是记不 住。

在图形界面中已经定义了很多默认的文件打开方式,比如你双击网页文件就会自动用默认的浏览器打开,双击一个图片就会用默认的图片浏
览器打开,所以终端下也应该会有相应的机制。顺着这个思路去google了一下,就发现了xdg-open这个命令(兼容gnome和kde),这个命令
会用图形界面中设置的文件默认打开方式一致(和直接双击打开文件的行为应该是一样的)。

利用这个命令,在终端 下打开文件就方便多了,比如用默认的pdf 阅读器打开一个pdf文件:

xdg-open xxx.pdf

还可以用图形下的文件管理器打开目录,比如打开用户主目录:

xdg-open ~

非常有用的一个工具!

具体操作如下:
xdg-open { file | URL }
xdg-open { --help | --manual | --version }

OK,现在是不是方便多了,通过快捷键Ctrl+Alt+T可以打开shell,F11可以全屏显示(Alt+F9最小化窗口,Alt+F10最大化/恢复窗口),再辅予xdg-open命令,极大减少了鼠标操作,也大大提升了效率。

附xdg-open manual部分信息:
xdg-open
opens a file or URL in the user‘s preferred application. If a URL is
provided the URL will be opened in the user‘s preferred web browser. If a
file is provided the file will be opened in the preferred application
for files of that type. xdg-open supports file, ftp, http and https
URLs.
xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root

时间: 2024-07-31 18:56:00

在终端中用默认程序打开文件(转)的相关文章

在Qt中用默认程序打开文件

用法:    QProcess::execute("explorer 文件名");例:        QProcess::execute("explorer c:\\123.txt"); ---------------------------------------------------------------------- 应该早有大虾发现了这个方法,只是我没搜到,于是有了下面这篇聒噪的探索文章. 如何在Qt中用默认程序打开文件.比如给个"123.ht

qt: 系统默认程序打开文件或者软件;

Qt提供了QDesktopServices类, 可以利用openUrl函数调用默认程序打开文件: 源码参考: #ifdef Q_OS_WIN32 m_szHelpDoc = QString("file:///") + m_szHelpDoc; bool is_open = QDesktopServices::openUrl(QUrl(m_szHelpDoc, QUrl::TolerantMode)); if(!is_open) { LogWriter::getLogCenter()-&

Python 调用让系统自动调用默认程序打开文件?

windows上可以使用os.startfile os.startfile(file) linux上可以使用xdg-open subprocess.call(["xdg-open", file]) mac os上可以使用open subprocess.call(["open", file])

Java 调用系统默认程序打开

比如,我要打开一个PPT文件,怎么办?最简单的办法,调用系统默认的PowerPoint打开. 这里用到的是  Java.awt.Desktop类 Desktop 类允许 Java 应用程序启动已在本机桌面上注册的关联应用程序,以处理 URI 或文件. 支持的操作包括: 启动用户默认浏览器来显示指定的 URI: 启动带有可选 mailto URI 的用户默认邮件客户端: 启动已注册的应用程序,以打开.编辑或打印指定的文件. 下面举个栗子: package com.sujian; import ja

Mac命令行指定特定程序打开文件

如果文件已被指定默认程序 open httpd.conf 指定一个特定程序打开文件 # 用 sublime text 打开 httpd.conf open -a /Applications/Sublime\ Text.app/ httpd.conf 如果使用频繁,还可以添加软连接 sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/sublime 输入sublime就可以打开 su

MFC程序打开文件对话框出错的问题解决

前几天从网上下了个图像分析的mfc小程序,是VC6的 用VC6在本地编译生成都没问题,运行起来弹出一个未处理的错误,程序崩溃退出. 想起来原来遇到过打开文件对话框方面的问题,当时项目时间紧张未能深究. 这次要好好看下这个问题. 具体做法就是深入细致的跟踪.跟踪.跟踪... 应用代码,跟进 MFC的代码,跟进 Alt+8调出反汇编,跟进... 反复多次重复追踪.缩小目标,确定问题是:在CFileDialog 的析构函数中,调用了CString 的析构函数, 恰恰是析构CSring 出错了. CFi

WP8.1 实现Continuation程序(打开文件,保存文件等)

以保存文件为例 首先,在项目中加入ContinuationManager.cs类,以及SuspensionManager.cs类. 其次,在App.xaml.cs中,完成如下步骤: 1. 添加ContinuationManager类的实例作为属性. public ContinuationManager ContinuationManager { get; private set; } 2. 加入如下的方法 // for continuable private Frame CreateRootFr

修改与文件类型关联的默认程序

13/12/27 安装了Planner项目管理软件后,发现.planner文件的默认打开程序为gedit.想要将其修改过来,在open with的程序列表里也没有planner这一项,而且也无法人工指定命令行,似乎这一功能被Nautilus关掉了.通过网上搜索,Gnome系统中文件类型的描述,即mimetype,存放于/usr/share/mime与~/.local/share/mime目录下.而用于描述应用程序所能打开的文件类型则主要放在其中的application子目录中.可以看到,其中已经

怎样在 Ubuntu 中修改默认程序

作为一个新手,你需要知道如何在 Ubuntu 中修改任何默认程序,这也是我今天在这篇指南中所要讲的. 对于我来说,安装 VLC 多媒体播放器是安装完 Ubuntu 16.04 该做的事中最先做的几件事之一.为了能够使我双击一个视频就用 VLC 打开,在我安装完 VLC 之后我会设置它为默认程序. 在这里提及的方法适用于所有的 Ubuntu 12.04,Ubuntu 14.04 和Ubuntu 16.04.在 Ubuntu 中,这里有两种基本的方法可以修改默认程序: 通过系统设置 通过右键菜单 1