Заставить наутилус игнорировать расширения

Мы все знаем (или узнаем однажды), что Ubuntu(или GNU/Linux в целом) не работает с расширениями файла, чтобы распознать, какой это тип файла. Скорее он использует Волшебные числа.

Магическое число - это число, связанное с каждым файлом Linux, и, как правило, это первые несколько байтов файла, которые определяют тип файла. Он используется утилитой командной строки Linux, которая отображает информацию, относящуюся к файлу.

Поэтому, когда мы проверяем тип файла сfileКоманда, он дает соответствующий тип файла независимо от его расширения.

Так что mp3-файл дает

aditya@aditya-desktop:~/Music$ file 'music.mp3'
music.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1,  64 kbps, 44.1 kHz, JntStereo
aditya@aditya-desktop:~/Music$ file 'music'
music: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1,  64 kbps, 44.1 kHz, JntStereo
aditya@aditya-desktop:~/Music$ file 'music.txt'
music.txt: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1,  64 kbps, 44.1 kHz, JntStereo
aditya@aditya-desktop:~/Music$

Тот же пример, при попытке сNautilus, он считает файл музыкальным файлом, если он имеет расширение.mp3 или не имеет расширения, но когда ему дается расширение .txt, он считает его текстовым файлом.

Итак, главный вопрос,

  1. Наутилус использует расширения для распознавания файла?
  2. Как я могу заставить nautilus игнорировать расширения и использовать магические числа?

2 ответа

Решение
  1. Как вы заметили, да, Nautilus использует расширение файла (если оно есть) в качестве приоритета для определения типа файла.

  2. Вы можете редактировать файл /usr/share/mime/packages/freedesktop.org.xml, найдите расширение, которое вы хотите игнорировать, и удалите строку. Ниже приведен пример.

Предположим, я не хочу, чтобы Наутилус ассоциировал расширение ".txt", и вместо этого я хочу, чтобы он посмотрел на "магическое число".

I. Отредактируйте файл:

sudo gedit /usr/share/mime/packages/freedesktop.org.xml  

Я буду искать строку с <glob pattern="*.txt"/> и удалите его:
введите описание здесь

II. Сохранить.

III. Бежать:

sudo update-mime-database /usr/share/mime  

Готово!

== Эффект ==

Вот как выглядит mp3-файл:

введите описание здесь

Вот как это выглядит, если я изменю расширение на txt:

введите описание здесь

Вот как это выглядит, если я отредактирую файл выше и затем изменю расширение:

введите описание здесь

Я предполагаю, что проблема заключается в том, что некоторые файлы, такие как "txt", довольно трудно понять из магии, поэтому всегда потребуется глобус.

В то время как что-то вроде mp3 имеет определенную магическую последовательность.

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