强制 nautilus 忽略扩展

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扩展名时,它认为它是一个文本文件。

所以主要问题,

  1. nautilus 是否使用扩展名来识别文件?
  2. 如何强制 nautilus 忽略扩展名并使用幻数?

des*_*gua 3

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

  2. 您可以编辑文件/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,结果如下:

在此输入图像描述

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

在此输入图像描述