如何从命令行获取文件的 MIME 类型?

dv3*_*0ea 65 command-line files mime-type

我试图从命令行获取文件的 mime 类型作为打印字符串(例如。application/vnd.oasis.opendocument.spreadsheet)。

我查找了如何执行此操作并找到了xdg-mime命令。

从阅读手册页 ( man xdg-mime) 来看,我似乎应该运行xdg-mime query filetype FILE. 但是,当我使用任何文件运行它时,它不会打印任何内容并退出。

有没有办法来解决这个问题?替代命令?

Oli*_*Oli 112

file --mime-type -b filename

查看file --help更多提示。


bra*_*rks 5

本页上的精彩答案可以放入函数或脚本中,如下所示:

例子

$ mime_type.sh /etc/passwd  
text/plain
Run Code Online (Sandbox Code Playgroud)

mime_type.sh

function mime_type()
{
  file --mime-type -b $*
}

mime_type $*
Run Code Online (Sandbox Code Playgroud)


cip*_*cus 5

mimetype /path/to/file
Run Code Online (Sandbox Code Playgroud)

18.04 测试

  • 也仅根据看起来的文件扩展名检测 mimetype (2认同)