Как написать и запустить программу на языке C в Linux
Linux — это рай для разработчиков, потому что это операционная система с открытым исходным кодом, свободно распространяемая и предлагающая бесплатные инструменты программирования для всех популярных языков программирования. В этой статье мы расскажем вам, как написать, скомпилировать и запустить простую программу на языке Си в Ubuntu Linux. Это послужит вам основой для перехода к более сложным и полезным программам на Си, которые вы можете написать и запустить на Linux.
Для компиляции простой программы на языке C мы используем инструмент командной строки Linux — терминал. Чтобы открыть терминал, вы можете использовать Ubuntu Dash или комбинацию клавиш Ctrl+Alt+T.
Шаг 1: Установите необходимые для сборки пакеты
Для компиляции и выполнения программы на языке C необходимо, чтобы в вашей системе были установлены необходимые пакеты. Введите следующую команду от имени root в терминале Linux:
sudo apt-get install build-essential

Вам будет предложено ввести пароль для 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!
Разберем этот процесс по шагам:
- Из домашней директории переходим в директорию test.
- Находим в директории test исполняемый файл executable, который при запуске выводит сообщение Hello from executable! .
- Пытаемся запустить по имени файл executable и получаем ошибку.
- Пробуем запустить через точку и получаем успешный запуск.
Изменение переменной PATH
В общем случае мы не рекомендуем менять переменную PATH самостоятельно. При правильной установке большинство программ самостоятельно добавляют свои исполняемые файлы в нужные места. В некоторых случаях они просят об этом пользователя — дают подсказки, какие файлы и куда нужно добавить после установки.
Чтобы вручную изменить переменную PATH , нужно поправить один из конфигурационных файлов Bash. Эти файлы лежат в домашней директории пользователя и могут называться так:
В зависимости от настроек терминала, Bash загружает либо одни файлы, либо другие. Если в вашей домашней директории есть файл .bashrc, то попробуйте использовать его. Если нет, пробуйте остальные файлы в том порядке, в котором они приведены выше. Добавьте в этот файл следующую строку:
export PATH=$PATH:/path/to/directory
В этой строке вам нужно заменить /path/to/directory на путь до директории с исполняемыми файлами. После этих манипуляций не забудьте перезапустить терминал.
Самостоятельная работа
Попробуйте узнать, где в вашей системе лежит программа tree , установленная на одном из прошлых уроков.
Дополнительные материалы
- Перечень наиболее часто используемых команд
- Как использовать коды завершения в Bash-скриптах
- Как создать псевдоним для команд в Bash
![]()
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Об обучении на Хекслете
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях:
Как запустить программу через командную строку в Windows 10, 7
При работе с командной строкой и написании командных файлов часто возникает необходимость в запуске других программ. В данной статье мы рассмотрим несколько способов, как можно запускать программы через командную строку в операционных системах Windows 10 и Windows 7.
Запуск по названию исполняемого файла
Многие программы в командной строке можно запускать просто указав название их исполняемого файла. Например, вы можете ввести в командную строку « notepad » и запустить программу « Блокнот » или ввести « mspaint » и запустить « Paint ».

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

Если вы хотите запустить программу из другой папки, которая не указана в переменной « PATH », то вы можете временно изменить папку для поиска исполняемых файлов. Для этого нужно ввести команду « path » и через пробел указать путь к нужной папке. Например, мы можем указать путь к папке с программой AkelPad:
path "C:\Program Files (x86)\AkelPad"
И потом запустить эту программу выполнив команду «akelpad»:
akelpad

Нужно отметить, что команда «path» влияет только на текущий сеанс командной строки, при этом значение переменной « PATH » не меняется.
Запуск с указанием полного пути
Еще один способ запуска программ – это указание полного пути к исполняемому exe-файлу. Для этого достаточно вставить в командную строку полный путь и указанная программа будет запущена.
Например, для запуска программы AkelPad в командную строку нужно вставить следующее:
"C:\Program Files (x86)\AkelPad\AkelPad.exe"

Обратите внимание, если путь содержит пробелы, то его нужно взять в кавычки, в других случаях кавычки не обязательны.
Запуск с помощью команды «start»
Также для запуска других программ можно использовать команду «s tart ». С ее помощью можно запускать как программы для командной строки, так и приложения с графическим интерфейсом.
Для запуска программ данным способом нужно ввести команду « start » и через пробел указать название программы. Например, для того чтобы запустить текстовый редактор «Блокнот» нужно выполнить следующее:
start notepad
Как и в предыдущем случае, Windows будет искать исполняемый файл в папках, которые указаны в переменной окружения « PATH ».

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

Одной из особенностей команды « 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 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.