Я новичок в программировании и компьютерах. Итак, вот мой вопрос: когда я дважды щелкаю, например, файл .exe или .jpg, как операционная система знает, как вести себя с этим файлом? Я имею в виду, является ли расширение файла единственным, что заставляет операционную систему вести себя по-разному с файлами?
2 ответа
1
Там нет простого ответа. Но вкратце:
- обе операционные системы и приложения могут использовать содержимое файла или атрибуты файла (например, имя), чтобы определить, как обращаться с файлом.
- Microsoft Windows повсеместно использует суффикс файлов (например,
.exe
), но даже для этого существуют разные двоичные форматы для файлов .exe (соответствующие ресурсам, которые им необходимы). Для обычного конечного пользователя разницы нет. Дальнейшее обсуждение различий между файлами ".exe" см. В чем разница между PE32+ и PE32? - Фактическое поведение в Microsoft Windows настраивается и сохраняется в системном реестре. Имя для этого - "ассоциации файлов", и вы можете изменить их через проводник, как описано в разделе «Изменение программы, которая открывает тип файла».
- В Unix-подобных системах приложения (а не операционная система) с большей вероятностью используют соглашение об именовании файлов (суффиксы) для принятия решения о том, как обрабатывать файл. Например, mailcap и MIME-типы используются большинством веб-браузеров. Вопрос Как получить список программ, которые могут открыть определенное расширение файла в Linux? скользит поверхность этого аспекта.
- В Unix-подобных системах операционная система в первую очередь смотрит на содержимое файла, например, так называемые строки "hash-bang" в начале скриптов и другие текстовые файлы (см. Так как я не могу Google это "#!"что именно это используется в URL), а также бинарные заголовки.
file
программы полезен для предоставления информации о любом из них. Приложения (такие какgzip
иunzip
), которые заботятся о своих двоичных форматах, также проверяют содержимое файла.
0
Это зависит от того, о какой операционной системе вы говорите. Но поскольку вы упомянули «.exe», я предполагаю, что вы говорите о какой-то версии Microsoft Windows. В Windows (за некоторыми исключениями) расширение файла - это то, что используется для определения того, что делать с файлом, когда вы дважды щелкаете по нему в Windows Explorer.