@grishka макось можно объяснить тем, что в Unix нет расширений как таковых. Они просто не имеют значения, тупо мнемоник, часть имени. Тип файла определяется непосредственно его содержанием.
Top-level
@grishka макось можно объяснить тем, что в Unix нет расширений как таковых. Они просто не имеют значения, тупо мнемоник, часть имени. Тип файла определяется непосредственно его содержанием. 10 comments
@grishka но новая-то - юникс. > А как графические файл-менеджеры в линуксе определяют чем открывать файл, когда ты на него нажал, если не по расширению? По содержанию, при помощи магии. Читаем первые n байт файла, и понимаем, с чем имеем дело. Если непонятно (например, текст, но ЧТО за текст - неясно), вот тогда обращаемся к имени. Как-то так. Dr. Quadragon ❌, а вот если я придумал свой формат файла и написал программу, которая работает с ним, как мне сказать линуксу, что мои файлы надо открывать моей программой? @grishka но чаще всего такое просто не имеет смысла, потому что подавляющее большинство файлов - это либо формат, магия которого известна, либо это тупо текст. Ну, а если это текст, подлежащий исполнению (программа на баше или питоне, скажем) - то есть такая приятная штученька как shebang. В начале файла пишешь и просто исполняешь файл как бинарник. Он будет интерпретирован тем, что ты указал. Работает с некоторыми конфигами тоже - например 3proxy так делает. @grishka@friends.grishka.me Если точнее, никсы умеют опознавать файлы по расширению, но это не единственный способ. @grishka Или если тип исполняемого файла, например чтобы ./file.exe запускался в wine, то https://en.m.wikipedia.org/wiki/Binfmt_misc @drq |
Dr. Quadragon ❌, старая макось была не юниксом, там всё совсем своё, ни с чем не совместимое и вообще изначально на паскале. А как графические файл-менеджеры в линуксе определяют чем открывать файл, когда ты на него нажал, если не по расширению?