Разрешить выполнение скриптов linux

Содержание
  1. Делаем файл исполняемым в Linux
  2. Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого файла есть три режима исполняемости: чтение, исполнение и запись. Именно эти режима определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.
  3. Что означает исполняемость?
  4. Как сделать файл исполняемым
  5. Как установить флаг исполняемости в GUI
  6. Запуск скрипта sh в Linux
  7. Запуск script bash
  8. Запуск через оболочку bash
  9. Как сделать файл исполняемым в Linux
  10. Что такое исполняемость?
  11. Как сделать файл исполняемым в Linux?
  12. Как установить фалг исполняемости в GUI
  13. Выводы
  14. Как мне запустить .sh скрипты?
  15. необходимое условие
  16. Предупреждение
  17. Очень простой способ
  18. Простой способ
  19. Как это делают профессионалы
  20. Почему это сложный путь?

Делаем файл исполняемым в 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. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:

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

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

Источник

Запуск скрипта sh в Linux

Управление операционной системой Linux осуществляется посредством терминала. Пользователь имеет дело со специальной командной оболочкой, через которую задаются те или иные команды для выполнения нужных действий. Об этом не знает разве что новичок, впервые столкнувшийся с ОС Линукс. Чтобы управление системой не вызывало излишних трудностей, разработчики придумали специальные скрипты. Их можно использовать по отдельности, либо объединять в единую команду. Каждый скрипт отвечает за определенное действие.

Опытные пользователи уже неоднократно убедились в том, насколько удобно работать с Линукс при помощи скриптов. Данная статья станет неким руководством для новичка. В ней мы подробно объясним, как запускать скрипты на ПК.

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

Запуск script bash

Чтобы лучше понять, как работать со скриптами, стоит рассмотреть несложный пример. Допустим, необходимо запустить script bash. Для этого, создам файл «primer.sh», с помощью редактора nano.

Внутри файла пишем следующий код:

echo «Primer vypolneniya scripta»

В представленном примере первая строка – это та самая оболочка, посредством которой выполняется определенное действие. Само действие в данном случае указано во второй строке. Примечательно, что у данного варианта могут быть альтернативные окончания. Например:

  • /bin/sh — bash script.
  • /usr/bin/php — php scpript.
  • /usr/bin/python — язык python.

Далее необходимо сохранить файл. Согласно нашему примеру нажимаем «ctrl + O», затем «ctrl + X».

Чтобы script bash отработал, необходимо дать файлу специальные права на исполнение.

$ chmod ugo+x primer.sh

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

В нашем примере файл лежит в домашнем каталоге, поэтому просто для запуска вводи название скрипта.

А вот указание полного пути. Он будет выглядеть следующим образом:

Запуск через оболочку bash

Далее мы рассмотрим альтернативный способ запуска script, используя для этих целей оболочку. Пользователь может сразу передать ей нужный скрипт для выполнения. Такое не часто встречается на практике в случае с bash, чего не скажешь о скриптах python и php. Как запустить скрипт указанным способом:

Предлагаем вашему вниманию еще один аналогичный способ запуска:

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

Читайте также:  Copy directory with all files linux

Заключение

Знакомство новичка с терминалом Linux часто приводит к некоторым сложностям. Разобравшись в том, как происходит управление устройством, данная проблема быстро пропадает. Данная статья лишь подтверждает это. Запускать script в Линукс действительно легко.

Источник

Как сделать файл исполняемым в 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 для владельца файла, достаточно выполнить:

chmod u+x адрес_файла

Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:

chmod ugo+x адрес_файла

Посмотреть флаги в терминале можно с помощью утилиты ls:

ls -l каталог_с_файлами

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

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

chmod u-x адрес_файла

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

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

Читайте также:  Автомобильная оболочка для windows

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

Готово, исполняемый файл linux может быть запущен системой, прямо из файлового менеджера.

Выводы

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

Источник

Как мне запустить .sh скрипты?

Всякий раз, когда я открываю файл .sh, он открывает его в gedit вместо терминала. Я не могу найти ни одной опции, похожей на Правый кликОткрыть с помощьюДругое приложение .Терминал .

Как мне открыть этот файл в терминале?

Дайте разрешение на выполнение вашего скрипта:

И запустить ваш скрипт:

Поскольку . ссылается на текущий каталог: если он yourscript.sh находится в текущем каталоге, вы можете упростить это до:

/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed ‘s:^#!\(.*\):\1:g’);[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME) . изменить FILENAME по своему вкусу , Также обратите внимание, что sh будет использоваться, если нет альтернативы.

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

Щелкните правой кнопкой мыши по вашему .sh файлу и выберите Свойства :

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

Закройте окно « Свойства» и дважды щелкните файл. Появится диалоговое окно, дающее вам возможность запустить скрипт в терминале:

Откройте терминал и перейдите к папке, в которой находится .sh файл. Затем введите:

необходимое условие

Прежде чем вы сможете запустить файл .sh, вы должны сделать его исполняемым:

  1. Щелкните правой кнопкой мыши файл
  2. Выберите Свойства
  3. Выберите разрешения
  4. Выберите Разрешить выполнение файла в качестве программы

Предупреждение

Убедитесь, что вы доверяете источнику, откуда вы получили файл. Это может быть вирус .

Очень простой способ

  1. Дважды щелкните файл
  2. Нажмите запустить в терминале

Это имеет проблемы. Терминал немедленно закроется, и вы не сможете увидеть вывод.

Простой способ

  1. Открытые приложения -> Аксессуары -> Терминал
  2. Перетащите файл .sh в терминал и нажмите Enter

Как это делают профессионалы

    Открытые приложения -> Аксессуары -> Терминал

Найти где .sh файл

  • Используйте ls и cd команды
  • ls отобразит список файлов и папок в текущей папке . Попробуйте: введите «ls» и нажмите Enter.
  • Как только вы увидите папку, в которую хотите войти, запустите cd , затем пробел, а затем имя папки.
  • Если вы попали в папку, которая вам не нужна, бегите, cd .. чтобы перейти на один уровень вверх

Запустите файл .sh

Как только вы можете увидеть, например, script1.sh с помощью ls этого:

Почему это сложный путь?

Терминал имеет богатый набор мощных инструментов, которые доступны при наборе команд. Профессионалы находят файл .sh, набирая ls и cd . Как только вы окажетесь в правильной текущей папке, вы можете запустить скрипт следующим образом:

или вы можете запустить и перенаправить вывод в файл:

или вы можете отфильтровать вывод по ключевым словам (например, «яблоки»), а затем перенаправить в файл:

Есть тысячи вещей, которые вы можете добавить в этот файл, просто набрав несколько команд.

Еще один, вы можете скачать файл из Интернета с помощью одной простой команды:

Источник

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