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

Как я могу сделать свой файл таким, чтобы я мог дважды щелкнуть по нему, и он запустится? Это .sh сценарий, но у меня также есть файлы, в которых говорится:

executable (application/x-executable)

в описании того, что они собой представляют.

Я не могу запустить ни один из них из терминала или двойным щелчком мыши.

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

Вот скриншот того, что я вижу, когда щелкаю правой кнопкой мыши, а затем выбираю свойства. Сначала файл:

properties of executable file

И сценарий оболочки здесь:

properties of shell script

NB: Я признаю, что это дубликат (я искал его и не мог найти, поэтому спросил + ответил на него, надеясь, что я его найду) однако, я не думаю, что вопрос о .файлы рабочего стола - это дубликат.

Существует два способа сделать файл исполняемым:

Метод графического интерфейса пользователя:

Перейдите на вкладку разрешения, затем установите флажок Execute: [✓] Разрешить выполнение файла как программы.

Метод командной строки:

Просто беги:

chmod +x /path/to/your/file.txt

Обратите внимание, что chmod также имеет несколько более продвинутых опций. Он принимает три группы опций, представленных в виде --- --- ---. Первый набор --- является Пользователем. Вторая - Группа, а последняя - Другие (все остальные).

r расшифровывается как Read, w для записи и x для выполнения.

Чтобы позволить всем читать его, но только группе выполнять и пользователю читать и записывать его, было бы -rw- rx- r--. Это будет добавлено в команду как:

chmod +rw-rx-r-- /path/to/file.extension

chmod также можно сделать это в цифрах. Он основан на двоичном коде.

Итак, вот эти цифры:

Выполнение пользователем является 100.Выполнить по группе - это 010.Выполнить другим является 001

Запись пользователем - это 200.Запись по группам - это 020.Написать другим - это 002.

Прочитанный пользователем является 400.Чтение группой - это 040.Прочитанный другими - это 004.

Затем вы складываете их вместе, чтобы получить желаемую комбинацию.

Таким образом, чтобы позволить всем читать его, но только группе выполнять и пользователю записывать его, было бы 400 + 040 + 004 и 010 и 200

Это в сумме дает 600 + 050 + 004 = 654.

Затем вы можете выполнить эту команду.

chmod +654 /path/to/file.extension

чтобы установить его. Итак, чтобы установить все разрешения, вы можете запустить:

chmod +rwxrwxrwx /path/to/file.extension

или

chmod +777 /path/to/file.extension

Наконец, вы можете сделать:

chmod -777 /path/to/file.extension

Чтобы отобрать у всех все разрешения.

И:

chmod +300 /path/to/file.extension

Чтобы добавить чтение и запись для пользователя, не затрагивая никаких других разрешений (например, разрешения на выполнение).

Этот веб-сайт имеет очень полезный маленький инструмент, с помощью которого вы можете отметить нужные параметры, и он дает вам команду:

Однако не все возможные комбинации целесообразно использовать; основными из них являются следующие:

  • 755 - Owner имеет все, и Group и Other может читать и выполнять

  • 700 - Owner имеет все

  • 644 - Owner умеет читать и писать, и Group и Other могу читать

  • 600 - Owner умеет читать и писать

И, если вы используете нетривиальные группы пользователей:

  • 775 - Owner умеет читать и писать, и Group и Other могу читать

  • 770 - Owner и Group есть все, и Other может читать и выполнять

  • 750 - Owner имеет все, и Group может читать и выполнять

  • 664 - Owner и Group умеет читать и писать, и Other могу просто прочитать

  • 660 - Owner и Group умеет читать и писать

  • 640 - Owner умеет читать и писать, и Group могу читать

777 и 666 используются редко, за исключением случаев, когда /tmp.

Спасибо Илмари Каронен для указывая на те, что в обиходе!

Нам нужно больше информации. Это может быть что угодно, от неправильных разрешений до неудовлетворенных зависимостей и неправильного пути к запуску программы Windows в Linux.

смотрите вкладку “Разрешения” на скриншотах.