Как получить MIME-тип файла из командной строки?

Я пытаюсь получить mime-тип файла из командной строки в виде печатной строки (например, application/vnd.oasis.opendocument.spreadsheet).

Я посмотрел, как это сделать, и нашел команду xdg-mime.

После прочтения справочной страницы (man xdg-mime), мне кажется, мне следует запустить xdg-mime query filetype FILE. Однако, когда я запускаю это с любым файлом, он ничего не печатает и завершает работу.

Есть ли способ это исправить? Альтернативная команда?

56
задан 19 September 2010 в 15:40

4 ответа

Используйте file --mime-type -b filename

Посмотрите на file --help для получения дополнительных советов.

0
ответ дан 19 September 2010 в 15:40

Великолепный ответ на этой странице можно поместить в функцию или скрипт, например:

Пример

$ mime_type.sh /etc/passwd  
text/plain

mime_type.sh

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

mime_type $*
0
ответ дан 19 September 2010 в 15:40

xdg-mime и запрос файлов к различным базам данных ( xdg-mime является более полным). См. Почему разница между результатами с «file --mime-type» и «xdg-mime query filetype»? для более подробного обсуждения.

xdg-mime некорректно работает из сеанса, отличного от рабочего стола (например, если вы подключены к компьютеру по SSH).

3
ответ дан 1 January 2020 в 16:26
mimetype /path/to/file

По результатам испытаний в 18.04

3
ответ дан 20 February 2020 в 22:10

Другие вопросы по тегам:

Похожие вопросы: