如何使文件扩展名不可执行?

如何使文件扩展名不可执行?

是的,我知道我可以通过为该文件设置适当的权限位来使该文件不可执行。我想要做的是,使所有具有特定扩展名的文件都不可执行,这样 Nautilus 就会提示。我脑海中的特定扩展名是.txt

总之,如何指示 Ubuntu 不执行任何带.txt扩展名的文件?

注意:据我所知,Windows 7 中有类似的功能。

答案1

文件在创建时具有可执行权限,除非您自己更改了默认的 umask 设置。您始终需要自己设置可执行权限。

我想要做的是,使所有具有特定扩展名的文件不可执行,以便 Nautilus 会提示。

不过,Nautilus 也有一些选项(在偏好、行为、中间选项方面):

在此处输入图片描述

它的作用是检查您单击的文件并检查文件是什么(通过检查文件行或第一个字节)以查看它是否是可执行文件,并提供执行、查看或询问如何处理您单击的文件。包含文本(而不是文件行和/或代码)的文本文件将始终打开而不是执行。

请注意:这不是基于扩展名的。扩展名是(/应该是!)我们人类的视觉辅助工具;不是程序识别文件的方式(名为 music.txt 的 MP3 仍然是 MP3,而不是文本文件)。

答案2

Ubuntu 仅在具有执行权限时才允许执行文件。因此,删除所有 .txt 文件的执行权限即可。

find /home/yourname -type f -iname "*.txt" -exec chmod -x {} \;

也可以右键单击“打开方式”并将默认程序更改为您的编辑器。

相关内容