Как сделать файл исполняемым в Linux?
Итак, что такое исполняемость?
Это свойство файла, которое позволяет операционной системе понять, что файл содержит инструкции для выполнения программы.
Для процессора нет разницы между инструкциями и данными, они оба представлены в виде байтов. Конкретная последовательность байтов указывает процессору на необходимость выполнения определенных действий.
Для системы важно определить, какие файлы должны быть выполнены по инструкции, а какие - нет. И для этого используются флаги исполняемости. Содержимое файла не меняется в зависимости от флага исполняемости, отличие заключается только в нескольких строках кода. Для скриптов работает аналогичный принцип, но команды выполняет интерпретатор, такой как оболочка bash. Обычные программы также имеют свой загрузчик, например, ld-linux.so.2.
В Linux существует утилита chmod, которая позволяет управлять флагами исполняемости. Синтаксис команды выглядит следующим образом:
$ chmod категория действие флаг адрес_файла
Здесь важно учесть следующее:
Флаг может быть одним из трех: r (чтение), w (запись), x (исполнение).
Категория может быть одной из трех: владелец файла (u), группа данных (g), все остальные пользователи (o).
Действие может быть + (установка флага) или - (снятие флага).
Для того чтобы сделать файл исполняемым в Linux, достаточно выполнить следующую команду:
$ chmod u+x адрес_файла
В большинстве случаев это будет достаточно, однако, если требуется предоставить права на выполнение файлов другим пользователям, необходимо использовать следующую команду:
$ chmod ugo+x адрес_файла
Чтобы просмотреть флаги исполняемости файлов в терминале, можно воспользоваться утилитой ls:
$ ls -l каталог_с_файлами
Флаги исполняемости будут отображены для каждой категории. Если флаг не установлен, вместо него будет прочерк.
Снятие флага исполняемости выполняется аналогично, просто используется знак минус перед флагом:
$ chmod u-x адрес_файла
Теперь рассмотрим, как установить флаг исполняемости в графическом интерфейсе (GUI). Для примера рассмотрим менеджер файлов GNOME, Nautilus. Чтобы установить флаг исполняемости, щелкните правой кнопкой мыши на файле или скрипте, выберите "Свойства" в контекстном меню, затем перейдите на вкладку "Права" и поставьте галочку напротив "Разрешить выполнение файла как программы". Теперь файл будет выполняться непосредственно из менеджера файлов. Вуаля, готово. Теперь у вас не возникнет проблем с запуском программ и скриптов из интернета.