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

Содержание
  1. Делаем файл исполняемым в Linux
  2. Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого файла есть три режима исполняемости: чтение, исполнение и запись. Именно эти режима определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.
  3. Что означает исполняемость?
  4. Как сделать файл исполняемым
  5. Как установить флаг исполняемости в GUI
  6. Как в Linux сделать файл исполняемым?
  7. Исполняемые файлы в Linux
  8. Характерные черты исполняемых файлов в Linux
  9. Назначение прав для запуска файла в Linux
  10. Установка прав на пуск в Linux
  11. Как сделать файл исполняемым в Ubuntu Linux
  12. ИТ База знаний
  13. Полезно
  14. Навигация
  15. Серверные решения
  16. Телефония
  17. Корпоративные сети
  18. Учимся писать базовые скрипты в Unix и Linux
  19. Идентификация оболочки.
  20. Выбор оболочки
  21. Выполнение команд
  22. Добавление комментариев
  23. Делаем файл исполняемым
  24. Использование команды if
  25. Понятие переменных
  26. Запрос пользователя на ввод данных
  27. Использование аргументов командной строки
  28. Различные способы создания циклов
  29. Использование оператора case
  30. Реакция на ошибки

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

Читайте также:  Аппаратная виртуализация как включить windows 10 что это

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

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

Источник

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

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

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

Исполняемые файлы в 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 или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментах!

Читайте также:  Размер диска линукс команда

Источник

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

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

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

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

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

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

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

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

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

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

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

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Учимся писать базовые скрипты в Unix и Linux

Если вы еще не умеете писать скрипты в системах Unix и Linux, эта статья познакомит с основами написания скриптов.

Написание скриптов в системе Unix или Linux может быть одновременно и простым и чрезвычайно сложным. Все зависит от того, что вы пытаетесь выполнить, используя скрипт. В этой статье мы рассмотрим основы создания скриптов — то, как начать, если вы никогда раньше не создавали скрипты.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Идентификация оболочки.

Сегодня в системах Unix и Linux есть несколько оболочек, которые вы можете использовать. Каждая оболочка — это интерпретатор команд. Он считывает команды и отправляет их ядру для обработки.

Bash является одной из самых популярных оболочек, но существуют также zsh , csh , tcsh и korn . Есть даже оболочка под названием fish , которая может быть особенно полезна новичкам в Linux благодаря полезным параметрам автозаполнения команд. Чтобы определить, какую оболочку вы используете, используйте эту команду:

Вы также можете определить свою основную оболочку, просмотрев файл /etc/passwd :

Один из способов определить, какие оболочки доступны в системе Linux, — это проверить файл /etc/shells .

На выводе видно, что доступно всего девять оболочек.

Какую оболочку выбрать пользователю во многом зависит от того, что он привык использовать, поскольку большая часть синтаксиса в скриптах не представляет команды, которые вы найдете в /bin , /us /bin или /usr/local/bin . Вместо этого они являются частью самой оболочки и называются «встроенными». Сюда входят команды, используемые для цикла (например, for и while ).

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

Выбор оболочки

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

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

Читайте также:  Поиск по windows powershell

Выполнение команд

Любую команду, которую вы запускаете в командной строке Linux, можно запустить в скрипте, если он совместим с указанной оболочкой. Используйте свой любимый текстовый редактор и вводите нужные для исполнения команды. Вот очень простой скрипт, который выводит текущую дату в формате день-месяц-год. Скрипт имеет название today .

Чтобы запустить этот скрипт, выполните команду:

Добавление комментариев

Рекомендуется добавлять к скриптам комментарии, объясняющие, для чего предназначен скрипт, особенно если скрипт длинный или имеется сложный синтаксис. Просто начните комментарий со знака # . Комментарии могут быть отдельными строками или добавляться в конец команд в скрипте. Например:

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

Чтобы сделать скрипт исполняемым, используйте команду chmod и убедитесь, что предполагаемые пользователи могут его запустить. Например:

Если скрипт не сделан как исполняемый, его все равно можно запустить с помощью символа . Это встроенная функция, которая «выполняет» (т. е. читает и запускает) скрипт.

Использование команды if

Команда if позволяет вам проверять условия или переменные. В примере ниже мы проверяем, запускается ли скрипт в пятницу.

Базовый синтаксис команды if — if value == other_value . Знак == выполняет сравнение, и необходимо убедиться, что оболочка видит по одному значению с каждой стороны оператора сравнения. По этой причине часто приходится заключать свои строки в кавычки.

Понятие переменных

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

Запрос пользователя на ввод данных

Чтобы пользователь, во время исполнения скрипта, смог ввести некоторую информацию, вам необходимо вывести как подсказку, так и команду, чтобы прочитать, что вводит пользователь. Вы также должны присвоить переменной имя, которое имеет смысловое значение, как в этом примере. Обратите внимание, что использование команды echo -n означает, что пользователь вводит свой ответ в той же строке, что и приглашение.

Человек, запускающий сценарий, увидит приглашение и введет ответ :

Использование аргументов командной строки

Чтобы использовать аргументы, которые пользователь вводит вместе с именем скрипта, необходимо знать, как их идентифицировать. Аргументам скрипта будут присвоены имена $1 , $2 и так далее. Для любого аргумента, который вы собираетесь использовать неоднократно, вы можете рассмотреть возможность присвоения этих значений более значимым именам переменных.

В этом случае мы проверяем, является ли первый предоставленный аргумент числовым, и закрываем скрипт, если это не так. Если ответ — число, то далее назначаем его переменной $loops , чтобы использовать позже в скрипте.

Еще одна полезная вещь, которую нужно сделать в скрипте, — это сначала проверить наличие аргументов. В противном случае синтаксис, подобный показанному выше, не сработает, потому что оболочка увидит выражение if [[! = 8 *]]; , что приведет к синтаксической ошибке.

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

Различные способы создания циклов

Есть несколько способов сделать цикл внутри скрипта. Используйте for , если вы хотите повторить действие заданное количество раз. Например:

Используйте while , если хотите выполнять какое-то действие, пока условие существует или не существует.

Использование оператора case

Операторы case позволяют вашим скриптам реагировать по-разному в зависимости от того, какие значения проверяются. В приведенном ниже скрипте используются разные команды для извлечения содержимого файла, предоставленного в качестве аргумента, путем определения типа файла.

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

Реакция на ошибки

Вы можете обнаруживать ошибки в скриптах и реагировать на них и тем самым избегать других ошибок. Хитрость заключается в том, чтобы проверять выходные коды после запуска команд. Если код выхода имеет значение, отличное от нуля, произошла ошибка. В этом скрипте проверяется, запущен ли Apache, но отправляем результат проверки в /dev/null . Затем проверяем, не равен ли код выхода нулю, поскольку это означает, что команда ps не получила ответа. Если код выхода не равен нулю, сценарий сообщает пользователю, что Apache не запущен.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Источник

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