Rod*_*gel 6 command-line files
文件关联通常是在桌面环境中进行的,但是如何使用命令行获取与文件关联的应用程序列表?
就像是:
$ getassoc foo.pdf <CR>
$ acroread, okular
Run Code Online (Sandbox Code Playgroud)
不需要是命令,可以在任何 Gnome 文件上加cat
+grep
我正在使用 Gnome 2.28.2。
真的没有一个集中的资源可以让你“查询”来获取这些信息。相反,它保存在几个文本文件中,如果您知道在哪里查看,您可以手动解析这些文件,或者您可以使用该工具xdg-mime
来构建关系。
假设我在磁盘上有一个 PNG 文件。我可以像这样找出它的 MIME 类型。
$ xdg-mime query filetype DSCN4747_DSCN4061_800x600.PNG
image/png
Run Code Online (Sandbox Code Playgroud)
然后我可以查询xdg-mime
询问这个特定 MIME 类型的关联是什么。
$ xdg-mime query default image/png
shotwell-viewer.desktop shutter.desktop
Run Code Online (Sandbox Code Playgroud)
查看mimeinfo.cache
我的系统上的 ,我可以使用以下命令找到有关给定 MIME 类型关联的更多信息:
$ grep 'image/png' /usr/share/applications/mimeinfo.cache
image/png=shutter.desktop;gpicview.desktop;gimp.desktop;eog.desktop;geeqie.desktop;shotwell-viewer.desktop;
Run Code Online (Sandbox Code Playgroud)
mimeinfo.cache
文件中的桌面定义存储在此处:
$ locate shotwell-viewer.desktop
/usr/share/applications/shotwell-viewer.desktop
Run Code Online (Sandbox Code Playgroud)
它包含您要询问的可执行文件的名称:
$ grep 'Exec=' !$
grep 'Exec=' /usr/share/applications/shotwell-viewer.desktop
Exec=shotwell %f
Run Code Online (Sandbox Code Playgroud)
很多时候,如果我只是想启动一些东西,我会使用该工具xdg-open <file|URL>
打开一个文件,而不是先去启动应用程序,然后再打开文件。
您的本地配置文件
~/.local/share/applications/mimeapps.list
Run Code Online (Sandbox Code Playgroud)
全局配置文件
/usr/share/applications/mimeinfo.cache
Run Code Online (Sandbox Code Playgroud)
使用 sed 进行简单布局,
sed -e 's/=/\n\t/' -e 's/;/\n\t/g' /usr/share/applications/mimeinfo.cache
Run Code Online (Sandbox Code Playgroud)
示例输出,
...
image/x-xwindowdump*
gimp.desktop
video/flv
totem.desktop
avidemux-gtk.desktop
application/vnd.sun.xml.math
openoffice.org-math.desktop
application/vnd.scribus
scribus.desktop
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3001 次 |
最近记录: |