Как сделать расширение файла неисполняемым?

Да, я знаю, что могу сделать файл не исполняемым, установив соответствующие биты прав доступа для этого файла. Что я хочу сделать, так это сделать все файлы с определенным расширением неисполняемыми, чтобы Nautilus подсказал. Конкретное расширение, которое я имею в виду, .txt,

Таким образом, Как поручить Ubuntu не выполнять файлы с .txt расширение?

Примечание. Насколько я знаю, в Windows 7 есть похожая функция.

2 ответа

Решение

Ни один файл не имеет разрешений на выполнение при создании, если вы сами не изменили настройки umask по умолчанию. Вам всегда нужно самим устанавливать права доступа к исполняемым файлам.

Что я хочу сделать, так это сделать все файлы с определенным расширением неисполняемыми, чтобы Nautilus подсказал.

У Наутилуса есть несколько опций (в настройках, поведении, среднем наборе опций):

введите описание здесь

Это проверяет файл, по которому вы щелкаете, и проверяет, что это за файл (проверяя строку shebang или 1-й байт файла), чтобы узнать, является ли он исполняемым, и предлагает выполнить, просмотреть или спросить, что делать с файл, который вы нажали. Текстовые файлы, содержащие текст (а не шебанг и / или код), всегда будут открываться, а не выполняться.

Имейте в виду: это не основано на расширениях. Расширения являются (/ должны быть!) Наглядными пособиями для нас, людей; не способ для программ идентифицировать файлы (MP3 с именем music.txt по-прежнему является MP3, а не текстовым файлом).

Ubuntu предлагает выполнить файл, только если у него есть разрешения на выполнение. Так что удалите разрешение на выполнение из всех файлов.txt, и все готово.

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

Может также сделать правый клик "открыть с помощью" и изменить программу по умолчанию на ваш редактор.

Другие вопросы по тегам