Как сделать файл исполняемым?
Как я могу сделать свой файл, чтобы я мог дважды щелкнуть по нему, и он запускается. Это .sh
сценарий, но у меня также есть файлы, которые говорят:
executable (application/x-executable)
в описании, что они есть.
Я не могу запустить ни один из них из терминала, или двойным щелчком.
Если возможно, я бы хотел использовать способ с графическим интерфейсом или терминалом, но не их комбинацию.
Вот скриншот того, что я вижу, когда я щелкаю правой кнопкой мыши и затем выбираю свойства. Файл первым:
И скрипт оболочки здесь:
NB: Я принимаю, что это дубликат (я искал его, но не смог его найти, поэтому спросил + ответил на него, надеясь, что найду его), однако я не думаю, что вопрос о файлах.desktop дубликат
1 ответ
Есть два способа сделать файл исполняемым:
GUI Метод:
Перейдите на вкладку разрешений, затем поставьте галочку Execute: [✓]
Разрешить выполнение файла как программы.
Метод командной строки:
Просто беги:
chmod +x /path/to/your/file.txt
Обратите внимание, чтоchmod
также есть более продвинутые опции. Он принимает три группы вариантов, представленных в виде --- --- ---
, Первый набор ---
Пользователь. Второе - это Группа, а последнее - Другое (все остальные).
r
стоит для чтения,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
,
Спасибо Ilmari Karonen за то, что он указал на те, которые в общем использовании!