Список расширений исполняемых файлов / FAQ / CTS
Файл с исполняемым расширением (см. Что такое расширение файла?) в отличие от других форматов файлов, которые только содержат данные, например, музыку, видео, текстовый документ и т.п., могут быть запущены на исполнение. Т.е., если вы открываете файл с одним из исполняемых расширений, ваш компьютер может, без вашего дальнейшего участия, выполнить одну или несколько операций, запрограммированных в этом файле. Это могут быть как полезные действия, например, запуск текстового редактора или интернет-браузера, так и действия несущие в себе опасность для ваших данных или других программ на компьютере, т.е. это может быть компьютерный вирус.
Поэтому, при открытии исполняемых файлов, следует соблюдать повышенную осторожность, особенно, если вы получили этот файл из неизвестного вам источника, например, по почте от неизвестного адресата или с незнакомого сайта.
Примечание: это не полный, но пополняемый список исполняемых расширений файлов. Если вы знаете еще о каком-то исполняемом расширении файла, пожалуйста, сообщите.
Расширение | Формат | Windows | MacOS | Linux | Android | iOS |
---|---|---|---|---|---|---|
ACTION | Automator Action | ● | ||||
APK | Приложение | ● | ||||
APP | Исполняемый файл | ● | ||||
BAT | Batch File | ● | ||||
BIN | Binary Executable | ● | ● | ● | ||
CMD | Command Script | ● | ||||
COM | Command File | ● | ||||
COMMAND | Terminal Command | ● | ||||
CPL | Control Panel Extension | ● | ||||
CSH | C Shell Script | ● | ● | |||
EXE | Исполняемый файл | ● | ||||
GADGET | Windows Gadget | ● | ||||
INF1 | Setup Information File | ● | ||||
INS | Internet Communication Settings | ● | ||||
INX | InstallShield Compiled Script | ● | ||||
IPA | Приложение | ● | ||||
ISU | InstallShield Uninstaller Script | ● | ||||
JOB | Windows Task Scheduler Job File | ● | ||||
JSE | JScript Encoded File | ● | ||||
KSH | Unix Korn Shell Script | ● | ||||
LNK | File Shortcut | ● | ||||
MSC | Microsoft Common Console Document | ● | ||||
MSI | Windows Installer Package | ● | ||||
MSP | Windows Installer Patch | ● | ||||
MST | Windows Installer Setup Transform File | ● | ||||
OSX | Исполняемый файл | ● | ||||
OUT | Исполняемый файл | |||||
PAF | Portable Application Installer File | ● | ||||
PIF | Program Information File | ● | ||||
PS1 | Windows PowerShell Cmdlet | ● | ||||
REG | Registry Data File | ● | ||||
RGS | Registry Script | ● | ||||
RUN | Исполняемый файл | ● | ||||
SCT | Windows Scriptlet | ● | ||||
SH | Shell Script | ● | ● | |||
SHB | Windows Document Shortcut | ● | ||||
SHS | Shell Scrap Object | ● | ||||
U3P | U3 Smart Application | ● | ||||
VB | VBScript File | ● | ||||
VBE | VBScript Encoded Script | ● | ||||
VBS | VBScript File | ● | ||||
VBSCRIPT | Visual Basic Script | ● | ||||
WORKFLOW | Automator Workflow | ● | ||||
WS | Windows Script | ● | ||||
WSF | Windows Script | ● |
Если вы не нашли ответ или нужную информацию, задайте вопрос через форму обратной связи. Или напишите комментарий здесь.
Название формата | Операционная система | Расширение имени файла | Явное указание процессора | Произвольные разделы | Метаданные | Цифровая подпись | Таблица строк | Таблица символов | 64 бита | Многоархитектурные | Может содержать значок |
---|---|---|---|---|---|---|---|---|---|---|---|
OS/360 | Системы мейнфреймов OS/360 и VS/9 | Нет | Нет | Нет | Нет | Нет | Нет | Да | Да | Нет | Нет |
a.out | UNIX-подобная | Нет | Нет | Нет | Нет | Нет | Да[1] | Да[1] | Расширение | Нет | Нет |
COFF | UNIX-подобная | Нет | Да для файла | Да | Нет | Нет | Да | Да | Расширение | Нет | Нет |
ECOFF | Ultrix, Tru64 UNIX, IRIX | Нет | Да для файла | Да | Нет | Нет | Да | Да | Да | Нет | Нет |
XCOFF | IBM AIX, BeOS, Mac OS | Нет | Да для файла | Да | Нет | Нет | Да | Да[2] | Да | Нет | Нет |
ELF | UNIX-подобная | Нет | Да для файла | Да | Да | Да[3] | Да | Да[4] | Да | Расширение[5] | Расширение[6] |
Mach-O[7] | NeXTSTEP, OS X, iOS | Нет | Да для секции | Some (limited to max. 256 sections) | Да | Да | Да | Да | Да | Да | Нет |
SOM | HP-UX, MPE/ix | Неизвестно | Неизвестно | Неизвестно | Нет | Нет | Неизвестно | Да | Нет | Неизвестно | Нет |
Amiga Hunk | AmigaOS | Неизвестно | Неизвестно | Да | Да | Нет | Нет | Да | Нет | Да | Нет |
PEF[8] | Mac OS | Нет | Да для файла | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет |
CMD | CP/M-86, MP/M-86, Concurrent CP/M-86, Personal CP/M-86, S5-DOS, Concurrent DOS, Concurrent DOS 286, FlexOS, S5-DOS/ST, S5-DOS/MT, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .CMD | Нет (только x86) | Да | Нет | Нет | Расширение | Расширение | Нет | Нет | Нет |
FlexOS 186 | FlexOS 186, FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS | .186 | Нет (только 186/188 и выше) | Да | Нет | Нет | Расширение | Расширение | Нет | Нет | Нет |
FlexOS 286 | FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS | .286 | Нет (только 286 и выше) | Да | Нет | Нет | Расширение | Расширение | Нет | Нет | Нет |
CP/M-68K | CP/M-68K, Concurrent DOS 68K, FlexOS 68K | .68K | Нет (только 68000 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
COM (CP/M) | CP/M, MP/M, Concurrent CP/M, Personal CP/M | .COM | Нет (только 8080/Z80) | Расширение (только BDOS 3 и выше) | Нет | Нет | Нет | Нет | Нет | Расширение | Нет |
COM (DOS) | DOS, OS/2, Windows (за исключением 64-разрядных версий), Concurrent CP/M-86 (только BDOS 3.1), Concurrent DOS, Concurrent DOS 286, FlexOS, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .COM | Нет (только x86) | Нет | Расширение (Novell/Caldera VERSION etc.) | Нет | Нет | Нет | Расширение | Расширение | Нет |
MZ (DOS) | DOS, OS/2, Windows (за исключением 64-разрядных версий), Concurrent DOS 286, FlexOS, Concurrent DOS 386, Multiuser DOS, System Manager, REAL/32, DOS Plus | .EXE | Нет (только x86) | Да | Расширение(Novell/Caldera VERSION etc.) | Нет | Расширение | Расширение | Расширение | Нет | Нет |
MZ (GEM) | GEM, ViewMAX | .APP/.ACC | Нет (x86 only) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Неизвестно |
NE | European MS-DOS, OS/2, Windows, HX DOS Extender | .EXE | Неизвестно | Неизвестно | Неизвестно | Нет | Неизвестно | Неизвестно | Нет | Нет | Да |
LE, (W3, W4) | OS/2 (только 2.0 и выше), Some расширители DOS | .EXE | Неизвестно (только 286 и выше) | Неизвестно | Неизвестно | Неизвестно | Нет | Да | Нет | Нет | Да |
LX | OS/2 (2.0 and higher only), Some 32-битные расширители DOS | .EXE | Неизвестно (только 386 и выше) | Неизвестно | Неизвестно | Неизвестно | Нет | Да[9] | Нет | Нет | Да |
PE | Windows, ReactOS, HX DOS Extender, BeOS (только R3 и выше) | .EXE | Да для файла | Да | Да | Да[10] | Да | Да | Нет | Нет | Да |
PE32+ | Windows (только 64-битные) | .EXE | Да для файла | Да | Да | Да | Да | Да | Да | Нет | Да |
PIM/XIP | PalmDOS (только приложения MINIMAX) | .PIM/.XIP | Нет (только x86) | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
DL | MS-DOS приложения System Manager (только HP LX series) | .EXM | Нет (только 186/188 и выше) | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
MP | Phar Lap расширители DOS | .EXP | Неизвестно ([только 286 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
P2 | Phar Lap 16-битные расширители DOS | .EXP | Неизвестно (только 286 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
P3 | Phar Lap 32-битные расширители DOS | .EXP | Неизвестно (только 386 и выше) | Да | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет |
GEOS | PC/GEOS, Geoworks Ensemble, New Deal Office, Breadbox Ensemble | .GEO | Неизвестно (только x86) | Неизвестно | Неизвестно | Нет | Неизвестно | Неизвестно | Нет | Нет | Неизвестно |
Что такое исполняемые файлы и какими они бывают?
Исполняемыми файлами называются файлы, содержащие в себе готовые к запуску компьютерные программы.
Исполняемый файл — словосочетание, довольно часто встречающееся, в основном, в документации. В живом общении (в том числе и в виртуальном) для обозначения данного вида файлов пользователи используют менее громоздкие термины, более точно отражающие, что именно они имеют в виду.
Итак, что же скрывается за этим словосочетанием? Исполняемыми файлами называются файлы, содержащие в себе готовые к запуску компьютерные программы. В зависимости от того, в каком виде записана программа в исполняемом файле, выделяют две большие подгруппы файлов данного класса. Первая подгруппа — это бинарные файлы; они содержат в себе запись программы в виде специальных машинных кодов, которые, чаще всего, передаются непосредственно процессору. Такие файлы ещё сокращённо называют бинарниками. В противоположность им существуют исполняемые файлы, в которых программа записана в виде текста — то есть, в том самом виде, в каком с ней работал создавший её программист. Такие исполняемые файлы называют скриптами. Также этот термин нередко употребляют и по отношению к самим программам, которые хранятся в подобных файлах.
Для выполнения программ из большинства бинарных исполняемых файлов достаточно только операционной системы, которая их поддерживает. Для выполнения скриптов нужен интерпретатор, который будет переводить текст программы последовательно в процессорные команды. Для запуска некоторых исполняемых файлов бинарного формата также нужны интерпретаторы.
В Windows наиболее распространены бинарные исполняемые файлы. Самый часто встречающийся их вид — это приложение. Приложения имеют расширения EXE и могут запускаться самостоятельно. Помимо них, существуют динамические библиотеки (их расширение — DLL), которые содержат в себе общие для разных приложений функции. Ещё есть драйверы (DRV или VXD) — специальные программы, нужные для того, чтобы система могла взаимодействовать с конкретными моделями тех или иных устройств. Исполняемые файлы (в Windows особенно) могут зависеть друг от друга: например, для запуска любого приложения нужны определённые системные динамические библиотеки, а им, в свою очередь, нужны драйверы.
Следует заметить, что исполняемые файлы содержат в себе не только непосредственно сами программы, но и разные дополнительные данные. Это могут быть различные графические ресурсы, отображаемые программой, тексты надписей, описания диалоговых окон и т.п. Ярким примером этого могут служить самораспаковывающиеся архивы, которые содержат внутри себя большие объёмы упакованной с целью уменьшения её объёма при передаче или хранении информации.
Вадим СТАНКЕВИЧ
Исполняемые файлы имеют расширение какого типа? Наиболее распространенные
Многие пользователи компьютерных систем наверняка в той или иной степени сталкивались с понятием исполняемого файла программы. Исполняемые файлы не всегда, но довольно часто имеют расширение EXE, которое является общепринятым для операционных систем семейства Windows. Чтобы немного прояснить вопрос, связанный с расширениями, мы рассмотрим общую информацию об этих объектах, а также рассмотрим некоторые типы основных расширений.
Чем исполняемые файлы отличаются от других объектов
Прежде чем утверждать, что исполняемый файл программы может иметь расширение только одного определенного типа, необходимо разобраться в том, как отличить такой объект от других. К основным отличиям исполняемых файлов от других информационных данных можно отнести следующие факторы: само расширение, которое указывает на содержание в файле либо машинного, либо байт-кода виртуальной машины, сигнатура, атрибуты в файловой системе. Однако даже если пользователь знает, что исполняемые файлы имеют расширение имени типа EXE, то обычными средствами посмотреть содержимое не получится, поскольку такие объекты обладают компилированным содержимым, которые отображается при просмотре в виде бессмысленного набора символов. В общем случае пользователю придется использовать средства Disassembler, или что-то подобное, что позволяет выполнить декомпиляцию. Но речь пойдет не об этом.
Исполняемые файлы: структура
Что же касается построения исполняемых файлов, то они должны содержать заголовки (предполагаемое выполнение инструкций, параметры и форматы кода) и непосредственно сами инструкции (исходные, машинные или байт-коды). В некоторых случаях в структуру могут быть включены данные для отладки, описания окружения, требования к операционной системе, списки соответствующих библиотек, звук, графика, изображения, иконки ярлыков и тому подобное. Многие из вас наверняка обращали внимание на то, что в большинстве своем у каждого такого файла в операционной системе изначально имеется иконка.
Принцип работы
Несмотря на то, что исполняемые файлы могут иметь расширение различных типов, работают они по одному принципу. Исполняемый файл при запуске загружается в память компьютера. При этом осуществляется настройка окружения и инициализация, подтягиваются дополнительные библиотеки, если их использование предусмотрено программой. Также на данном этапе происходит настройка некоторых дополнительных операций и само исполнение инструкций теми методами, которые прописаны непосредственно в файле.
Исполняемые файлы программ: какое расширение они имеют?
Теперь перейдем к рассмотрению вопроса, связанного с расширениями. Разумеется, совершенно все типы рассмотреть не получится, это займет очень много времени. Мы отметим только наиболее распространенные и популярные варианты. Итак, расширение задается в зависимости от типа содержимого. Так, например, в операционной системе типа Windows наиболее распространенные исполняемые файлы обладают расширением EXE. Это относится ко всем программам, которые рассчитаны на работу в среде данных операционных систем. Такие объекты содержат в себе машинные коды. Файлы BIN являются очень похожими. Пакетные файлы типа CMD, BAT и COM являются еще одним типом исполняемых файлов. Первый тип в данном случае является пакетным файлом Windows. Файлы второго и третьего типа относятся к операционным системам семейства DOS. Многие из вас вероятно уже встречали файлы типа MSI иMSU. Это может быть установщик обновлений системы, или родной инсталлятор операционной системы Windows. Отдельную категорию файлов составляют макросы и скрипты. Это файлы с расширениями JSE, JS, SCR,VBE, VBS, VB. Часто также встречаются файлы JAD иJAR, которые предназначены для установки приложений в мобильные устройства или использование в среде JAVA. В своем содержании такие объекты имеют уже не машинные коды, а коды виртуальных машин.
Какое расширение имеют исполняемые файлы в различных ОС?
Если внимательно посмотреть, то можно заметить, что в некоторых ОС встречаются довольно специфичные компоненты. Так, например, в операционной системе Windows имеется специальная категория исполняемых файлов. Вообще, в любой операционной системе можно найти как стандартные, так и специальные компоненты. Однако имеются и некоторые общие форматы, например, HTA, исполняемый документ HTML. Они работают практически везде вне зависимости от используемого типа операционной системы. Что же касается других типов систем, то, например, в «маках» исполняемые файлы обладают расширением APP для программ и PKG для дистрибутивов. В операционных системах семейства Linux дело обстоит немного иначе. Проблема заключается в том, что в таких операционных системах понятие расширения вообще отсутствует. Можно распознать исполняемый файл по атрибутам, например, системный, скрытый, только для чтения и т.д. В результате проблема изменения расширения для запуска или прочтения искомого файла пропадает. Впрочем, в любой операционной системе даже на мобильных устройствах можно найти огромное число объектов данного типа. Не нужно далеко ходить. В той же операционной системе семейства Android исполняемый файл установщика имеет расширение APK. В яблочных устройствах исполняемые файлы имеют расширение IPA.
Заключение
Подведем итог нашего небольшого обзора о расширении исполняемых файлов. Упор в данном случае делался в основном на объекты, которые присутствуют в операционных системах семейства Windows. Остальные операционные системы были затронуты только вскользь для общего развития. Как уже стало ясно, разнообразие исполняемых файлов очень велико. Невозможно привести какую-то сводную таблицу с указанием совершенно всех типов расширений. Поэтому в данной статье мы ограничились только наиболее распространенными форматами
Исполнить исполняемый файл. Что это в общем понимании?
Большинство пользователей современных компьютерных систем, так или иначе, сталкиваются с запуском программ, которые в большинстве своем сводятся к тому, чтобы исполнить исполняемый файл. Грубо говоря, во всех программах для запуска основного приложения используется объект формата EXE. Но это не всегда так.
В устаревших ОС вроде DOS или отличных от Windows такие файлы могут иметь совершенно другое расширение, хотя принцип старта остается абсолютно неизменным.
Исполнить исполняемый файл: что это значит?
Для полного понимания сути происходящего сначала стоит разобраться с тем, что собой представляет любой процесс запуска приложения. Тот же исполняющий файл «Навител» или любой другой программы представляет собой некий апплет, в котором прописан код запуска, распознаваемый операционной системой или дополнительными приложениями, для этого предназначенными. Но тут стоит понимать, что программы, состоящие исключительно из одного исполняемого файла, сегодня неактуальны. Как правило, в пакет включается еще огромное количество сопутствующих компонентов в виде тех же динамических библиотек, имеющих расширение DLL. Как раз-таки без них исполнить исполняемый файл возможно не всегда.
Суть в том, что при запуске основного модуля программного пакета, который и состоит в старте EXE-файла, некоторые приложения требуют «подгрузки» дополнительных модулей, которые как раз и являются файлами настроек конфигурации (config) или тех же динамических библиотек, содержащих данные о программе.
Кстати, иногда сами динамические библиотеки способны исполнять роль программ. Так, например, старт любого VST-инструмента в современной студии (DAW) происходит именно по этому принципу. Программа как таковая в виде версии Standalone может отсутствовать, но плагин в виде ее аналога с расширением DLL распознается любой программой.
Программы-исполняемые файлы: типы
Но и это еще не все. Расширение исполняемых файлов сегодня определить не так и просто, не говоря уже о файлах формата EXE или COM. Отдельно стоит отметить не только упомянутые выше стандарты, но и архивные данные.
По сути, архивы формата SFX (Self-Extracting) представляют собой самостоятельно извлекаемые данные на основе срабатывания алгоритма распаковки. Исполнить исполняемый файл такого типа проще простого. Достаточно лишь сделать двойной клик, и операция при выборе места извлечения будет произведена автоматически. На мобильных устройствах используются форматы вроде JAR, JAD APK и т. д., относящиеся к разряду установщиков.
Можно ли открыть исполняемые файлы?
Многих пользователей интересует вопрос редактирования запускаемых файлов. Сразу же стоит всех огорчить. Дело в том, что те же «экзешники» представляют собой компилированные программы, исходный код которых обычно просмотреть невозможно. Можно, конечно, применить утилиты вроде Disassembler, но и они при условии написания приложения изначально на языке C++ этого результата могут и не дать.
Как произвести простейшее редактирование?
Как уже понятно, EXE-файл в его читабельном виде открыть невозможно, поскольку сама же программа может быть написана на разных языках программирования. То же самое касается и динамических библиотек. Зато файлы конфигурации открыть можно даже в стандартном «Блокноте». А если его запустить от имени админа, можно установить даже запреты доступа к некоторым сайтам в Интернете, а после этого сохранить конфигурацию, что в обычном режиме не представляется возможным. Те же самые «конфиги» редактируются элементарно.
Можно ли сделать любой файл исполняемым?
В принципе, любой файл, находящийся на жестком диске, является исполняемым. Точнее, исполнить исполняемый файл – значит, запустить приложение, отвечающее за его открытие. Даже в автозагрузке сделать запуск файла при старте системы можно совершенно элементарно.
Достаточно внести процесс в список и указать сопутствующий объект, который будет загружаться немедленно (например, открытие документа Office). Сделать файл исполняемым – это еще далеко не самое главное.
Резюме
Таким образом, завершая тему, стоит отметить, что файлы или объекты, отвечающие за старт какого-нибудь приложения, в стандартном варианте открыть можно только двойным кликом. А вот редактировать их не представляется возможным. Правда, если программы имеют статус свободно распространяемых по лицензии GNU, вносить изменения в программный код приложений можно очень даже запросто.
Но это частный случай, который, в общем-то, с основной темой и не связан. Другое дело – запуск исполняемого файла, о котором пользователь и представления не имеет. В данном случае акцент следует сделать на вирусах, которые могут приходить в виде тех же вложений электронной почты. Если видите, что прикрепленный файл не имеет значка, не вздумайте его открывать. Хотя в равной степени это касается и вирусов, которые маскируются под такие сообщения. В этом случае вредоносная программа сможет исполнить исполняемый файл или встроенный в него код совершенно запросто, а потом возникнет огромная куча проблем.
И вызов (запуск) исполняемого файла в данном случае уже может не зависеть от самого пользователя, поскольку вирус внедрился в систему. Остается только уповать на универсальные программы в виде портативных версий или же на утилиты модификаций Rescue Disk с загрузкой и проверкой системы еще до начала старта Windows.
Исполняемый файл как таковой, что самое интересное, в загрузчике отсутствует. Зато есть конфигуратор BIN, который и отвечает за старт системы. Кроме того, в устаревших версиях Windows можно встретить еще и папки вроде i386, в которых располагаются драйверы и некоторые другие сопутствующие утилиты. Но в новых версиях системы таких объектов нет.
Типы файлов в Ubuntu | Русскоязычная документация по Ubuntu
Начинающим пользователям Ubuntu зачастую нелегко привыкнуть к некоторой специфике обращения с файлами в этой системе. Однако на самом деле всё крайне просто и очень элегантно, в этой статье я постараюсь объяснить все тонкости, чтобы потом при использовании системы вы не удивлялись некоторым непонятным с первого взгляда вещам.
Названия файлов и папок
Я уже упоминал, что в Linux все имена файлов являются регистрозависимыми, то есть вы спокойно можете создать в одном каталоге два файла с одинаковыми именами, но записанными в различных регистрах, например, Ubuntu.txt и ubuntu.txt.
Кроме того, я так же говорил, что вы можете использовать в именах файлов абсолютно любые символы, которые пожелаете, кроме прямого слеша /
1), однако в силу некоторых причин я бы не рекомендовал использовать следующие символы: \ < > *
, а также символы переноса строки и табуляции. Вы можете подписывать свои файлы китайскими иероглифами, рунами, греческими буквами и вообще чем угодно, если вам конечно будет удобно использовать такие имена2).
Ну и напоследок ещё раз напомню, что разделителем каталогов в пути к файлу в Linux всегда является символ /
, в отличие от Windows, в которой используется \
.
Доступ к файлам
В предыдущей статье я уже рассказал про права доступа к файлам, поэтому лишь кратко напомню: в Linux можно с помощью механизма разграничения прав ограничить доступ к файлу на редактирование или же просто полностью запретить доступ к содержимому. Например, все системные конфигурационные файлы закрыты для редактирования обычному пользователю, если вы попытаетесь сохранить какие-нибудь изменения в такой файл, Ubuntu вам скажет, что у вас не хватает на это прав. Некоторые же файлы вы даже не сможете открыть и посмотреть их содержимое. Если вы до сих пор не знаете, как это обойти, внимательно прочитайте предыдущую статью.
Содержимое и расширение файлов
Если вы пользовались раньше операционными системами Windows, то вы скорее всего привыкли к тому, что тип файла определяется его расширением (последняя часть имени файла после точки). Например, файл «Голубой ледопад.mp3» — это музыка в формате mp33), а «Урания.txt» — это текстовый файл4). На самом деле всё немного не так, расширение — это всего лишь часть имени файла, которое никак не зависит от собственно содержимого, и тип файла обычно определяется по-другому5). Например, перейдите в Ubuntu в какую-нибудь папку с mp3 файлами и переключитесь на режим отображения списком6). В колонке «Тип» рядом с mp3 файлами вы увидите «аудио MP3»:
Теперь переименуйте любой файл, приписав ему вместо mp3 расширение ??
.
Видите, тип файла не изменился. Если вы сейчас попробуете открыть такой файл, то он преспокойно откроется как mp3 в проигрывателе7).
Конечно расширение нужно, мало того, Ubuntu полагается в первую очередь именно на него, то есть если вы переименуете mp3 файл, добавив к нему расширение txt
, то Ubuntu будет считать такой файл текстовым. Однако то, что Ubuntu умеет смотреть не только на имя файла, спасает от многих проблем. Поэтому не удивляйтесь, когда встретите в Ubuntu файлы вообще без расширения, с которыми система преспокойно работает, ничего при этом не спрашивая.
Кстати, в Ubuntu есть мощная утилита определения типа файла, которая вообще не смотрит на имя и расширение, а пытается идентифицировать файл только по содержимому. Она бывает полезна, когда файл по каким-либо причинам не открывается, поскольку позволяет убедиться, что в нём содержаться данные именно того типа, которого вы и ожидаете там увидеть. Утилита эта консольная и называется file
. Вот что она говорит о переименованном в текстовый документ аудио в формате mp3:
Обмануть утилиту file
практически невозможно, а знает она о большинстве используемых форматов файлов.
Исполняемые файлы
В вопросах исполняемых файлов, то есть, если по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые файлы имеют расширение exe
(в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu исполняемым может быть даже текстовый файл. Сразу скажу, что exe
— это программы для Windows и в Ubuntu они не работают без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они работают далеко не всегда.
Итак, что же такое исполняемый файл с точки зрения Ubuntu? Фактически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на выполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от содержимого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и является, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Другое дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в арсенале Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.
Характерным примером необычных с первого взгляда исполняемых файлов Linux являются так называемые скрипты. Скрипты — это обычные текстовые файлы, содержащие набор инструкций для программы-интерпретатора, которая занимается собственно выполнением скриптов. Так вот, если на скрипте установлено свойство исполняемости, то это программа, которую можно запустить обычным образом, а если не установлено — то это всего лишь текстовый файл. То есть сделать файл исполняемым или же наоборот, убрать возможность его выполнения, можно изменением всего одного его свойства.
Мало того, на самом деле это магическое свойство-переключатель исполняемости является одним из трёх прав доступа, о которых я мельком упоминал в предыдущей статье. Я говорил, что у каждого файла есть три группы прав доступа — для пользователя-владельца, для группы-владельца и для всех остальных, каждая группа состоит в свою очередь из трёх прав: на чтение, модифицирование и выполнение. Так вот, право на выполнение и является тем самым волшебным переключателем исполняемости.
Из этого вытекает весьма забавное свойство: один и тот же файл может быть одновременно и исполняемым, и не исполняемым, допустим, если на его выполнение есть права только у пользователя-владельца. Тогда пользователь, которому принадлежит этот файл, сможет его запустить как программу, а для всех остальных он будет обычным файлом с данными.
Вот так всё на самом деле просто и красиво, надеюсь, вы осознали основную логику и не будете путаться при работе с исполняемыми файлами в Ubuntu.
Текстовые файлы
Текстовые файлы в Ubuntu повсюду. Все настройки хранятся в виде текстовых файлов, исходные коды всех программ представляют из себя текстовые файлы, многие программы в Ubuntu являются на самом деле скриптами, то есть тоже текстовыми файлами. И естественно Ubuntu умеет работать с текстовыми файлами как угодно. И этой темы даже не пришлось бы касаться, если бы не одна проблема операционных систем Windows. Дело в том, что в Windows до сих пор кое-где ещё используется устаревший в 90-х прошлого столетия способ сохранения обычного текста, в частности, в текстовых файлах8).
На самом деле большинство файлов откроется в стандартном текстовом редакторе Ubuntu без проблем9), но всё же иногда попадаются файлы, которые отображаются «кракозябрами». В этом случае необходимо немного помочь Gedit и указать кодировку файла вручную. Для этого закройте в редакторе вкладку с нечитаемым файлом, затем выберите в меню программы пункт «Открыть», найдите свой файл и обратите внимание на поле «Кодировка символов», находящееся внизу диалогового окна открытия. В этом поле необходимо указать нужную кодировку, после чего файл откроется уже в пригодном для чтения виде. Кстати, рекомендую такие файлы сразу сохранять в utf-8
, дабы в дальнейшем не возникало с ними проблем.
Существуют и более лёгкие способы работы с кодировками, например, плагин для Gedit, позволяющий менять кодировку у открытых файлов без необходимости их переоткрывания. Кроме того, существуют утилиты для автоматического перекодирования файлов в utf8
, например, enca
. Можно также управлять механизмом автоопределения кодировки в Gedit, это делается через редактор конфигурации, про который я немного расскажу в одной из последних статей.
Напоследок хочется сказать, что очень рекомендуется так или иначе перевести всю текстовую информацию на использование utf8
, поскольку фактически только эта кодировка нормально распознаётся везде и всегда, а в будущем скорее всего только она и будет использоваться.
Аудиофайлы
В случае с аудиофайлами также существует проблема с кодировками, только проявляется она в тегах. К сожалению, некоторые популярные Windows-программы редактирования тегов как и текстовые редакторы до сих пор используют устаревшую кодировку. Некоторые плееры Ubuntu поддерживают указание кодировки воспроизводимых файлов, однако гораздо предпочтительней обработать всю вашу медиатеку специальными программами, которые автоматически приведут все теги в нормальный вид, дабы в дальнейшем не было проблем. Самой популярной программой такого рода является EasyTag, она доступна в стандартных репозиториях, так что почти сразу после прочтения следующей статьи вы сможете ей воспользоваться.
Что же касается форматов, то Ubuntu поддерживает все существующие аудио-форматы, однако для воспроизведения некоторых требуются дополнительные кодеки. О том, как их поставить, я расскажу в одной из следующих статей.
Изменение ассоциаций файлов с приложениями
Когда вы немного освоитесь в Ubuntu, у вас возможно возникнет желание познакомиться с доступными в изобилии в репозиториях программами. И вскоре после того, как вы выберите из бесчисленного множества альтернатив подходящие для себя приложения, перед вами скорее всего встанет вполне закономерный вопрос: а как заставить определённые типы файлов открываться в установленных вами программах, а не в доступных по умолчанию?
Ответ на него весьма прост. Нажмите правой клавишей мыши на любом файле нужного типа, выберите в появившемся меню пункт «Свойства» и в открывшемся окне перейдите на вкладку «Открывать в программе»:
В списке будут содержаться все приложения, которые сообщили Ubuntu о поддержке ими выбранного типа файлов. Ну а отмечена будет программа, используемая по умолчанию. Вам останется только выбрать нужное приложение и закрыть окно, после чего файлы указанного типа начнут открываться по умолчанию в выбранном вами приложении. То есть если вы хотите, например, чтобы фильмы в формате avi открывались в установленном вами VLC, а не в медиапроигрывателе Totem, то вам всего лишь надо в свойствах любого avi файла отметить VLC в качестве приложения по умолчанию.
Кстати, вы легко можете включить свои приложения в список, нажав на кнопку «Добавить» внизу окна и выбрав одну из установленных в системе программ или введя свою команду запуска. Таким образом вы можете настроить ассоциации с любыми приложениями для всех используемых вами типов файлов.
Однако у описанного механизма есть одна небольшая проблема: чтобы изменить привязку к приложению для определённого типа файлов вам необходимо иметь файл нужного типа. Просто же посмотреть и изменить список всех используемых в системе ассоциаций по умолчанию нельзя. К счастью, подобный функционал доступен в уже упоминавшейся утилите Ubuntu Tweak, так что если вы хотите изменить ассоциации сразу для большого количества типов файлов, то советую вам использовать именно её.
В качестве заключения
В этой статье я постарался подробно рассказать об основных особенностях в работе с файлами в Ubuntu. Надеюсь, вы смогли разобраться что к чему и уловить основные моменты. Напоследок хочется заметить, что Ubuntu без какого-либо дополнительного программного обеспечения поддерживает большинство распространённых форматов файлов, специфические файлы же скорей всего можно как минимум сконвертировать в один из стандартных форматов с помощью различных программ, в изобилии доступных в репозиториях Ubuntu.
Чуть позже я расскажу как поставить пакет полной поддержки мультимедиа форматов, который не входит в Ubuntu по умолчанию из-за несовершенного законодательства некоторых стран, с которым, к сожалению, приходится считаться, но для этого необходимо рассмотреть следующую очень важную тему:
windows — В Windows, какие расширения имен файлов обозначают исполняемый файл?
В Windows, какие расширения имен файлов обозначают исполняемый файл?
Обозначим что?
Я знаю, что этот вопрос, вероятно, сейчас немного запутан, но вопрос имеет значение. Как я объясню, почему это имеет значение, вопрос станет более ясным.
Хотя ответ Кена Уайта переменной PATHEXT (в «командной среде» командной строки) является хорошим и коротким ответом , и этот ответ может хорошо работать для вас, ответ неполный. Недостаточная причина в том, что правильный ответ отличается от того, что вы пытаетесь сделать.
Например, вы можете попробовать:
- Запустите программу из «традиционной командной строки» («CMD»), набрав ее полное имя файла
- Запустите программу из «традиционной командной строки» («CMD»), набрав базовое имя файла, но оставив ее расширение
- Используйте команду «start», встроенную в «традиционную командную строку» («CMD»)
- Запустите программу из PowerShell
- Запустите программу из пункта меню «Выполнить», находящегося в меню «Пуск»
- Запустите программу из Проводника, дважды щелкнув значок, связанный с файлом, заканчивающимся расширением
- Сообщите Microsoft Internet Explorer открыть загруженный файл
- Запустите программу, используя функцию из Microsoft Windows API. (Это то, чего обычно не делают конечные пользователи, но компьютерные программисты могут это сделать, и поэтому информация относится к ним.)
Некоторые из этих методов запуска программ могут использовать разные методы определения того, какие расширения имен файлов могут поддерживаться. В частности, использование CMD может отличаться от меню Run.
Например, озадачивающий блог Уэса: настройка команды запуска Windows … отмечает разные местоположения проверяя, включая раздел реестра.
Ответ может также зависеть от того, какая версия Microsoft Windows используется. В Windows 10 я просто набрал имя zip-файла в командной строке и открыл Windows Explorer. Я, кажется, помню, что не работал в Windows XP (хотя в Windows XP я мог ввести «start filename.zip» и получить тот же эффект). Таким образом, либо моя память неисправна, либо Microsoft пытается внести улучшения в новые версии Windows. (Надеюсь, для меня, последнего.)
В традиционной командной строке Windows 10 (запуск «CMD»), когда я перехожу к местоположению (используя команду «CD») zip-файла и набираю «filename.zip», тогда файл откроется. Когда я перехожу в это место и набираю «filename» (оставляя расширение «.zip»), тогда Windows не находит файл. Однако, если я запустил «ECHO %PATHEXT%
», а затем «SET PATHEXT=%PATHEXT%;.ZIP
«(а затем снова» ECHO %PATHEXT%
«, чтобы убедиться, что у меня есть желаемый эффект), тогда я могу ввести» filename » и командная строка найдет файл .ZIP. Таким образом, это влияние переменной% PATHEXT%.
Вы можете увидеть другой список расширений, выполнив команду ASSOC
. Например, запуск этой команды показывает несколько строк вывода, включая следующее (в моей системе) — «.zip=CompressedFolder
». Затем я вижу, что это работает, набрав «FTYPE | FIND /I "CompressedFolder"
». (Это предназначено для традиционной командной строки. PowerShell не понравится эти незаметные кавычки.) (Если вы просто наберете «FTYPE
» без остальной части этой командной строки вы увидите немного больше информации о других расширениях.)
Если я нахожу «ASSOC | FIND /C "."
», на моем компьютере с Windows 10, то обнаруживаю, что у меня есть 339 строк вывода, когда я проверяю для файловых ассоциаций таким образом.
MS KB162059 — все о настройке того, как Internet Explorer открывает документы Office.
Итак, запрос списка исполняемых файлов по умолчанию слишком расплывчатый. Различные компоненты Microsoft Windows могут использовать разные ресурсы, поэтому вопрос должен быть более конкретным для точного ответа.
В вопросе об использовании обозревателя дважды щелкните значок. Чтобы просмотреть список исполняемых файлов, используемых этим, я считаю, что вы захотите проверить реестр. Вы можете запустить это из командной строки:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
(я не буду перечислять их здесь. На моем компьютере с Windows 10 их 286).
Здесь перечислены расширения. Чтобы просмотреть дополнительную информацию, включая сведения о расширениях:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts /s
Итак, как вы можете видеть, этот, казалось бы, невинный вопрос может быть довольно сложной темой. Я считаю, что я сделал свое дело, почему вопрос должен быть довольно конкретным, чтобы иметь возможность получить полный ответ, который полностью учитывает, как один компонент Windows может определять расширения имен файлов. В оболочке ореха для Windows существует не один ответ, так как в Windows есть несколько компонентов, которые ведут себя по-разному. Надеюсь, я начал показывать это и указал на некоторые дополнительные ресурсы, которые показывают соответствующую информацию.