如何创建没有任何默认文件类型的新文件?


4

我正在使用创建一个新文件

在终端中:触摸newfilename.someext

要么

在nautilus中:文件>创建新文档>空文档

该文件采用“纯文本文档”类型,并与默认文本编辑器关联。如何关闭这两个动作?

.somext是新的/未知扩展名,我希望系统将其显示为未知文件类型。

编辑于2012年8月10日:
我注意到,如果文件中包含非打印二进制字符,则它将显示为“未知”类型。


2
您是指非印刷字符?返回,空格和制表符?
2012年

1
@msPeachy我的意思是二进制字符,如安德烈(在接受的答案中)解释的那样。
斯里兰卡2012年

Answers:


6

您的问题全都与MIME类型有关

MIME类型不仅通过文件扩展名(glob模式)解析,而且还通过文件内容(魔术规则)解析。

参见http://library.gnome.org/admin/system-admin-guide/stable/mimetypes-modifying.html.en#-note-id301200

当没有全局模式或魔术规则与文件匹配时,如果它包含文本数据或二进制数据的应用程序/八位字节流,则将其解析为MIME类型为text / plain。如果文件为空,则默认为文本/纯文本。

因此,正如您所指出的,具有未知扩展名的文件将解析为text / plain,但如果包含二进制数据,则将其解析为application / octet-stream,显示为“ Unknown”(如果您好奇为什么,请搜索的“ application / octet-stream” /usr/share/mime/packages/freedesktop.org.xml

如果需要注册新的扩展名并将某个应用程序与之关联,则应首先注册与所需扩展名关联的新MIME类型,然后再将某个应用程序与此新的MIME类型关联。以下链接对此进行了说明:

如果您不需要注册新的扩展名,则看不到任何更改默认行为的原因(将文本数据解析为text / plain)。很自然


我的理由听起来可能很愚蠢(或偏执),但我担心文本文件的“可执行权限”。如果我(或不太谨慎的人)双击它(假设是文本文件),则被识别为文本文件的垃圾文件(读取的恶意软件)可能会被错误(或故意)执行。如果显示为“未知”,则至少不会双击它。因此,恕我直言,自然的行为应该是将其标记为未知。
斯里兰卡

1
您是否考虑过将Nautilus中的“ view”设置为可执行文件的默认操作?在这里看看:askubuntu.com/q/143963/82364
Andrey 2012年

是。这是我在每次Ubuntu安装中要做的一件事。我进入Nautilus->编辑->首选项->行为,然后将“可执行文本文件”设置为“每次询问”。(我一直在圈子里的人的计算机上安装Ubuntu)。我为新的Ubuntu / Linux拥抱者感到不安。
斯里兰卡2012年

0

您可以通过不将任何应用程序关联到这些扩展名来选择不打开这些扩展名。

如果您使用Ubuntu Tweak,则它们在System / File_Type_Manager中具有很好的作用,您可以在其中管理所有文件扩展名以及打开哪些应用程序。

可以通过以下方法安装Ubuntu tweak:转到其主页,然后单击“下载”按钮,然后在“软件中心”中打开文件。


我想尽量避免使用第三方扩展。
斯里兰卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.