Linux запуск файла с параметрами

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Mac os install data что это

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Настройка smtp сервера windows server 2016

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

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

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

Выводы

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

Источник

Командная строка Linux: краткий курс для начинающих

Введение

В данном руководстве мы вкратце ознакомимся с работой в командной строке в Ubuntu 20.04 .

Требования

Для разных операционных систем командную строку можно открывать с помощью приложений:

  • Mac OS X: Terminal (default), iTerm 2;
  • Windows: PuTTY;
  • Linux: Terminal, KDE Konsole, XTerm.

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

Вход на сервер через терминал

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

Для работы через консоль следует нажать сочетание клавиш Ctrl+Alt+F1, для возврата в графический интерфейс — сочетание клавиш Ctrl+Alt+F7.

Для запуска терминала нажмите сочетание клавиш Ctrl+Alt+T.

Внизу экрана располагается приглашение командной строки — последовательность символов, извещающая о готовности к обработке команд:

  • kamilla — имя текущего пользователя (суперпользователь/администратор);
  • kamilla-Aspire-V3-37 — имя хоста (сервер);
  • : — разделитель;

— текущая директория (в какой папке выполняется команда) пользователя (по умолчанию /home/ );

  • $ — символ приглашения ввода для пользователей с обычными правами;
  • # — символ приглашения ввода для суперпользователя/администратора root (например, root@cs49647:

    Базовые команды, используемые при настройке сервера

    После создания нового сервера необходимо предпринять несколько шагов по его базовой настройке.

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

    ssh -p №port demo@adress

    • №port — номер заданного порта при начальной настройке сервера;
    • demo — имя пользователя;
    • adress — ip-адрес сервера.

    Для входа на сервер под учетной записью root используйте команду, заменив SERVER_IP_ADDRESS на публичный IP-адрес вашего сервера:

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

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

    Для замены строчки в открывшемся конфигурационном файле найдите, например, строчку Port 22 и замените число 22 на любое другое число (от 1025 и до 65536).

    После внесения изменений сохраните и закройте файл, нажав сочетание клавиш CTRL-X, затем клавишу Y, затем клавишу ENTER.

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

    Для выполнения команды с привилегиями root-пользователя, перед ней следует поставить слово sudo:

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

    Обзорное описание команд, аргументов и опций для них

    Для запуска команды следует ввести команду и нажать клавишу Enter.

    Команды выполняются последовательно, для выполнения следующей появится приглашение командной строки (если не использовать специальные скрипты).

    Для того чтобы открыть страницу с подробным описанием команды Linux, например ip address, введите команду man с именем команды:

    Запуск без аргументов и опций

    При запуске команд без аргументов:

    • cd — возврат в домашнюю директорию текущего пользователя;
    • ls — вывод списка файлов и директорий в текущем каталоге.

    Пример:

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

    Запуск с аргументами (параметрами)

    Большинство команд рассчитано на запуск с передачей аргументов (параметров).

    Наиболее распространенное использование команды cd — вызов с аргументом, который является путем к директории, в которую следует перейти:

    Запуск с опциями

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

    Пример:

    Выполнив команду ls с опциями -A, -S, -1, получаем список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру:

    Запуск с аргументами и опциями (одновременно)

    Структура записи команды с опциями и аргументами:

    команда -опции аргументы

    Пример:

    Команда ls -la /home выведет подробный (-l) листинг директории /home, включая скрытые файлы (-a):

    Переменные окружения

    Окружение/среда (environment) — это набор пар ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, которые могут использоваться запускаемыми процессами.

    Просмотр переменных окружения

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

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

    Просмотр значения переменной

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

    Чтобы вывести на экран значение какой-нибудь переменной окружения, достаточно набрать echo $ИМЯ_ПЕРЕМЕННОЙ, например, просмотр домашней директории пользователя, хранящийся в переменной окружения $HOME:

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

    Установка переменных окружения

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

    VAR — название переменной;

    value — значение переменной.

    Пример:

    Выполнив команду var=value, после вывода на просмотр получаем результат value:

    Заключение

    Мы познакомились с принципами работы в командной строке и базовыми командами.

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

    Источник

    Читайте также:  Acer aspire 5750g установить windows 10 с флешки
  • Оцените статью