- Делаем файл исполняемым в Linux
- Что означает исполняемость?
- Как сделать файл исполняемым
- Как установить флаг исполняемости в GUI
- Как сделать файл исполняемым в Ubuntu Linux
- Как определяется исполняемый файл linux
- Установка прав на запуск файла в консоли Linux
- Сделать файл исполняемым в Ubuntu
- Сделать файл исполняемым в KDE
- Заключение
- Как в Linux сделать файл исполняемым?
- Исполняемые файлы в Linux
- Характерные черты исполняемых файлов в Linux
- Назначение прав для запуска файла в Linux
- Установка прав на пуск в Linux
Делаем файл исполняемым в Linux
Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого из них есть три режима исполняемости: чтение, исполнение и запись. Именно эти режимы определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.
Что означает исполняемость?
Но для начала нужно разобраться с таким вопросом, как: что такое исполняемость и что это вообще означает? Начнем с программы, являющейся набором инструкций, выполняемых процессором над совокупностью данных с целью получения нужного результата. Для процессора не существует разницы между инструкциями и данными.
И первые, и вторые состоят из цифр – байт. То есть, определенное сочетание цифр будет означать для процессора необходимость выполнения конкретного действия. Для процессора нет принципиальной разницы, какой процесс выполнять – данные операционной системы или текстовый файл. И первый, и второй будут выполнены, вот только в случае с текстовым необходимость в инструкциях фактически отпадает.
Для понимания системой, какие должны быть выполнены по инструкции, а какие выполнять не нужно, и были придуманы флаги исполняемости. Фактически содержимое никак не изменяется в зависимости от установленного класса исполняемости – отличие сводится только к нескольким строчкам. Со скриптами все работает точно так же, только команды выполняет не процессор, а интерпретатор, например, в bash скриптах — сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик — это ld-linux.so.2.
Как сделать файл исполняемым
В системе Linux предусмотрена специальная утилита, которая позволяет управлять флагами, которая получила название chmod. Для вызова этой утилиты необходимо задействовать синтаксис:
$ chmod категория действие флаг адрес_файла
И здесь необходимо учитывать следующее:
Флаг — один из доступных — r (чтение), w (запись), x (выполнение).
Категория — могут устанавливаться для трех категорий: владельца файла, группы данных и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
Действие — может быть + (плюс), что будет значить установить флаг или — (минус) снять флаг.
Таким образом, чтобы сделать исполняемым скрипт в Linux, пользователю необходимо выполнить:
Зачастую уже этого достаточно, чтобы сделать его исполняемым, но если необходимо наделить других пользователей полномочиями исполнять эти файлы, еще необходимо добавить:
Чтобы посмотреть их в терминале достаточно воспользоваться утилитой ls:
Флаги включены для всех категорий. Первое rwx — флаги владельца, второе — группы, а третье — для всех остальных. Если он не установлен, на его месте будет прочерк.
Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
Дальше рассмотрим вопрос установки управляемости в GUI.
Как установить флаг исполняемости в GUI
Для новичков эта инструкция окажется проще. Рассмотрим на примере менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему объекту программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:
Переходим на вкладку права и устанавливаем галочку «Разрешить выполнение файла как программы»:
Теперь он будет запущен системой непосредственно из менеджера. Вот и вся инструкция. Теперь с запуском программы или скрипта из интернета у вас не возникнет трудностей.
Как сделать файл исполняемым в Ubuntu Linux
Очень часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл исполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент вызывает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно.
Как определяется исполняемый файл linux
Для начала немного теории. В Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их расширению. Например расширения .exe, .com, .bat говорили операционной системе, что эти файлы являются исполняемыми. В Linux и прочих unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. конечно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из своих эстетических соображений. Для операционной системы это не будет иметь никакого значения.
Ну и главный вопрос как же операционная система определяет какой файл исполняемый, является программой, а какой нет. Всё очень просто — это устанавливается одним из битов прав на файл. Как и права на чтение и запись права на запуск файла так же могут быть назначены трём группам пользователей:
Таким образом, чтобы сделать файл исполняемым в Linux нужно назначить ему права на запуск в качестве программы. Далее операционная система определяет тип файла по заголовку и в зависимости от того какого типа заголовок файла происходит запуск соответствующего процесса. Например если исполняемый файл является двоичным кодом программы то он выполняется операционной системой, а если это скрипт bash или python, то запускается соответствующий интерпретатор и ему передаётся содердержимое файла на выполнение.
Установка прав на запуск файла в консоли Linux
Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо выполнить в окне терминала простую команду:
Эта команда установит права на исполнение для всех пользователей.
$ls -la итого 8 drwxrwxr-x 2 dkplayer dkplayer 4096 окт. 30 21:57 . drwxr-xr-x 24 dkplayer dkplayer 4096 окт. 30 21:57 .. -rw-rw-r-- 1 dkplayer dkplayer 0 окт. 30 21:57 test1 $chmod +x test1 $ls -la итого 8 drwxrwxr-x 2 dkplayer dkplayer 4096 окт. 30 21:57 . drwxr-xr-x 24 dkplayer dkplayer 4096 окт. 30 21:57 .. -rwxrwxr-x 1 dkplayer dkplayer 0 окт. 30 21:57 test1
Сделать файл исполняемым в Ubuntu
Сделать аналогичное в графическом интерфейсе можно кликнув правой кнопкой по имени файла и выбрав пункт свойства:
Затем на вкладке права необходимо поставить галку «Разрешить выполнение файла как программы»
На этом процедура закончена и вы можете сразу запустить файл на исполнение дважды кликнув по нему левой клавишей мыши или выполнив в окне терминала команду (находясь в папке с исполняемым файлом):
Сделать файл исполняемым в KDE
В KDE сделать файл исполняемым так же просто как и в Gnome или XFCE, достаточно просто кликнуть правой кнопкой мыши по файлу и выбрать в контекстном меню пункт свойства.
Затем в свойствах на вкладке права необходимо установить галочку в поле «Является выполняемым». И нажав кнопку «ОК» применить права к файлу.
Заключение
Теперь вы знаете что такое в Linux исполняемый файл и как сделать файл исполняемым в Linux с помощью консольной команды или графического интерфейса. В инструкции мы рассмотрели установку бита на выполнение с использованием рабочего стола Ubuntu, однако в Linux бывают разные графические среды и в этих средах методы установки прав доступа и прав на выполнения могут немного отличаться. А вот способ как сделать файл исполняемым с помощью консольной команды универсален для всех дистрибутивов Linux и в большинстве других unix-подобных системах.
Один мальчик подписался на телеграм-канал Игры в Linux и получил бесплатную игру в Steam! Новости из мира игр в Linux, свежие обзоры игр и полезные инструкции всегда под рукой!
Как в Linux сделать файл исполняемым?
Весьма часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл выполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент возбуждает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно. Для начала чуть-чуть теории. в Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их продолжению.
В Linux и других unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. безусловно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из собственных эстетических соображений. Для операционной системы это не будет иметь никакого значения. Ну и главный вопрос как же операторная система определяет какой файл исполняемый, является программой, а какой нет. Всё очень элементарно — это устанавливается одним из битов прав на файл.
Исполняемые файлы в Linux
В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.
Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.
Характерные черты исполняемых файлов в Linux
Пользователи, активно применяющие в повседневной работе операционную систему Windows, свыкнули к тому, что программы имеют расширение «.exe». Такие файлы содержат скомпилированный программный код, или иными словами – последовательность байтов, которая загружается в оперативную память и выполняется процессором. Linux реализует асбсолютно другой подход. Ранее, изучая написание скриптов командного интерпретатора Bash, мы уже поспели рассмотреть пример создания исполняемого файла. Он в отличие от Windows представляет собой обыкновенный текстовый документ с набором команд. Его особенностью является то, что перед основным содержимым дополняется специальный комментарий, говорящий операционной системе Linux, какую программу использовать для интерпретации. Кроме скрипта, исполняемым файлом является и скомпилированная программа. Таким образом, все файлы в Linux смогут быть, как обычными текстовыми документами, так и исполняемыми программами. Отличие лишь в специальных флагах и преимуществах доступа операционной системы (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство).
Назначение прав для запуска файла в Linux
Сделать файл вразумительным для запуска можно с помощью графической оболочки. Нажмите по ярлыку правой кнопкой мыши. В контекстуальном меню выберите пункт «свойства». Открывшееся окно должно содержать вкладку «преимущества», в котором нужно активировать пункт «разрешить выполнение файла как программы». Данный метод будет отличаться в зависимости от дистрибутива Linux и графической оболочки. Также возможно приставить права запуска через консоль. Для этого используется команда chmod. Пример, презентованый ниже, устанавливает право выполнения для владельца файла и его группы. Вы можете скопировать Bash-скрипт из первоначального примера в файл и провести с ним данную операцию.
Установка прав на пуск в Linux
Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо осуществить в окне терминала простую команду:
Вот и все, сейчас вы знаете как сделать файл исполняемым в Linux. И если нужно будет запустить script или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментах!