强制nautilus忽略扩展

我们都知道(或者有一天会知道)Ubuntu(或者一般的GNU / Linux)不能使用文件扩展来识别它是什么类型的文件。它使用Magic Numbers

Magic Number是与每个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. nautilus是否使用扩展来识别文件?
  2. 如何强制nautilus忽略扩展并使用幻数?

  1. 如您所知,是的,Nautilus使用文件扩展名(如果存在)作为确定文件类型的优先级。

  2. 您可以编辑文件/usr/share/mime/packages/freedesktop.org.xml ,搜索要忽略的扩展名并删除该行。 以下是一个例子。

Supose我不希望Nautilus关联“.txt”扩展名,我想让它看一下“幻数”。

I.编辑文件:

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

我将使用查找一行并删除它:
在此处输入图像描述

II。 保存。

III。 跑:

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

完成!

==效果==

这是一个mp3文件的样子:

在此处输入图像描述

如果我将扩展名更改为txt,这就是它的样子:

在此处输入图像描述

如果我编辑上面的文件,然后更改扩展名,这就是它的样子:

在此处输入图像描述

我想问题是像“txt”这样的文件很难从魔法中解决,所以总是需要一个glob。

而像mp3这样的东西有一个明确的魔术序列。