Запустить исполняемый файл терминале linux

unixforum.org

запуск исполняемого файла из терминала (не получается)

запуск исполняемого файла из терминала

Всем доброго времени суток, не могу запустить исполняемый файл установки из терминала. Тыкните меня в мою ошибку плиз. На работе на ноуте спокойно запустил его и установил программу. Дома, на такой-же системе (ubuntu 18.4) не получается, на скрине видно что выдает. Автозаполнение по части файла так-же не работает, приходится писать руками. Могу жмакнуть и из наутилуса, но хотелось бы понимать, что вообще происходит. ))) Спасибо большое за ответы.

Hephaestus Сообщения: 3729 Статус: Многоуважаемый джинн. ОС: Slackware64-14.1/14.2 Контактная информация:

Re: запуск исполняемого файла из терминала

Сообщение Hephaestus » 18.10.2018 23:56

В данном конкретном случае происходит то, что запускаемый файл не имеет прав на исполнение.
Убедиться в этом можно, если посмотреть вывод команды ls -l
Косвенно об отсутствии прав на запуск свидетельствует также цветовая разметка в терминале: имя файла белого цвета (исполняемый файл, скорее всего, будет зеленого цвета).

По причине отсутствия прав запуск в виде ./eclips-inst оканчивается неудачей.
Также запрет на запуск может быть на уровне монтирования файловой системы.

Как решить: Либо дать права на запуск командой chmod +x eclips-inst
Либо запускать как sh ./eclips-inst

Но вообще это не очень хорошая (или даже очень нехорошая) практика для пакетного дистрибутива — запускать такие инсталляторы. Проблема в том, что неизвестно, куда и какие файлы он раскидает и что ещё поменяет в системе. Также в случае некачественно выполненного инсталлятора будут проблемы с дальнейшим удалением: инсталлятор не сможет удалить то, что сам же установил.
Вывод: Для пакетного дистрибутива, каким является Ubuntu, использовать пакеты из репозитария.

P.S. Если уж Вам непременно надо именно этот инсталлятор, то хотя бы не запускайте его от рута. Тогда его (инсталлятора) работа будет ограничена домашним каталогом и он не сможет испортить системные файлы.

Источник

Выполнение файлов .bin и .run в Ubuntu

Bin-файл: Двоичный файл или BIN-файл в Ubuntu относится к установочным пакетам, которые в основном представляют собой самораспаковывающиеся исполняемые файлы, используемые для установки программного обеспечения на вашу систему. Вы можете установить большинство пакетов программного обеспечения через Ubuntu Software Manager, например, пакеты .deb и .tar.xz. Однако есть программное обеспечение, которое не доступно в этих форматах.

Ubuntu

В основном это новые программы и новые версии программ, обычно бета-версии, которые недоступны в других форматах. Пакеты bin просто запускаются из командной строки Ubuntu, терминала.

Читайте также:  Linux отправить post запрос

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 стал исполняемым, вы можете использовать следующую команду для его выполнения/запуска:

Источник

Как запустить программу на Linux

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

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

Виды программ в Linux

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

Все программы можно поделить на несколько типов:

  • Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
  • Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
  • Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.
Читайте также:  Nokia phone with linux

А теперь перейдем к запуску программ.

Запуск программ в терминале

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

/путь/к/файлу/программы параметры

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

Разработчики придумали обходной путь. Была создана переменная PATH, в которой хранятся все пути к папкам где обычно находятся программы — /bin, /sbin, /usr/bin, /usr/sbin и так далее. Вы можете посмотреть ее содержимое командой:

Когда вы набираете имя программы система ищет исполняемый файл с таким именем по всем папкам из PATH и если находит — то выполняет. Если же такого файла нет, то выдается сообщение — command not found. Таким образом, чтобы запустить одну из системных программ достаточно набрать имя ее исполняемого файла, например:

И можно передать параметры после пробела:

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

Если же вы хотите запустить программу через терминал ubuntu, которая находится в текущей папке, то ситуация будет немного другой. Система выполняет только поиск по папкам из переменной PATH, в текущей директории она не ищет. Поэтому, если вы наберете имя исполняемого файла, то получите ошибку. Нужно указывать полный путь, как вы помните путь к текущей папке будет ./:

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

имя_переменной = значение команда

По умолчанию эта команда открывает настройки утилиты sudo в редакторе Vim, но с этой переменной окружения настройки откроются в редакторе nano.

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

Вы уже знаете как запустить программу в терминале linux, а что насчет других пользователей? В Windows достаточно часто используется запуск программ от имени администратора чтобы программа могла получить больше прав доступа в системе. В Linux для этого используется утилита sudo. Ее имя можно расшифровать как switchuserdo — изменить пользователя и выполнить. По умолчанию утилита выполняет команду от имени суперпользователя root:

Но с помощью опции -u можно выполнить программу от имени любого пользователя, зарегистрированного в системе:

sudo -u имя_пользователя команда
sudo -u postgres whoami

Команда whoami (кто я) выводит имя текущего пользователя.

Как запустить программу в фоне

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

Читайте также:  Virtualbox vs kvm linux

dd if=/dev/zero of=~/file count=100000 &

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

Как запустить скрипт в Linux

Мы уже говорили, что программы делятся на бинарные и интерпретируемые. Раньше мы говорили только про бинарные программы. Для запуска интерпретируемых нужен непосредственно интерпретатор, к таким программам относятся написанные на таких языках, как Java, Python, Perl, Ruby, PHP, NodeJS и многих других. Синтаксис запуска такой программы отличается:

интерпретатор /путь/к/файлу/программы параметры

Разные интерпретаторы ведут себя по разному, поэтому лучше сразу указывать полный путь к программе. Python обычно подхватывает скрипты из текущей папки без указания полного пути:

А Java программы нужно запускать так:

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

Или же просто набрать путь к скрипту:

Оболочка сама определяет свои скрипты по флагу исполняемости и выполняет их. Если флаг исполняемости не установлен, то его стоит добавить:

Поэтому то и для большинства интерпретируемых программ созданы простые sh скрипты которыми их можно быстро запустить.

Запуск программ Linux в графическом интерфейсе

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

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

Точно так же работает запуск скриптов в графическом интерфейсе. Вы можете найти все ярлыки из меню в каталоге /usr/share/applications/. Любую программу можно запустить двойным щелчком отсюда. Но давайте посмотрим что находится внутри ярлыка, для этого откройте его в текстовом редакторе:

Кроме всего прочего, в строке Exec указана команда, которая выполняет запуск программы linux, когда вы делаете двойной клик на ярлыке. Вы можете взять один из существующих ярлыков и сделать на его основе свой. Здесь указано просто имя программы. Но важно заметить, что лучше указывать полный путь в таких местах, как ярлыки, скрипты, cron и так далее это уменьшит количество ошибок, поскольку вы не можете знать проверяет ли система в этом случае PATH или ищет программу только в текущем каталоге. Теперь вы знаете все о том как запустить программу на linux.

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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