Linux сделать файл исполняемым chmod

Содержание
  1. Как сделать файл исполняемым в Ubuntu Linux
  2. Делаем файл исполняемым в Linux
  3. Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого файла есть три режима исполняемости: чтение, исполнение и запись. Именно эти режима определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.
  4. Что означает исполняемость?
  5. Как сделать файл исполняемым
  6. Как установить флаг исполняемости в GUI
  7. Как в Linux сделать файл исполняемым?
  8. Исполняемые файлы в Linux
  9. Характерные черты исполняемых файлов в Linux
  10. Назначение прав для запуска файла в Linux
  11. Установка прав на пуск в Linux
  12. Что делает «chmod + x » и как его использовать?
  13. Короче:
  14. В длинных:

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

Очень часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл исполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент вызывает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно.

Для начала немного теории. в Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их расширению. Например расширения .exe, .com, .bat говорили операционной системе, что эти файлы являются исполняемыми. В Linux и прочих unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. конечно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из своих эстетических соображений. Для операционной системы это не будет иметь никакого значения.

Ну и главный вопрос как же операционная система определяет какой файл исполняемый, является программой, а какой нет. Всё очень просто — это устанавливается одним из битов прав на файл. Как и права на чтение и запись права на запуск файла так же могут быть назначены трём группам пользователей: 1 владельцу, группе файла и всем.

Установка прав на запуск

Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо выполнить в окне терминала простую команду:

Эта команда установит права на исполнение для всех пользователей.

Сделать аналогичное в графическом интерфейсе можно кликнув правой кнопкой по имени файла и выбрав пункт свойства:

Затем на вкладке права необходимо поставить галку «Разрешить выполнение файла как программы»

На этом процедура закончена и вы можете сразу запустить файл на исполнение дважды кликнув по нему левой клавишей мыши или выполнив в окне терминала команду (находясь в папке с исполняемым файлом):

Один мальчик подписался на наш канал в телеграме и получил +100 hp

Источник

Делаем файл исполняемым в Linux

Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого файла есть три режима исполняемости: чтение, исполнение и запись. Именно эти режима определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.

Что означает исполняемость?

Но для начала не будет лишним разобраться с таким вопросом, как: что такое исполняемость и что это вообще означает? Начнем с программы, являющейся набором инструкций, выполняемых процессором над совокупностью данных с целью получения нужного результата. Для процессора не существует разницы между инструкциями и данными.

Читайте также:  Лучший видеопроигрыватель для линукс

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

Для понимания системой, какие файлы должны быть выполнены по инструкции, а какие выполнять не нужно, и были придуманы флаги исполняемости. Фактически содержимое файла никак не изменяется в зависимости от установленного флага исполняемости – отличие сводится только к нескольким строчкам. Со скриптами все работает точно так же, только команды из файла выполняет не процессор, а интерпретатор, например, в bash скриптах — сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик — это ld-linux.so.2.

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

В системе Linux предусмотрена специальная утилита, которая позволяет управлять флагами файлов, которая получила название chmod. Для вызова этой утилиты необходимо задействовать синтаксис:

$ chmod категория действие флаг адрес_файла

И здесь необходимо учитывать следующее:

  • Флаг — один из доступных флагов — r (чтение), w (запись), x (выполнение).
  • Категория — флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
  • Действие — может быть + (плюс), что будет значить установить флаг или — (минус) снять флаг.

Таким образом, чтобы сделать исполняемым скрипт в Linux, пользователю необходимо выполнить:

Зачастую уже этого достаточно, чтобы сделать файл исполняемым, но если необходимо наделить других пользователей полномочиями исполнять эти файлы, еще необходимо добавить:

Чтобы посмотреть флаги в терминале достаточно воспользоваться утилитой ls:

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

Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:

Дальше рассмотрим вопрос установки управляемости в GUI.

Как установить флаг исполняемости в GUI

Установка файлов исполняемости доступна не только через терминал, но и файловые менеджеры, одним из которых является GUI. Для новичков, возможно, даже эта инструкция окажется проще и доступней. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:

Переходим на вкладку права и устанавливаем галочку «Разрешить выполнение файла как программы»:

Теперь файл будет запущен системой непосредственно из файлового менеджера. Вот и вся инструкция. Теперь с запуском программы или скрипта из интернета у вас не возникнет трудностей.

Источник

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

Весьма часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл выполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент возбуждает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно. Для начала чуть-чуть теории. в Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их продолжению.

В Linux и других unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. безусловно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из собственных эстетических соображений. Для операционной системы это не будет иметь никакого значения. Ну и главный вопрос как же операторная система определяет какой файл исполняемый, является программой, а какой нет. Всё очень элементарно — это устанавливается одним из битов прав на файл.

Читайте также:  Toshiba viewer v2 windows 10

Исполняемые файлы в Linux

В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.

Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.

Характерные черты исполняемых файлов в Linux

Пользователи, активно применяющие в повседневной работе операционную систему Windows, свыкнули к тому, что программы имеют расширение «.exe». Такие файлы содержат скомпилированный программный код, или иными словами – последовательность байтов, которая загружается в оперативную память и выполняется процессором. Linux реализует асбсолютно другой подход. Ранее, изучая написание скриптов командного интерпретатора Bash, мы уже поспели рассмотреть пример создания исполняемого файла. Он в отличие от Windows представляет собой обыкновенный текстовый документ с набором команд. Его особенностью является то, что перед основным содержимым дополняется специальный комментарий, говорящий операционной системе Linux, какую программу использовать для интерпретации. Кроме скрипта, исполняемым файлом является и скомпилированная программа. Таким образом, все файлы в Linux смогут быть, как обычными текстовыми документами, так и исполняемыми программами. Отличие лишь в специальных флагах и преимуществах доступа операционной системы (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство).

Назначение прав для запуска файла в Linux

Сделать файл вразумительным для запуска можно с помощью графической оболочки. Нажмите по ярлыку правой кнопкой мыши. В контекстуальном меню выберите пункт «свойства». Открывшееся окно должно содержать вкладку «преимущества», в котором нужно активировать пункт «разрешить выполнение файла как программы». Данный метод будет отличаться в зависимости от дистрибутива Linux и графической оболочки. Также возможно приставить права запуска через консоль. Для этого используется команда chmod. Пример, презентованый ниже, устанавливает право выполнения для владельца файла и его группы. Вы можете скопировать Bash-скрипт из первоначального примера в файл и провести с ним данную операцию.

chmod ug+x games-dialog

Установка прав на пуск в Linux

Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо осуществить в окне терминала простую команду:

chmod +x имя_файла

sudo chmod +x имя_файла

Вот и все, сейчас вы знаете как сделать файл исполняемым в Linux. И если нужно будет запустить script или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментах!

Читайте также:  Что такое менеджер пакетов linux

Источник

Что делает «chmod + x » и как его использовать?

Я хочу написать аналог Ubuntu «пакетного файла» (сценарий оболочки). Но я не знаю, как использовать команду, чтобы сделать так, чтобы скрипт мог быть запущен. И я не знаю, где его использовать. chmod +x filename

Короче:

chmod +x Файл (ваш скрипт) означает только то, что вы сделаете его исполняемым. Щелкните правой кнопкой мыши по вашему сценарию и выберите « Свойства» -> « Разрешения» -> « Разрешить выполнение файла как программы» , и вы получите тот же результат, что и команда в терминале.

Если файл, для которого вы хотите изменить разрешения, находится в системном каталоге, который вам может понадобиться root , например, так: (будьте осторожны при использовании sudo команды)

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

Вы также можете обратиться к этому вопросу, для получения дополнительной информации: chmod u + x ‘против’ chmod + x

В длинных:

Введите man chmod в окне терминала ( Ctrl + Alt + T ), и вы получите следующий вывод:

NAME: chmod — изменить биты режима файла

СИНТАКСИС

ОПИСАНИЕ

SETUID И SETGID БИТЫ

ОПЦИИ

Во-первых, ваш скрипт должен объявить, какой интерпретатор использовать. Вы делаете это в первой строке файла. Если это сценарий оболочки, он должен быть #!/bin/sh или #!/bin/bash .

Итак, вот скрипт, который пишет ваше имя пользователя: echo-whoami.sh

#!/bin/sh echo $(whoami)

Чтобы сделать его исполняемым, используйте chmod +x echo-whoami.sh . Тогда вы можете запустить его с помощью ./echo-whoami.sh .

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

Самый простой файл сценария оболочки содержит только команды, которые вы вводите в командной строке (то есть интерпретатор команд Bash). Теоретически вы можете даже заменить переводчика на любой язык, который вам нравится (и иметь переводчика). Чтобы быть более явным, предлагается начать первую строку с

#!/bin/sh (если вы не хотите максимальной переносимости с устаревшими системами)

#!/bin/bash (если вам нужны дополнительные функции, вам, наверное, сегодня наплевать)

После этой строки введите ваши команды, по одной в каждой строке. Существует множество дополнительных конструкций, выходящих за рамки этого вопроса, см. man bash Или http://www.tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf (для начинающих) или http: // www .tldp.org / LDP / abs / abs-guide.pdf (для более сложных вопросов).

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

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

  • выполнить права для всех ( a+x или +x , как a по умолчанию),
  • права на чтение для всех ( a+r или +r , как a опять по умолчанию),
  • разрешения на запись только для вас ( u=w )

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

Хотя этот «язык действий» очень увлекателен (обратите внимание на разницу между оператором + и = оператором, которые приводят к различным результатам в зависимости от настроек разрешений до их изменения), вводить их утомительно.

Поскольку все действия создают битовые маски, которые применяются внутри, вы можете man chmod также напрямую вводить битовые маски (см. Подробности).

Источник

Оцените статью