Как сделать файл исполняемым в Ubuntu Linux

делаем файл исполняемым в linux ubuntu manjaro

Очень часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл исполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент вызывает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно.

Как определяется исполняемый файл linux

Для начала немного теории. В Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их расширению. Например расширения .exe, .com, .bat говорили операционной системе, что эти файлы являются исполняемыми. В Linux и прочих unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. конечно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из своих эстетических соображений. Для операционной системы это не будет иметь никакого значения.

Ну и главный вопрос как же операционная система определяет какой файл исполняемый, является программой, а какой нет. Здесь нужно чтобы совпало 2 условия:

  1. Файл, который вы хотите запустить должен быть двоичным файлом программы или скриптом написанным на языке программирования для которого в системе установлен интерпретатор;
  2. Для пользователя, который хочет запустить программу, должны быть установлены права разрешающие запуск файла как программы.

Узнать является ли файл программой можно выполнив в терминале команду:

file /путь/к/файлу

Если в выводе вы увидите после имени файла три буквы ELF -то это двоичный файл программ. Если в выводе команды вы увидите слово script, то операционная система определяет такой файл как файл программы написанной на скриптовом языке программирования. Например Bash или Python. Ниже пример вывода команды file.

file scrip.sh
#scrip.sh: Bourne-Again shell script, ASCII text executable

file scrip.py
#scrip.py: Python script, ASCII text executable

file /usr/bin/bash
#/usr/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2a9f157890930ced4c3ad0e74fc1b1b84aad71e6, for GNU/Linux 3.2.0, stripped

В графике, используя файловый менеджер вашей любимой среды рабочего стола (KDE, GNOM, XFCE и т.д.), кликните правой кнопкой мыши по файлу, затем откройте свойства файла и вы так же увидите эту информацию.

Осталось только установить права на выполнения файлов. Делается это очень просто — это устанавливается одним из битов прав на файл. Как и права на чтение и запись права на запуск файла так  же могут быть назначены трём группам пользователей:

  1. владельцу файла;
  2. группе файла;
  3. всем остальным пользователям.

Таким образом, чтобы сделать файл исполняемым в Linux нужно назначить ему права на запуск в качестве программы. Далее операционная система определяет тип файла по заголовку и в зависимости от того какого типа заголовок файла происходит запуск соответствующего процесса. Например если исполняемый файл является двоичным кодом программы то он выполняется операционной системой, а если это скрипт bash или python, то запускается соответствующий интерпретатор и ему передаётся содержимое файла на выполнение.

Установка прав на запуск файла в консоли Linux

Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо выполнить в окне терминала простую команду:

chmod +x имя_файла

или

sudo chmod +x имя_файла

Эта команда установит права на исполнение для всех пользователей.

Например:

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

 

Сделать файл исполняемым в Gnome

Сделать аналогичное в графическом интерфейсе можно кликнув правой кнопкой по имени файла и выбрав пункт свойства:

ubuntu свойства файла

Затем на вкладке права необходимо поставить галку «Разрешить выполнение файла как программы»

ubuntu исполняемый файлНа этом процедура закончена и вы можете сразу запустить файл на исполнение дважды кликнув по нему левой клавишей мыши или выполнив в окне терминала команду (находясь в папке с исполняемым файлом):

./имя_файла

Сделать файл исполняемым в KDE

В KDE сделать файл исполняемым так же просто как и в Gnome или XFCE, достаточно просто кликнуть правой кнопкой мыши по файлу и выбрать в контекстном меню пункт свойства.

сделать файл исполняемым в kde свойства файла

Затем в свойствах на вкладке права необходимо установить галочку в поле «Является выполняемым». И нажав кнопку «ОК» применить права к файлу.

установка прав на запуск файла в KDE

Заключение

Теперь вы знаете что такое в Linux исполняемый файл и как сделать файл исполняемым в Linux с помощью консольной команды или графического интерфейса. В инструкции мы рассмотрели установку бита на выполнение с использованием рабочего стола Ubuntu, однако в Linux бывают разные графические среды и в этих средах методы установки прав доступа и прав на выполнения могут немного отличаться. А вот способ как сделать файл исполняемым с помощью консольной команды универсален для всех дистрибутивов Linux и в большинстве других unix-подобных системах.

Один мальчик подписался на телеграм-канал Игры в Linux и получил бесплатную игру в Steam! Новости из мира игр в Linux, свежие обзоры игр и полезные инструкции всегда под рукой!

Константин Дьяченко

Автор и основатель сайта Игры в Linux с 2010 года. Пользователь Linux с 2002. Старый злобный сисадмин с 1997.

Если Вам интересна тематика сайта и вы хотите каким-то образом поучаствовать в жизни сайта и его сообществ - напишите мне! Все контакты в разделе о сайте.

Игры в Linux
Добавить комментарий

Поля email и сайт не являются обязательными. Оставляя комментарий вы соглашаетесь с политикой конфиденциальности сайта.

  1. Андрей

    Для того чтобы сделать файл исполняемым в Ubuntu Linux, нужно использовать команду «chmod +x», а затем указать путь к файлу. Это позволит запускать файл как программу через терминал или двойным кликом мыши.

    Ответить
  2. трюфель

    красавчик!
    использовал в ubuntu 16.04 для запуска *.run

    Ответить