如何在终端中检查特定文件类型的默认处理程序?

如何在终端中检查特定文件类型的默认处理程序?

我经常会遇到一些我不确定但又需要打开的文件类型,但由于我不知道系统上针对该特定文件类型的默认文件处理程序是什么(有时文件甚至没有扩展名,这让我更难分辨),我无法打开并以正确的格式显示它。我可以直接启动 Nautilus,但我更希望在 CLI 中执行尽可能多的操作,有时我会在控制台中执行此操作,因此我无法直接启动文件管理器。那么,如何在终端中判断给定文件的默认文件处理程序是什么?我使用的是 Ubuntu Gnome 15.04。

答案1

使用命令filemimetype

例如

% file conf.ini 
conf.ini: ASCII text

% mimetype conf.ini 
conf.ini: text/plain

% file Screenshot\ from\ 2015-08-17\ 20-32-54.png 
Screenshot from 2015-08-17 20-32-54.png: PNG image data, 1112 x 700, 8-bit/color RGBA, non-interlaced

% mimetype Screenshot\ from\ 2015-08-17\ 20-32-54.png
Screenshot from 2015-08-17 20-32-54.png: image/png

% file Intro.mp3
Intro.mp3: Audio file with ID3 version 2.3.0

% mimetype Intro.mp3 
Intro.mp3: audio/mpeg

并显示给定文件的 mime 类型的默认桌面文件

% mimetype -b Screenshot\ from\ 2015-08-17\ 20-32-54.png |\
    xargs xdg-mime query default
eog.desktop

或者应用程序调用

% mimetype -b Screenshot\ from\ 2015-08-17\ 20-32-54.png | \
    xdg-mime query default |
    xargs -i'{}' awk -F= '/^Exec/ {print $2}' "/usr/share/applications/{}" 
eog %U

相关内容