Email or username:

Password:

Forgot your password?
Top-level
Григорий Клюшников

Макось тоже по умолчанию прячет расширения. Правда, они с защитой от идиотов пошли ещё дальше: с настройками по умолчанию, если ты хочешь запустить что-то, что не подписано эпловским сертификатом, тебе надо как-то очень чрезжопно и целенаправленно это делать. А если найдёшь, как выключить эту настройку (совсем выключить вообще можно только с терминала, в интерфейс не вынесли), то и расширения найдёшь как включить.

Ну и тут это ещё можно объяснить легаси "классической" макоси. Там расширений не было вообще, от слова совсем. Тип файла и id создавшего его приложения лежали в метаданных файловой системы, которые так-то вообще хрен увидишь. Возможно, тут они захотели это скопировать, чтобы пользователям тех старых версий на новой было привычно. А майкрософт, кстати, возможно, по-тупому пошёл вслед.

11 comments
Dr. Quadragon ❌

@grishka макось можно объяснить тем, что в Unix нет расширений как таковых. Они просто не имеют значения, тупо мнемоник, часть имени. Тип файла определяется непосредственно его содержанием.

@dettlaff

Григорий Клюшников

Dr. Quadragon ❌, старая макось была не юниксом, там всё совсем своё, ни с чем не совместимое и вообще изначально на паскале. А как графические файл-менеджеры в линуксе определяют чем открывать файл, когда ты на него нажал, если не по расширению?

Dr. Quadragon ❌

@grishka но новая-то - юникс.

> А как графические файл-менеджеры в линуксе определяют чем открывать файл, когда ты на него нажал, если не по расширению?

По содержанию, при помощи магии. Читаем первые n байт файла, и понимаем, с чем имеем дело. Если непонятно (например, текст, но ЧТО за текст - неясно), вот тогда обращаемся к имени. Как-то так.

@dettlaff

Григорий Клюшников

Dr. Quadragon ❌, а вот если я придумал свой формат файла и написал программу, которая работает с ним, как мне сказать линуксу, что мои файлы надо открывать моей программой?

Dr. Quadragon ❌

@grishka если вообще совсем непонятно, тебя спросят.

@dettlaff

Dr. Quadragon ❌

@grishka но чаще всего такое просто не имеет смысла, потому что подавляющее большинство файлов - это либо формат, магия которого известна, либо это тупо текст.

@dettlaff

Dr. Quadragon ❌

Ну, а если это текст, подлежащий исполнению (программа на баше или питоне, скажем) - то есть такая приятная штученька как shebang.

В начале файла пишешь
```
#!/usr/bin/python
```

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

Работает с некоторыми конфигами тоже - например 3proxy так делает.

vovᴀɴıᴜᴍ⁺

@grishka@friends.grishka.me Если точнее, никсы умеют опознавать файлы по расширению, но это не единственный способ.
Есть и опознание по магическим числам (первые 4 байта файла часто содержат уникальную сигнатуру), и более сложные методы (чтобы отличить, например, текстовый файл от неизвестного бинарного).
Есть стандартная утилита
file, в ней можно посмотреть все подробности.

Vftdan

@grishka
freedesktop.org/wiki/Specifica

Или если тип исполняемого файла, например чтобы ./file.exe запускался в wine, то en.m.wikipedia.org/wiki/Binfmt
@drq @dettlaff

yesfreenet

@drq
Меня больше удивляет, когда пытаешься открыть показ файла, кликаешь, а оно тебе открывает проводник VScodium или как оно там 😃

@grishka @dettlaff

Go Up