Reg*_*ser 5 command-line nautilus nautilus-extensions
我们都知道(或者有一天会知道)Ubuntu(或一般的 GNU/Linux)不能使用文件扩展名来识别它是什么类型的文件。而是使用Magic Numbers。
一个神奇的数字是一个数字助理与每一个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$
Run Code Online (Sandbox Code Playgroud)
同样的 expt ,当与Nautilus 一起尝试时,它认为文件是一个音乐文件,当它有.mp3或没有扩展名时,但当它被赋予.txt扩展名时,它认为它是一个文本文件。
所以主要问题,
正如您所注意到的,是的,Nautilus 使用文件扩展名(如果存在)作为确定文件类型的优先级。
您可以编辑文件/usr/share/mime/packages/freedesktop.org.xml,搜索要忽略的扩展名并删除该行。下面是一个例子。
假设我不希望 Nautilus 关联“.txt”扩展名,而我希望它查看“幻数”。
一、编辑文件:
sudo gedit /usr/share/mime/packages/freedesktop.org.xml
Run Code Online (Sandbox Code Playgroud)
我将查找包含以下内容的行<glob pattern="*.txt"/>并将其删除:
二. 节省。
三.跑步:
sudo update-mime-database /usr/share/mime
Run Code Online (Sandbox Code Playgroud)
完毕!
==效果==
mp3 文件如下所示:
如果我将扩展名更改为 txt,结果如下:

如果我编辑上面的文件然后更改扩展名,结果如下:
