Найти в Дзене
UFO.Hosting

Простая инструкция, как сделать файл в Linux исполняемым

В Linux запуск программ сильно отличается от Windows. Внешне процесс может показаться похожим: вам нужно дважды кликнуть на файлик, чтобы скрипт или программа запустилась. Однако, дьявол как всегда кроется в деталях: в Linux система не предполагает, что любой файл по умолчанию можно запустить. Пока вы вручную не дадите ему права на исполнение, он просто останется набором данных. Хотите стабильный сервер на Linux без переплат? По промокоду DZEN вас ждёт скидка 10% на виртуальные и выделенные серверы от UFO.Hosting. Мощные процессоры, быстрые NVMe-диски и скорость до 10 Гбит/с — отличная база, чтобы ваши проекты работали без сбоев. Вот пример нескольких ситуаций, в которых вам может это понадобиться: Если не дать скрипту необходимые права, то при его запуске вы получите ошибку вроде такой: bash: ./script.sh: Permission denied Чтобы сделать файл исполняемым, в терминале используют команду: chmod +x файл Утилита chmod отвечает за изменение прав доступа, а ключ +x означает «добавить право н
Оглавление

В Linux запуск программ сильно отличается от Windows. Внешне процесс может показаться похожим: вам нужно дважды кликнуть на файлик, чтобы скрипт или программа запустилась. Однако, дьявол как всегда кроется в деталях: в Linux система не предполагает, что любой файл по умолчанию можно запустить. Пока вы вручную не дадите ему права на исполнение, он просто останется набором данных.

Хотите стабильный сервер на Linux без переплат? По промокоду DZEN вас ждёт скидка 10% на виртуальные и выделенные серверы от UFO.Hosting. Мощные процессоры, быстрые NVMe-диски и скорость до 10 Гбит/с — отличная база, чтобы ваши проекты работали без сбоев.

Вот пример нескольких ситуаций, в которых вам может это понадобиться:

  • вы написали bash-скрипт и хотите запускать его командой ./script.sh;
  • скачали из GitHub проект, где есть install.sh или другой установщик;
  • скомпилировали программу из исходников и получили файл без прав на запуск;
  • работаете с собственными утилитами в локальной папке, а не через системный /usr/bin.

Если не дать скрипту необходимые права, то при его запуске вы получите ошибку вроде такой:

bash: ./script.sh: Permission denied

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

Чтобы сделать файл исполняемым, в терминале используют команду:

chmod +x файл

Утилита chmod отвечает за изменение прав доступа, а ключ +x означает «добавить право на исполнение». После этого скрипт запускается командой:

./файл

Если сомневаетесь, что все сделали правильно, права на запуск можно проверить. Для этого выполните команду:

ls -l файл

В ответ консоль выдаст строку примерно такого вида:

-rwxr--r-- 1 user user 1234 Sep 10 10:00 файл

Здесь первая часть строки указывает на права доступа. Буква x в блоке rwx у владельца и будет означать, что файл можно запускать.

Как все работает на практике

Сперва создадим простой тестовый скрипт:

echo 'echo "Hello, Linux!"' > hello.sh

Затем сделаем его исполняемым:

chmod +x hello.sh

И запустим:

./hello.sh

В терминале появится результат:

-2

Как сделать файл исполняемым через графический интерфейс

Если вы используете Linux на рабочей машине с графической оболочкой, то можно изменить права без терминала.

Отметим, что названия пунктов меню могут отличаться в различных программах, дистрибутивах и оболочках. Однако алгоритм действий должен быть плюс-минус похож.

Итак, что вам нужно сделать:

  1. Откройте файловый менеджер и найдите нужный файл.
  2. Щёлкните по нему правой кнопкой и выберите пункт Свойства (в некоторых средах он может называться «Информация»).
  3. Перейдите на вкладку Права или Доступ.
  4. Установите галочку напротив пункта «Разрешить выполнение файла как программы».

После этого файл можно будет запускать двойным кликом мыши.

Отметим, что если часто работаете со скриптами, удобнее запомнить вариант с терминалом: он универсален и работает везде, даже на сервере без графики.

Попробуйте сами сделать свой первый скрипт исполняемым и расскажите, получилось ли у вас. Пишите в комментариях, а если статья была полезной — ставьте лайк.