我正在尝试从命令行获取文件的 MIME 类型,并将其作为打印字符串(例如 application/vnd.oasis.opendocument.spreadsheet
)。
我查找了如何做到这一点,并找到了 xdg-mime
命令。
通过阅读手册页(man xdg-mime
),看起来我应该运行 xdg-mime query filetype FILE
。然而,无论我用任何文件运行此命令,它都不会打印任何内容并退出。
有办法解决这个问题吗?还有其他的命令可以替代吗?
我正在尝试从命令行获取文件的 MIME 类型,并将其作为打印字符串(例如 application/vnd.oasis.opendocument.spreadsheet
)。
我查找了如何做到这一点,并找到了 xdg-mime
命令。
通过阅读手册页(man xdg-mime
),看起来我应该运行 xdg-mime query filetype FILE
。然而,无论我用任何文件运行此命令,它都不会打印任何内容并退出。
有办法解决这个问题吗?还有其他的命令可以替代吗?
file --mime-type -b filename
来查看文件的 MIME 类型。file --help
。这个页面上的很好的答案可以像下面这样放在一个函数或脚本中:
$ mime_type.sh /etc/passwd
text/plain
function mime_type()
{
file --mime-type -b $*
}
mime_type $*
mimetype /path/to/file
xdg-mime
和文件查询不同的数据库(xdg-mime
更全面)。请参阅为什么使用"file --mime-type"和"xdg-mime query filetype"得到的结果不同?以获取更多讨论。
xdg-mime
在非桌面会话中无法正常工作(例如,如果您通过SSH登录到一台机器)。
mimetype
在14.04及以上版本中可用。 - Mooncake