为什么要介绍 xdg-open 呢,得先从需求说起。
一般在控制台中,可以使用命令操作各式文本文件。但难以避免,需要操作一些非文本文件,如 pdf,doc 等。
此时,一般的做法是,打开文件管理器,再一层层进入对应目录,找到对应文件,再双击打开。
这种方式的问题是,操作起来较为麻烦,效率低,尤其是当文件路径较深,某几个文件夹中文件又多的情况下。
有没有简单点的办法呢,有,最开始我是这么做的:
方式一: 借助nautilus
nautilus 是 ubuntu 下默认的文件管理器。 在控制台可以使用 nautilus 命令直接对指定路径打开文件管理器,省去一层层双击鼠标的麻烦
代码语言:javascript复制nautilus 路径
打开文件管理器之后,再使用鼠标双击打开目标文件即可。
怕记不住 nautilus 的,可以为它添加 alias
代码语言:javascript复制alias opendir='nautilus'
方式二:直接打开
大多数程序都是可以从命令行调用启动的,因此直接调用对应的应用程序,打开对应文件。例如
代码语言:javascript复制wps xxx.doc
FoxitReader xxx.pdf
方式三:xdg-open
介绍了以上两个方式,可以发现,第一种好记,就一个命令,打开文件管理器,但是麻烦,还得再用鼠标双击去打开对应文件。
第二种直接点,一步到位打开目标文件,但不好记,每种格式需要记住对应的程序名。
那怎么选择呢?其实可以不选择,因为掌握了xdg-open之后,上面两种方式,就两者皆可抛了。
xdg-open用法非常简单,就直接参数传入要打开的文件,等效于鼠标双击打开,系统会根据文件类型自动调用对应的程序,如
代码语言:javascript复制xdg-open xxx.doc
xdg-open xxx.pdf
xdg-open xxx.png
如果传入路径的话,则是使用文件管理器打开
代码语言:javascript复制xdg-open .
xdg-open ~/Downloads
还可以传入网址
代码语言:javascript复制xdg-open www.google.com
一招鲜吃遍天,但讲道理 xdg-open 还是比较难输入的,为了更顺手,可以考虑添加适合自己的alias,比如我就添加了
代码语言:javascript复制alias dakai='xdg-open'
alias 打开='xdg-open'
拼音中文双管齐下,一般情况下用"dakai",但有时候输入法没切换过来,敲完发现是中文“打开”,没关系,照样能开,就是这么简单粗暴。