我正尝试从命令行获取文件的 mime 类型作为打印字符串(例如application/vnd.oasis.opendocument.spreadsheet
)。
我查找了如何执行此操作并找到了xdg-mime
命令。
通过阅读手册页 ( man xdg-mime
),我似乎应该运行xdg-mime query filetype FILE
。但是,当我对任何文件运行此命令时,它不会打印任何内容并退出。
有办法解决这个问题吗?有其他命令吗?
答案1
使用file --mime-type -b filename
查看file --help
更多提示。
答案2
这此页面上的答案很好可以放入函数或脚本中,如下所示:
例子
$ mime_type.sh /etc/passwd
text/plain
mime_类型
function mime_type()
{
file --mime-type -b $*
}
mime_type $*
答案3
mimetype /path/to/file
在 18.04 中测试
答案4
xdg-mime
和文件查询不同的数据库(xdg-mime
更全面)。请参阅为什么“file --mime-type”和“xdg-mime query filetype”的结果有区别?以进行更多讨论。
xdg-mime
在非桌面会话中无法正常工作(例如,如果您通过 SSH 连接到一台机器)。