强制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扩展名时,它认为它是一个文本文件。
所以主要的问题,
- nautilus是否使用扩展来识别文件?
- 如何强制nautilus忽略扩展并使用幻数?
-
如您所知,是的,Nautilus使用文件扩展名(如果存在)作为确定文件类型的优先级。
-
您可以编辑文件
/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这样的东西有一个明确的魔术序列。