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

Обновлено: 06.07.2024

Запуск всех исполняемых файлов в указанном в каталоге
Запуск всех исполняемых файлов в указанном в каталоге. Каталог вводится в качестве параметра.

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

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

вот этим вот браузером, я никакого экзешника не запускаю. Виндовый экзешник не запускаешь, а исполняемый файл - да. Можешь называть его "экзешник", если так больше нравится.
Запуск по двойному клику, или незапуск по двойному клику - это ответственность файлового менеджера, в котором ты делаешь эти клики. Если приложение консольное, то, например, в dolphin в контекстном меню есть Run In Konsole. Гуевые приложения dolphin вполне себе запускает в один клик.

Решение

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

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

чтобы изменить действие, выполняемое по умолчанию, запускаете Nautilus, выбираете меню "Правка", в нем пункт "Параметры". В открывшемся окне вверху выбираете вкладку "Поведение" и затем в поле "Исполняемые текстовые файлы" ставите птичку на пункт "Запускать исполняемые текстовые файлы при открытии" (или же "каждый раз спрашивать").

Вирус заблокировал запуск исполняемых файлов
Вообщем докачался. Скачал вчера программу, а в ней оказлся вирус. Вирус заблокировал запуск любых.

Не всегда работает запуск исполняемых файлов в IE
Доброго всем времени суток! Создал html страницу. На ней есть кнопка, при нажатии которой.

Запуск и удаление исполняемых файлов из каталога
Здравствуйте. Помогите пожалуйста разобраться в некоторых местах кода. Полное задание: unit.cpp.


Запуск и последующее удаление всех исполняемых файлов из каталога
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo команда
sudo whoami

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

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

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

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

dd if=/dev/zero of=

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

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

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

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

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

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

java -jar program.jar

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

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

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

sudo chmod u+x ./script.sh

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

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

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

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

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

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

Выводы

В этой статье мы рассмотрели как запустить программу через терминал ubuntu или в других дистрибутивах 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 адрес_файла

bin1

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

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

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

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

bin2

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

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

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

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

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

bin3

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

bin4

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

Выводы

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


Командная строка Linux для новичков

Данная статья является текстовым дополнением к нашему видео «Командная строка Linux для новичков», то есть это что-то вроде краткого конспекта.

Видео

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

Терминал можно запустить через Главное меню в вашем дистрибутиве. Если отдельного Главного меню с программами нет, например, как в Ubuntu (в GNOME), то терминал можно запустить через Лаунчер.

Также очень распространенным сочетанием клавиш, с помощью которого во многих дистрибутивах Linux можно запустить терминал, является сочетание — Ctrl+Alt+T

Терминал

Приглашение ко вводу команд

В терминале слева от курсора выводится приглашение ко вводу или Shell Promt.

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

Приглашение ко вводу команд

Как закрыть терминал

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

Запуск предыдущих команд

Чтобы получить доступ к командам, которые вы уже вводили можно использовать клавиши Вверх и Вниз . С их помощью можно «перелистывать» команды в истории команд.

Рабочий каталог

Все действия в терминале всегда выполняются в рамках рабочего каталога.

Для вывода текущего рабочего каталога используется команда:

Для изменения рабочей директории (для перехода в другую директорию) используется команда:

Аргументы командной строки

Почти все команды принимают какие-либо аргументы командной строки.

Аргументы могут быть следующих типов
-v — короткая опция.
--version — длинная опция
sometext — текст (аргумент, параметр)

Автодополнение команд

Чтобы выполнить автодополнение команды или аргумента нужно дважды нажать клавишу TAB

Если вариантов дополнения несколько, то они будут выведены на экран.

Базовые команды

Некоторые базовые команды:

  • ls — вывести список файлов в директории.
  • cd путь/до/директории — перейти в другую директорию.
  • cp путь1/файл1 путь2/файл2 — скопировать файл1 в файл2.
  • cp -r директория1 директория2 — скопировать директорию1 в директорию2.
  • mv путь1/файл1 путь2/файл2 — переместить/переименовать файл1 в файл2.
  • mkdir имядиректории — создать директорию.
  • rm файл — удалить файл.
  • rm -r директория — удалить директорию.
  • cat путь/до/файла — вывести содержимое файла.

Относительные и абсолютные пути

  • /var/log — абсолютный путь.
  • documents/reports — относительный путь.
  • . — обозначает текущую директорию. Например: ./readme.txt — файл с именем readme.txt в текущей директории
  • .. — родительская директория.

Получение справки

Для получения справки по любой команде можно использовать команду man Например:

Для выхода из режима справки, нажмите клавишу q

Просмотр истории и поиск по истории команд

Для вывода истории команд используется команда:

Для запуска команды из истории по ее номеру выполните (вместо 123 укажите номер команды):

Прервать выполнение команды

Чтобы досрочно прервать выполнение команды можно использовать сочетание клавиш Ctrl+C

Полезные программы

Примечание: Данный пункт в видео не представлен.

Midnight Commander — функциональный файловый менеджер.

Для запуска Midnight Commander используется команда:

Обычно Midnight Commander не установлен по умолчанию, поэтому его нужно предварительно установить. В Ubuntu для этого можно использовать команду:

Для выполнения команд с правами суперпользователя используется команда sudo

Заключение

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

Читайте также: