- Как сделать файл исполняемым в Linux
- Что такое исполняемость?
- Как сделать файл исполняемым в Linux?
- Как установить фалг исполняемости в GUI
- Выводы
- Выполнение файлов .bin и .run в Ubuntu
- Выполнение файлов .bin и .run
- How to make a file (e.g. a .sh script) executable, so it can be run from a terminal
- 4 Answers 4
- Как запустить исполняемый файл в ubuntu
- Быстрый ответ: как запустить исполняемый файл в Linux?
- Как вы выполняете файл в Linux?
- Как запустить исполняемый файл в Linux?
- Как запустить файл в Терминале?
- Как сделать исполняемый файл сценария в Linux?
Как сделать файл исполняемым в Linux
Операционная система Linux, в отличие от Windows, определяет какие файлы являются программами не по расширению, а по специальному флагу исполняемости. У каждого файла есть три основных флага, чтение, запись и исполнение. Они определяют что система может делать с этим файлом.
Когда вы загружаете различные установщики программ из интернета или создаете скрипт в текстовом редакторе, для них устанавливаются флаги по умолчанию — только чтение и запись. Вы не сможете запустить такой файл как программу, с ним нужно сделать еще кое-что. В этой статье мы рассмотрим как сделать файл исполняемым в Linux.
Что такое исполняемость?
Уже много написано о том, как установить флаг исполняемости. Но что происходит с файлом во время этого, что такое исполянемость и как это работает?
Программа — это набор инструкций, которые по очереди выполняет процессор над данными, чтобы получить определенный результат. Но это вы, наверное, уже знаете.
На самом деле для процессора нет разницы между данными и инструкциями. И те и другие состоят из байт, проще говоря цифр. Когда-то договорились, что определенные сочетания цифр будут означать то или иное действие процессора, а во всем остальном это те же данные. Поэтому для процессора нет никакой разницы что выполнять — исполняемый файл linux или обычный текстовый файл. Оба могут быть успешно выполнены, вот только во втором варианте инструкции не имеют никакого смысла.
Чтобы система могла определить какие файлы нужно выполнять, а какие лучше не надо и был придуман флаг исполняемости. По сути, флаг исполяемости — это несколько байт в файловой системе, которые говорят нужно выполнять файл или нет, само содержимое файла никак не изменяется. Со скриптами все работает точно так же, только команды из файла выполняет не процессор, а интерпретатор, например, в bash скриптах — сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик — это ld-linux.so.2.
Как сделать файл исполняемым в Linux?
В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:
$ chmod категория действие флаг адрес_файла
- Категория — флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
- Действие — может быть + (плюс), что будет значить установить флаг или — (минус) снять флаг.
- Флаг — один из доступных флагов — r (чтение), w (запись), x (выполнение).
Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:
Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:
Посмотреть флаги в терминале можно с помощью утилиты ls:
Это значит, что все флаги включены для всех категорий. Первое rwx — флаги владельца, второе — группы, а третье — для всех остальных. Если флаг не установлен, на его месте будет прочерк.
Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
Как установить фалг исполняемости в GUI
Вы можете сделать файл исполняемым в linux не только через терминал. Такая функциональность есть во всех файловых менеджерах. Возможно, на первых порах это будет для вас проще. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:
Дальше перейдите на вкладку права и установите галочку Разрешить выполнение файла как программы:
Готово, исполняемый файл linux может быть запущен системой, прямо из файлового менеджера.
Выводы
Вот и все, теперь вы знаете как сделать файл исполняемым в linux. И если нужно будет запустить скрипт или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Выполнение файлов .bin и .run в Ubuntu
Bin-файл: Двоичный файл или BIN-файл в Ubuntu относится к установочным пакетам, которые в основном представляют собой самораспаковывающиеся исполняемые файлы, используемые для установки программного обеспечения на вашу систему. Вы можете установить большинство пакетов программного обеспечения через Ubuntu Software Manager, например, пакеты .deb и .tar.xz. Однако есть программное обеспечение, которое не доступно в этих форматах.
В основном это новые программы и новые версии программ, обычно бета-версии, которые недоступны в других форматах. Пакеты bin просто запускаются из командной строки Ubuntu, терминала.
Run File: Это также исполняемые файлы, обычно используемые для установки программ Linux. Run-файлы содержат данные программы и инструкции по установке; они часто используются для распространения драйверов устройств и программных приложений.
Мы будем использовать командную строку Ubuntu, терминал, чтобы объяснить, как запускать файлы bin и run. Вы можете открыть приложение терминала либо через поиск в системной программе запуска приложений, либо нажав Ctrl+Alt+T.
Убедитесь, что файлы .run и .bin получены из надежного источника, поскольку запуск небезопасного файла может повредить систему и даже поставить под угрозу ее безопасность.
Выполнение файлов .bin и .run
Процесс запуска файлов run и BIN довольно прост и понятен в Ubuntu.
Мы предполагаем, что вы уже загрузили файл bin/run в известное место на вашем Ubuntu.
Откройте приложение Terminal и перейдите в то место, где вы сохранили исполняемый файл.
Например, я бы использовал следующую команду для перемещения в папку Downloads:
Теперь используйте следующую команду, чтобы сделать ваш .bin/.run файл исполняемым:
Когда ваш файл .bin/.run стал исполняемым, вы можете использовать следующую команду для его выполнения/запуска:
How to make a file (e.g. a .sh script) executable, so it can be run from a terminal
I have a script.sh file and type of this file is shellscript file. I want to make this file as application/x-executable file. How can I make it?
It is not a duplicate, because I have asked specifically about making it application/x-executable. The other question just asks for opening sh file in terminal.
4 Answers 4
You can mark the file as executable:
You can then execute it like this:
If you want to use a different command to start it, you can add an alias:
Add this at the end of the file:
Open a new terminal session or type source ~/.bashrc in your terminal to apply. Then simply use the new name to start the script.
Do you know how to use sudo command after entering the command as: «alias command1 = ‘/home/user_name/dir/script.sh’. In mine, it works without sudo, but not with it.
@user1993 Generally, using ./filename.sh specifies a file in the current directory and using filename.sh specifies a file in the current directory or any directory of PATH. The first usage removes any uncertainty as to which file is accessed. In this case, you are attempting to execute the script with bash or another interpreter (by virtue of assumed #!/bin/bash as first line in your script) just by entering the filename. This usage requires the directory is specified. Alternatively, you can try bash filename.sh which seems to work with unspecified directory.
There are two ways of making a file executable:
Right-click the file and select Properties. Go to the permissions tab, then tick the box Execute: [ ] Allow executing file as program or in Nautilus Program: [ ] Allow this file to run as a program in Thunar.
Terminal / Command method:
chmod +x filename.extension
chmod +x /path/to/your/filename.extension
chmod does also have some more advanced options:
The spaces are to show that it is split up: — rwx — —
The first set of — is User. The second is Group and the last is Other (anyone else)
r stands for Read, w for Write and x for eXecute.
So to allow everyone to read it, but only Group to execute and User to read and write it (but for some reason not execute) would be:
-rw- rx- r— But this would be added to the command as:
chmod +rw-rx-r— /path/to/file.extension
chmod also can do this in numbers. It is based on binary (I think, as it is 1,2 and 4)
So there are these numbers:
Execute by user is 100 . Execute by group is 010 . Execute by other is 001 .
Write by user is 200 . Write by group is 020 . Write by other is 002 .
Read by user is 400 . Read by group is 040 . Read by other is 004 .
Then you add these together to get the desired combination.
So to allow everyone to read it, but only Group to execute and User to write it (but for some reason not execute) would be:
400 + 040 + 004 and 010 and 200
That adds up to 600 + 050 + 004 = 654.
You could then run the command.
chmod +654 /path/to/file.extension to set it.
And to set all permissions you can type:
chmod +rwxrwxrwx /path/to/file.extension
Or (this is a bit easier to write, but harder to remember each one):
chmod +777 /path/to/file.extension
chmod -777 /path/to/file.extension
To take all permissions away from everyone.
chmod +300 /path/to/file.extension
To add read and write for user, without affecting any other permissions (e.g. Execute permissions).
This website has a very useful little grid checkbox thing, whereby you can tick the options you want and it gives you the command:
However, not all the possible combinations are sensible to use; the main ones that are used are the following:
755 — Owner has all, and Group and Other can read and execute
644 — Owner can read and write, and Group and Other can read
600 — Owner can read and write
And, if you’re using non-trivial user groups:
775 — Owner can read and write, and Group and Other can read
770 — Owner and Group have all, and Other can read and execute
750 — Owner has all, and Group can read and execute
664 — Owner and Group can read and write, and Other can just read
660 — Owner and Group can read and write
640 — Owner can read and write, and Group can read
777 and 666 are rarely used, except in /tmp.
Thanks Ilmari Karonen for pointing out the ones in common usage!
Как запустить исполняемый файл в ubuntu
Быстрый ответ: как запустить исполняемый файл в Linux?
Сначала откройте Терминал, затем отметьте файл как исполняемый с помощью команды chmod.
Теперь вы можете запустить файл в терминале.
Если появляется сообщение об ошибке с такой проблемой, как «доступ запрещен», используйте sudo, чтобы запустить его от имени пользователя root (admin).
Как вы выполняете файл в Linux?
Установка файлов .run в ubuntu:
- Откройте терминал (Приложения >> Аксессуары >> Терминал).
- Перейдите в каталог с файлом .run.
- Если у вас есть * .run на рабочем столе, введите следующее в терминале, чтобы перейти на рабочий стол, и нажмите Enter.
- Затем введите chmod + x filename.run и нажмите Enter.
Как запустить исполняемый файл в Linux?
Исполняемые файлы
- Откройте терминал.
- Перейдите в папку, в которой хранится исполняемый файл.
- Введите следующую команду: для любого. bin файл: sudo chmod + x filename.bin. для любого файла .run: sudo chmod + x filename.run.
- При запросе введите требуемый пароль и нажмите Enter.
Как запустить файл в Терминале?
- Нажимайте «Enter» на клавиатуре после каждой команды, которую вы вводите в Терминал.
- Вы также можете выполнить файл, не переходя в его каталог, указав полный путь. Введите в командной строке «/ path / to / NameOfFile» без кавычек. Не забудьте сначала установить исполняемый бит с помощью команды chmod.
Как сделать исполняемый файл сценария в Linux?
Вот некоторые из предварительных условий прямого использования имени скрипта:
- Добавьте в самый верх строчку she-bang