Перейти к содержимому

Как запустить программу c через командную строку

  • автор:

Как написать и запустить программу на языке C в Linux

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

Для компиляции простой программы на языке C мы используем инструмент командной строки Linux — терминал. Чтобы открыть терминал, вы можете использовать Ubuntu Dash или комбинацию клавиш Ctrl+Alt+T.

Шаг 1: Установите необходимые для сборки пакеты

Для компиляции и выполнения программы на языке C необходимо, чтобы в вашей системе были установлены необходимые пакеты. Введите следующую команду от имени root в терминале Linux:

sudo apt-get install build-essential

Установка пакетов build-essential с помощью apt

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

Шаг 2: Напишите простую программу на языке C

После установки необходимых пакетов, давайте напишем простую программу на языке C.

nano sampleProgram.c

Откройте графический текстовый редактор Ubuntu и напишите или скопируйте в него следующий пример программы:

#include int main()

Затем сохраните файл. В этом примере я назвал свою программу на языке Си как sampleProgram.c

Пример программы на Си

Шаг 3: Скомпилируйте программу на языке C с помощью компилятора gcc

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

gcc [ИмяФайла].c -o [ИмяПрограммы]
gcc sampleProgram.c -o sampleProgram

Шаг 4: Запуск программы

Последний шаг — запуск скомпилированной программы на языке C. Для этого используйте следующий синтаксис:

./Имя программы
./sampleProgram

Запуск нашей скомпилированной программы

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

Из этой статьи вы узнали, как написать, скомпилировать и запустить простую программу на языке C в Linux.

компиляция программы через командную строку

Компилятор — это программа, которая преобразует код, написанный на одном из языков программиро-вания (в данном случае, это язык C#) в машинный код. Сам компилятор csc.exe находится в пакете .NET Framework, а не в самой среде Visual Studio. Поэтому, написать код программы можно в любом текстовом редакторе, а скомпилировать и запустить программу на выполнение можно из командной строки. Для этого нужно задать путь, чтобы вызывать компилятор из командной строки, не вводя полный путь расположения файла csc.exe.

Найдите компилятор csc.exe. Windows + E, выберите Локальный диск C, в строке поиск введите csc.exe. Выделите нужный файл последней версии, это Framework 4.0.

Откройте его правой кнопкой мыши, выберите Свойство. Скопируйте путь.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\

Добавьте этот путь в системную переменную. Windows + Pause. Дополнительные параметры системы. Переменные среды.

Выберите системные переменные. Path. Нажмите кнопку Изменить. Введите скопированный путь ком-пилятора.

В конце точку с запятой ставить не нужно. Внимание! Введите только сам путь, файл csc.exe указывать не нужно. Нажмите ОК. Перезагрузите компьютер.

Выполнение программ — Основы командной строки

Запуск программ в командной строке активирует целый механизм по поиску и выполнению этой программы. Очень важно понимать, как он работает, так как проблемы с запуском вновь установленных программ возникают регулярно у всех разработчиков. Изучив материал этого урока, вы сможете решать проблемы с исполнением файлов.

Программа, независимо от того, что она делает — это всего лишь файл или набор файлов на диске. Один из этих файлов обязательно должен быть исполняемым. Помните тот самый x из урока про права доступа? Так вот, выполнить программу можно, только если она исполняемая, иначе попытка запустить ее приведет к ошибке.

Весь механизм по запуску программ в *nix-системах основан на соглашениях. Когда мы вводим некоторую команду, например, ls , командная оболочка начинает поиск исполняемого файла с именем ls в списке директорий, указанном в переменной окружения PATH :

echo $PATH /home/hex/.local/bin:/home/hex/bin/:/home/hex/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

Директории друг от друга отделяются двоеточием. В этом списке присутствуют как общесистемные пути, так и специфичные пути для конкретного пользователя. В вашем случае PATH будет другой.

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

command not found 

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

Если вам интересно узнать, а где лежит исполняемый файл конкретной программы, то можно воспользоваться командой type (а еще which и whereis ):

type cp cp is /bin/cp whereis cp cp: /bin/cp which cp /bin/cp ls -al /bin | grep cp -rwxr-xr-x 1 root root 141528 Jan 18 2018 cp 

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

Скорее всего, вы заметили, что почти все пути к исполняемым файлам программ оканчиваются на директории bin. По общему соглашению исполняемые файлы в таких директориях называют бинарниками. Пакетные менеджеры знают о бинарниках и во время установки программ переносят их в одну из директорий, входящих в переменную PATH . Для вновь устанавливаемых программ это обычно /usr/local/bin.

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

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

Такое поведение сделано в целях безопасности: возможно, вы хотели запустить какую-то стандартную программу, а злоумышленник положил в текущую директорию вредоносную программу с таким же именем. По этой причине, прямой запуск программ всегда должен быть путем до файла — например, path/to/executable/file. А если файл лежит в текущей директории? Здесь нам поможет обращение через точку ./ :

pwd /home/hex cd test/ ls -al total 16 drwxr-xr-x 2 hex hex 4096 Sep 10 15:24 . drwxr-xr-x 1 hex hex 4096 Sep 10 15:24 .. -rwxr-xr-x 1 hex hex 60 Sep 10 15:24 executable executable bash: executable: command not found ./executable Hello from executable! 

Разберем этот процесс по шагам:

  1. Из домашней директории переходим в директорию test.
  2. Находим в директории test исполняемый файл executable, который при запуске выводит сообщение Hello from executable! .
  3. Пытаемся запустить по имени файл executable и получаем ошибку.
  4. Пробуем запустить через точку и получаем успешный запуск.

Изменение переменной PATH

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

Чтобы вручную изменить переменную PATH , нужно поправить один из конфигурационных файлов Bash. Эти файлы лежат в домашней директории пользователя и могут называться так:

В зависимости от настроек терминала, Bash загружает либо одни файлы, либо другие. Если в вашей домашней директории есть файл .bashrc, то попробуйте использовать его. Если нет, пробуйте остальные файлы в том порядке, в котором они приведены выше. Добавьте в этот файл следующую строку:

export PATH=$PATH:/path/to/directory 

В этой строке вам нужно заменить /path/to/directory на путь до директории с исполняемыми файлами. После этих манипуляций не забудьте перезапустить терминал.

Самостоятельная работа

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

Дополнительные материалы
  1. Перечень наиболее часто используемых команд
  2. Как использовать коды завершения в Bash-скриптах
  3. Как создать псевдоним для команд в Bash

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

  • Статья «Как учиться и справляться с негативными мыслями»
  • Статья «Ловушки обучения»
  • Статья «Сложные простые задачи по программированию»
  • Вебинар «Как самостоятельно учиться»

Открыть доступ

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

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Как запустить программу через командную строку в Windows 10, 7

При работе с командной строкой и написании командных файлов часто возникает необходимость в запуске других программ. В данной статье мы рассмотрим несколько способов, как можно запускать программы через командную строку в операционных системах Windows 10 и Windows 7.

Запуск по названию исполняемого файла

Многие программы в командной строке можно запускать просто указав название их исполняемого файла. Например, вы можете ввести в командную строку « notepad » и запустить программу « Блокнот » или ввести « mspaint » и запустить « Paint ».

Запуск по названию исполняемого файла

Это работает благодаря переменной окружения « PATH » в которой записан список папок, где Windows должна искать исполняемые файлы для программ. Список этих папок можно просмотреть, если ввести в командную строку команду « path ».

ввести в командную строку path

Если вы хотите запустить программу из другой папки, которая не указана в переменной « PATH », то вы можете временно изменить папку для поиска исполняемых файлов. Для этого нужно ввести команду « path » и через пробел указать путь к нужной папке. Например, мы можем указать путь к папке с программой AkelPad:

path "C:\Program Files (x86)\AkelPad"

И потом запустить эту программу выполнив команду «akelpad»:

akelpad

ввести команду path и через пробел указать путь

Нужно отметить, что команда «path» влияет только на текущий сеанс командной строки, при этом значение переменной « PATH » не меняется.

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

Еще один способ запуска программ – это указание полного пути к исполняемому exe-файлу. Для этого достаточно вставить в командную строку полный путь и указанная программа будет запущена.

Например, для запуска программы AkelPad в командную строку нужно вставить следующее:

"C:\Program Files (x86)\AkelPad\AkelPad.exe"

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

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

Запуск с помощью команды «start»

Также для запуска других программ можно использовать команду «s tart ». С ее помощью можно запускать как программы для командной строки, так и приложения с графическим интерфейсом.

Для запуска программ данным способом нужно ввести команду « start » и через пробел указать название программы. Например, для того чтобы запустить текстовый редактор «Блокнот» нужно выполнить следующее:

start notepad

Как и в предыдущем случае, Windows будет искать исполняемый файл в папках, которые указаны в переменной окружения « PATH ».

Запуск с помощью команды start

Но, команда « start » позволяет и вручную указать путь к папке с программой. Для этого нужно использовать параметр « /D ».

Например, для того чтобы запустить программу « akelpad » из папки « C:\Program Files (x86)\AkelPad » нужно выполнить следующее:

start /D "C:\Program Files (x86)\AkelPad" akelpad

команда start и с указанием пути

Одной из особенностей команды « start » является то, что она позволяет запускать программы с высоким приоритетом.

Как перезапустить программу через командную строку

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

Для остановки запущенной программы можно использовать команду taskkill. Например, чтобы принудительно (параметр /F ) останавить работу процесса « Viber.exe » нужно выполнить:

taskkill /F /IM Viber.exe

После остановки программы ее можно повторно запустить с помощью команды « start ». Например, чтобы перезапустить Viber через командную строку нужно выполнить:

start /D "%LocalAppData%\Viber" Viber

Здесь « %LocalAppData%\Viber » — это путь к папке с программой, а « Viber » — название исполняемого exe-файла в этой папке.

Эти две команды можно объединить в одну с помощью оператора « && ». В этом случае команда для перезапуска Viber будет выглядеть так:

taskkill /F /IM Viber.exe && start /D "%LocalAppData%\Viber" Viber

Обратите внимание, завершая программы с помощью « taskkill /F » вы можете потерять несохраненные данные.

  • Выключение компьютера через командную строку
  • Как перезагрузить компьютер через командную строку
  • Как вызвать командную строку в Windows 7
  • Как поменять дату в Windows 7
  • Как выключить компьютер через определенное время

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *