- unixforum.org
- Запуск программ через консоль (Например: «Kate»)
- Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Re: Запуск программ через консоль
- Как запустить программу на Linux
- Виды программ в Linux
- Запуск программ в терминале
- Запуск программ от имени другого пользователя
- Как запустить программу в фоне
- Как запустить скрипт в Linux
- Запуск программ Linux в графическом интерфейсе
- Выводы
unixforum.org
Запуск программ через консоль (Например: «Kate»)
Запуск программ через консоль
Сообщение Lite » 27.02.2009 00:02
haRUNg Сообщения: 295 Статус: мЁртвый 0дмин ОС: openSUSE, Debian Контактная информация:
Re: Запуск программ через консоль
Сообщение haRUNg » 27.02.2009 00:30
конкретизируйте вопрос, а то получите такой же ответ (%
Если человек не заслуживает прощения при жизни, то его прощение необходимо ускорить. ©Йозеф Геббельс
Re: Запуск программ через консоль
Сообщение Lite » 27.02.2009 00:31
конкретизируйте вопрос, а то получите такой же ответ (%
Просто запустить стандартную программу через консоль.
Поумалчанию, если точно не сказано.
По дефолку.
Как вам сказать.
Как запускаются все программы в линуксе?
uptime Сообщения: 1661 Статус: Drinker with computing problems ОС: kubuntu 8.04
Re: Запуск программ через консоль
Сообщение uptime » 27.02.2009 00:39
конкретизируйте вопрос, а то получите такой же ответ (%
Просто запустить стандартную программу через консоль.
Поумалчанию, если точно не сказано.
По дефолку.
Как вам сказать.
Как запускаются все программы в линуксе?
1. Запускаем консоль (эмулятор терминала)
2. набираем:
Если не хотим ждать завершения программы (консоль нужна для чего- ещё) то можно в конце добавить амперсанд:
или я не угадал смысл вашего вопроса?
Re: Запуск программ через консоль
Сообщение Lite » 27.02.2009 00:44
Угадал.
Только не запускается программа.
При $Kate& выводит выводит Done
А кагда $Kate, то обше молчит.
Re: Запуск программ через консоль
Сообщение TuxWare » 27.02.2009 01:28
Угадал.
Только не запускается программа.
При $Kate& выводит выводит Done
А кагда $Kate, то обше молчит.
Вы, чо царапаете. Написали ясно: открыть консоль, написать маленькими буквами kate, бахнуть энтер. Символ $ (перед kate) предполагал приглашение коммандной строки на ввод. И команда kate, а не Kate.
Re: Запуск программ через консоль
Сообщение FlySnake » 27.02.2009 01:35
$ впереди вводить не надо — это в данном случае означает, что команда от имени пользователя выполняется. А в вашем случае получилась вообще переменная
& пробелом отделить надо, иначе она в фоне будет выполнятся как бы свернута и достать её оттуда можно с помощь fg
Запустить Kate можно всего лишь набрав kate в консоле, или kate & — попробуйте оба варианта и сравните
Крайне рекомендуется к прочтению какая-нибудь книга для начинающего пользователя про Linux, например http://www.linuxcenter.ru/lib/books/kostromin/
Re: Запуск программ через консоль
Сообщение Lite » 27.02.2009 11:18
$ впереди вводить не надо — это в данном случае означает, что команда от имени пользователя выполняется. А в вашем случае получилась вообще переменная
& пробелом отделить надо, иначе она в фоне будет выполнятся как бы свернута и достать её оттуда можно с помощь fg
Запустить Kate можно всего лишь набрав kate в консоле, или kate & — попробуйте оба варианта и сравните
Крайне рекомендуется к прочтению какая-нибудь книга для начинающего пользователя про Linux, например http://www.linuxcenter.ru/lib/books/kostromin/
Re: Запуск программ через консоль
Сообщение petyanamlt » 27.02.2009 11:37
MSI 990FXA-GD80 SocketAM3+ / FX 8350 / Geforce gtx670 4GB / 4xHDD — 2000 -2х500 (Velociraptor) — 240ssd под Kubuntu / 16Gb RAM DDR3 1600 / TV TBS 6281. Ну и разгон естественно, жить без этого не могу.
(mail agent) petyanamlt собака маил.ру
Как запустить программу на Linux
По сути операционная система состоит из ядра и огромного набора программ, которые предназначены для выполнения различных задач, обслуживания системы и удовлетворения потребностей пользователя. Почти все взаимодействие пользователя и операционной системы выполняется с помощью программ. Поэтому новичкам важно понять как запустить программу на Linux, что происходит во время запуска и какие есть способы запуска.
Дальше мы рассмотрим виды программ, их запуск программ на Linux различными способами и другие полезные для новичков вещи, опытным пользователям это все и так уже известно.
Виды программ в Linux
Перед тем, как мы перейдем к запуску программ, нужно сначала понять что представляет из себя программа. В Linux программы отличаются от других файлов только тем, что для них установлен флаг исполняемости. Я уже подробно писал об этом в статье что такое исполняемость поэтому не буду повторяться.
Все программы можно поделить на несколько типов:
- Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
- Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
- Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.
А теперь перейдем к запуску программ.
Запуск программ в терминале
Изначально в операционных системах 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:
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.