
Терминал в Linux – не альтернативный, а полноценный и часто более точный способ запуска программ. Он позволяет управлять тем, как именно стартует приложение: из нужного каталога, с заданными аргументами, переменными окружения и правами доступа. Например, запуск через ./app или по абсолютному пути сразу показывает, какой бинарный файл используется, без скрытых оболочек и ярлыков.
Запуск через терминал особенно полезен при работе с серверными утилитами, скриптами, AppImage-файлами и собственноручно собранными программами. В отличие от меню приложений, командная строка даёт контроль над параметрами запуска, например —config, —verbose или —no-gui, что критично для отладки и автоматизации.
Понимание базовых способов запуска приложений в Linux через терминал экономит время и снижает количество «необъяснимых» сбоев. Это навык, который одинаково важен и для новичков, и для тех, кто настраивает систему под себя или работает с удалёнными машинами без графического интерфейса.
Открытие терминала и выбор рабочей оболочки

Терминал в Linux запускается разными способами в зависимости от графического окружения. В большинстве дистрибутивов сочетание клавиш Ctrl+Alt+T открывает эмулятор терминала по умолчанию. В GNOME это обычно gnome-terminal, в KDE – konsole, в Xfce – xfce4-terminal. Альтернативный вариант – запуск через меню приложений, где терминал доступен как отдельная программа.
После открытия терминала пользователь работает внутри командной оболочки (shell). Наиболее распространена bash, используемая по умолчанию в Ubuntu, Debian и многих других системах. В современных дистрибутивах всё чаще встречается zsh, которая отличается расширенным автодополнением и удобной работой с историей команд. Текущую оболочку можно определить командой echo $SHELL.
Выбор оболочки влияет на синтаксис запуска программ, обработку переменных окружения и поддержку автодополнения. Например, fish не полностью совместима с bash-скриптами, что важно учитывать при запуске установочных файлов и утилит из документации. Для временного перехода в другую оболочку достаточно выполнить её имя, например bash или zsh, без перезапуска терминала.
Для задач, связанных с запуском приложений, рекомендуется использовать оболочку, совместимую с системными скриптами и инструкциями разработчиков. В большинстве случаев это bash, так как именно её синтаксис предполагается в официальной документации и примерах команд.
Переход в каталог с установленным приложением

Перед запуском программы из терминала необходимо определить каталог, в котором находится её исполняемый файл. Для пользовательских приложений это часто ~/bin, ~/Downloads или каталог, куда был распакован архив. Системные программы обычно размещаются в /usr/bin, /usr/local/bin или /opt, однако для их запуска переход в каталог не всегда требуется.
Переход выполняется командой cd с указанием относительного или абсолютного пути. Абсолютный путь начинается с корня файловой системы и исключает ошибки, связанные с текущим каталогом. Пример: cd /opt/appname/bin. Относительный путь используется, если приложение находится внутри текущей директории, например cd app/bin.
Для проверки содержимого каталога и поиска исполняемого файла применяются стандартные команды:
- ls -l – показывает права доступа и тип файла;
- pwd – отображает текущий рабочий каталог.
При работе с длинными путями рекомендуется использовать автодополнение клавишей Tab. Оно снижает риск опечаток и ускоряет навигацию между каталогами, особенно при запуске приложений из нестандартных директорий.
Запуск исполняемого файла по относительному пути (./)

В Linux текущий каталог по умолчанию не входит в переменную окружения PATH, поэтому исполняемый файл из него нельзя запустить просто по имени. Для явного указания на файл используется относительный путь с префиксом ./, который указывает системе искать программу именно в текущей директории.
Перед запуском необходимо убедиться, что терминал находится в нужном каталоге. Проверка выполняется командой pwd, после чего файл запускается в формате ./имя_файла. Например: ./app или ./install.sh. Если путь указан корректно, оболочка передаёт управление ядру без обращения к каталогам из PATH.
Наиболее распространённая проблема при использовании ./ – отсутствие права на исполнение. В этом случае система вернёт сообщение Permission denied. Исправляется это одной командой: chmod +x имя_файла, после чего повторный запуск станет возможным без дополнительных настроек.
| Ситуация | Команда | Результат |
|---|---|---|
| Файл исполняемый | ./program | Приложение запускается |
| Нет прав на выполнение | chmod +x program | Добавляется флаг исполнения |
| Файл не найден | ls | Проверка имени и расположения |
Запуск через ./ применяется для локальных бинарных файлов, скриптов, AppImage и установочных пакетов, загруженных вручную. Этот способ гарантирует, что будет выполнен именно тот файл, который находится в текущем каталоге, а не одноимённая программа из системы.
Запуск программы по абсолютному пути

Абсолютный путь указывает точное расположение исполняемого файла, начиная с корня файловой системы /. Такой способ запуска не зависит от текущего каталога и исключает ошибки, связанные с навигацией по директориям. Пример прямого запуска: /usr/bin/firefox или /opt/app/bin/app.
Этот метод применяется, когда приложение не добавлено в PATH или существует несколько бинарных файлов с одинаковым именем. Использование полного пути гарантирует, что будет запущена именно нужная версия программы, а не альтернативный файл из другого каталога.
Для определения абсолютного пути установленного приложения удобно использовать команду which или command -v. Они показывают, какой бинарный файл вызывается при запуске по имени, например: which python. Полученный путь можно использовать напрямую без перехода в каталог.
При запуске по абсолютному пути также важно наличие права на исполнение. Проверка выполняется через ls -l, а при необходимости доступ добавляется командой chmod +x. Для системных директорий может потребоваться запуск с повышенными привилегиями через sudo, если программа обращается к защищённым ресурсам.
Абсолютный путь часто используется в скриптах, сервисах и cron-задачах, где недопустима зависимость от окружения пользователя и текущего рабочего каталога.
Использование команды запуска по имени из PATH
Если исполняемый файл находится в одном из каталогов, перечисленных в переменной окружения PATH, приложение можно запустить, указав только его имя без путей и префиксов. Например, команда git или python сразу вызывает соответствующую программу независимо от текущего каталога.
Проверить содержимое PATH можно командой echo $PATH. Обычно туда входят каталоги /usr/bin, /bin, /usr/local/bin, а также пользовательские директории. Именно в них система ищет бинарные файлы при вводе команды в терминале.
Для определения, какой именно файл будет запущен по имени команды, используются which и type. Они позволяют выявить ситуацию, когда в системе присутствует несколько программ с одинаковым именем, но в разных каталогах, и приоритет отдаётся первой найденной в PATH.
Чтобы добавить собственное приложение в PATH, исполняемый файл копируют или символически ссылаются на него в каталог, уже присутствующий в переменной, либо расширяют PATH в файлах .bashrc или .profile. После этого программу можно запускать так же, как системные утилиты, без указания полного пути.
Запуск по имени из PATH удобен для часто используемых инструментов, однако при отладке и работе с несколькими версиями программ предпочтительнее использовать абсолютные пути, чтобы избежать неоднозначного выбора бинарного файла.
Запуск графического приложения из терминала

Графические приложения в Linux запускаются из терминала так же, как консольные, при условии наличия активной графической сессии. Если программа установлена в системе и доступна в PATH, достаточно ввести её имя, например firefox или gedit. Окно приложения будет связано с текущим терминалом до завершения процесса.
Для запуска графической программы и одновременного освобождения терминала используется символ &, который отправляет процесс в фоновый режим: firefox &. Это особенно удобно при работе с несколькими приложениями из одной сессии командной строки.
При работе через удалённое подключение требуется корректно настроенная передача графики. Для X11 используется переменная окружения DISPLAY, а при подключении по SSH – ключ -X или -Y. Без этого графическое приложение не сможет отобразить окно и завершится с ошибкой.
Запуск графических программ из терминала применяется при отладке, тестировании параметров запуска и работе в минимальных окружениях, где отсутствуют ярлыки и меню приложений.
Запуск приожения с параметрами и аргументами

Параметры и аргументы передаются приложению сразу после имени исполняемого файла через пробел. Они позволяют управлять режимом работы программы без изменения конфигурационных файлов. Пример запуска: python script.py —verbose или tar -xzvf archive.tar.gz.
Аргументы бывают позиционными и именованными. Позиционные обрабатываются в строгом порядке, тогда как именованные начинаются с одного или двух дефисов и могут передаваться в произвольной последовательности. Большинство утилит поддерживает оба варианта одновременно.
- —config путь – указывает пользовательский файл конфигурации.
Для запуска локального исполняемого файла с аргументами используется стандартный формат с относительным или абсолютным путём: ./app —port 8080 —debug. Оболочка передаёт параметры программе без интерпретации, если не используются специальные символы.
Аргументы, содержащие пробелы или специальные символы, необходимо заключать в кавычки. Одинарные кавычки передают строку буквально, двойные допускают подстановку переменных окружения. Неправильное экранирование приводит к искажению входных данных ещё до запуска приложения.
- Проверить доступные параметры через —help.
- Сформировать команду с нужными аргументами.
Запуск с параметрами используется при автоматизации, отладке и точной настройке поведения приложений, когда графический интерфейс не предоставляет доступ ко всем возможностям программы.
Решение типичных ошибок при запуске через терминал

Большинство проблем при запуске приложений в Linux связано с путями, правами доступа и окружением. Терминал напрямую сообщает причину сбоя, поэтому ключевая задача – правильно интерпретировать сообщение об ошибке и проверить соответствующий параметр системы.
Ошибки, возникающие при запуске, чаще всего воспроизводимы и имеют стандартные способы устранения. Проверка прав, существования файла и его формата должна выполняться до попыток переустановки или изменения системы.
| Сообщение об ошибке | Причина | Решение |
|---|---|---|
| command not found | Файл отсутствует в PATH или указан неверно | Использовать абсолютный путь или проверить PATH |
| Permission denied | Нет прав на исполнение файла | Выполнить chmod +x файл |
| No such file or directory | Файл или путь не существует | Проверить имя и расположение через ls |
| Exec format error | Неверный формат бинарного файла | Проверить архитектуру и тип файла |
| Permission denied (sudo) | Ограничения доступа к системным ресурсам | Запустить с sudo, если это оправдано |
Для диагностики полезно использовать file для определения типа исполняемого файла и ldd для проверки зависимостей динамических библиотек. Отсутствие нужных библиотек приводит к немедленному завершению программы ещё до старта.
Вопрос-ответ:
Почему команда не запускает приложение, хотя файл существует?
Чаще всего причина связана с правами доступа или способом указания пути. Если файл лежит в текущем каталоге, его имя нужно писать с префиксом ./, например ./app. Также стоит проверить атрибут выполнения через ls -l. Если в выводе нет буквы x, запуск не произойдёт. Исправляется это командой chmod +x app, после чего повторный запуск обычно проходит без ошибок.
Как понять, какой командой запускается установленная программа?
Название пакета и команда запуска могут отличаться. Узнать нужное имя можно через dpkg -L пакет или rpm -ql пакет, посмотрев файлы в каталогах /usr/bin и /usr/local/bin. Более простой вариант — ввести часть названия и нажать Tab: оболочка подскажет доступные команды.
Как запустить скрипт .sh через терминал?
Сначала нужно проверить, есть ли у файла право на выполнение. Это делается командой ls -l имя_скрипта.sh. Если буквы x нет, права добавляют через chmod +x имя_скрипта.sh. После этого скрипт запускается из каталога, где он лежит, с помощью ./имя_скрипта.sh. Если файл использует интерпретатор bash или sh, он должен быть указан в первой строке.
Почему терминал сообщает «Permission denied» при запуске приложения?
Такое сообщение появляется, когда у файла нет разрешения на выполнение или каталог смонтирован без возможности запуска программ. В первом случае помогает изменение прав через chmod. Во втором — стоит проверить параметры монтирования раздела. Также ошибка может возникать при попытке запуска файла от обычного пользователя, если доступ разрешён только администратору.
Можно ли запускать программы в фоне, чтобы не занимать терминал?
Да, для этого в конце команды добавляют символ &. Пример: telegram-desktop &. После запуска терминал сразу принимает новые команды, а приложение продолжает работать. Для уже запущенной программы можно использовать сочетание Ctrl+Z и команду bg, чтобы перевести её в фоновый режим.
