Как запустить файл из командной строки?
Как запустить файл из командной строки? Когда из Nautilus’а запускаю, то просто два раза щелкаю по нему мышкой, а как из командной строки файл запустить?
Можно выполнить (запустить) файл в командной строке, набрав команду:
sh название-файла
Также можно просто указать имя файла (если он доступен для запуска) и нажать Enter:
./filetorun
Обратите внимание, что перед файлом нужно указать путь до него или, если вы уже находитесь в директории, в которой лежит файл, то перед именем файла нужно поставить «./». Это указывает на то, что вы запускаете файл именно из текущей директории.
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы ставить лайки
LibreBay
Статьи про ОС Ubuntu. Языки программирования Си и C++.
Инструменты разработки и многое другое.
понедельник, 5 декабря 2016 г.
Как скомпилировать программу на C/C++ в Ubuntu

Помню, когда я только начинал программировать, у меня возник вопрос: «Как скомпилировать программу на C в Ubuntu?» Для новичков это не легкая задача, как может показаться на первый взгляд.
Мой путь изучения C начался с бестселлера «Брайан Керниган, Деннис Ритчи, Язык программирования C, 2-е издание». Там рассказывается как скомпилировать программу в операционной системе Unix, но этот способ не работает в Linux. Авторы книги выкрутились, написав следующее:
В других системах это процедура будет отличаться. Обратитесь к справочнику или специалисту за подробностями.
Побуду специалистом 🙂 и расскажу в данной статье, как скомпилировать первые программы на C и заодно на C++ в терминале Ubuntu.
Текстовый редактор gedit
Для написания первых программ подойдет обычный, используемый по умолчанию в Ubuntu, текстовый редактор с подсветкой синтаксиса — gedit.
![]() |
| Рис. 1. Запуск текстового редактора. |
Первой программой по традиции является «Hello, World!», выводящее приветствие на экран:
#include int main(int argc, char **argv)
Печатаем или копируем текст программы в gedit и сохраняем в файл Hello.c , например, на рабочий стол. Не самое лучше место для сохранения, но это позволит рассмотреть случай, когда в имени директории содержится пробел.
![]() |
| Рис. 2. Программа hello, World. |
Компиляция программы на C
Теперь запускаем терминал, можно через Dash, а можно с помощью горячих клавиш + + . Здесь в начале установим инструменты сборки, куда входят необходимые компиляторы gcc для языка C и g++ для языка C++:
sudo apt install build-essential
Для установки требуется ввести пароль, при вводе которого может сложиться впечатление, что ничего не происходит, но на самом деле терминал просто в целях безопасности не отображает символы.
Далее в терминале нам необходимо перейти в директорию, куда сохранили файл с текстом программы. Перемещение выполняется командой cd (англ. change directory — изменить каталог). Чтобы воспользоваться командой в начале пишется cd , затем через пробел путь , куда нужно перейти.
Для перехода на рабочий стол, команда будет следующей:
cd ~/Рабочий\ стол
Обратите внимание на символ обратной косой черты \ в имени директории Рабочий стол . Обратная косая экранирует пробел, и сообщает команде cd , что пробел и следующие за ним символы являются частью имени. Символ ~ в начале пути обозначает путь до домашней папки пользователя.
Для просмотра содержимого директории применяется команда ls (сокращение от англ. list).
![]() |
| Рис. 3. Работа в терминале. |
Команда компиляции для программы на C выглядит следующим образом:
gcc -Wall -o hello hello.c
- gcc — компилятор для языка программирования C;
- -Wall — ключ вывода всех предупреждений компилятора;
- -o hello — с помощью ключа -o указывается имя выходного файла;
- hello.c — имя нашего исходного файла, который компилируем.
В завершение запустим hello , вводом имени программы с префиксом ./ :
./hello
Префикс ./ сообщает терминалу о необходимости выполнить программу с заданным именем в текущем каталоге. (Точка — это условное название текущего каталога.)
![]() |
| Рис. 4. Работа в терминале, продолжение. |
Компиляция программы на С++
Программы на C++ компилируются аналогично, как и программы на C. «Hello, World!» на C++ можно написать так:
#include int main(int argc, char **argv)
Сохраняем текст программы в файл под именем hello2.cpp . Таким образом, команда компилирования будет иметь вид:
g++ -Wall -o hello2 hello2.cpp
Для запуска результата вводим в терминале:
./hello2
Заключение
Данный способ позволяет скомпилировать программу лишь из одного файла с исходным кодом. Но этого вполне достаточно, чтобы начать изучение языков программирования C/C++ по книгам или по статьям в интернете.
- Иванов Н. Н. — Программирование в Linux. Самоучитель. — 2-е издание;
- Нейл Метьэ, Ричард Стоунс — Основы программирования в Linux: Пер. с англ. — 4-е издание;
- Колисниченко Д. Н. — Разработка Linux-приложений.
Запуск бинарника, скомпилированного на другой машине
вопросы: на что он ругается (файл не модифицирован)? надо прикрутить какие-то библиотеки? как их вычислить? есть ли хоть какая-нибудь вероятность добиться выполнения приложения на том, что имею? как?
заранее благодарю за помощь!
sa174
01.09.10 13:42:50 MSD
проблема: при попытке запуска получаю сообщение: «Нет такого файла или каталога»
Бинарник исполняемый? chmod a+x бинарник
надо прикрутить какие-то библиотеки? как их вычислить?
vga ★★
( 01.09.10 13:47:51 MSD )
Ответ на: комментарий от vga 01.09.10 13:47:51 MSD
>Бинарник исполняемый? chmod a+x бинарник
насколько помню (дело было ночью), так же выругался. проверю вечером.
sa174
( 01.09.10 13:50:42 MSD ) автор топика
А как насчет классической грабли с рабочим каталогом?
anonymous
( 01.09.10 14:10:20 MSD )
Ответ на: комментарий от sa174 01.09.10 13:50:42 MSD

>насколько помню (дело было ночью), так же выругался. проверю вечером.
Тогда стоит попробовать ‘objdump -x бинарник | grep NEEDED’ и проверить наличие библиотек вручную.
Если же бинарник требует какой-то файл или библиотеку через dlopen() в рантайме, то должен помочь strace.
Sion
( 01.09.10 14:12:17 MSD )

>при попытке запуска получаю сообщение: «Нет такого файла или каталога»
Отсюда поподробнее, как именно запускаешь?
novitchok ★★★★★
( 01.09.10 14:14:04 MSD )
Ответ на: комментарий от anonymous 01.09.10 14:10:20 MSD
>А как насчет классической грабли с рабочим каталогом?
с этого места поподробнее, если можно
sa174
( 01.09.10 14:15:52 MSD ) автор топика
Ответ на: комментарий от novitchok 01.09.10 14:14:04 MSD
>Отсюда поподробнее, как именно запускаешь?
Как скомпилировать и запустить программы на C, C++ в Linux

В этом кратком руководстве объясняется, как компилировать и запускать программы на C / C ++ в операционной системе GNU / Linux.
Если вы студент или новый пользователь Linux, пришедший с платформы Microsoft, то вам может быть интересно, как запускать программы на C или C ++ в дистрибутиве Linux.
Потому что компиляция и запуск кода на платформах Linux немного отличается от Windows. Давайте начнем, не так ли?
Настройка среды разработки
Как вы, возможно, уже знаете, нам нужно установить необходимые инструменты и компиляторы для запуска кода, верно?
Средства разработки включают в себя все необходимые приложения, такие как компиляторы GNU GCC C / C ++, make, отладчики, справочные страницы и другие компоненты, которые необходимы для компиляции и сборки нового программного обеспечения, пакетов и т. д.
После установки необходимых инструментов разработки проверьте их с помощью одной из следующих команд:
$ whereis gcc
$ which gcc
$ gcc -v
Эти команды отобразят путь установки и версию компилятора gcc.

Компиляция и запуск программ на C, C ++ на Linux
Во-первых, давайте посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.
Напишите свой код / программу в вашем любимом редакторе CLI / GUI.
Я собираюсь написать свою программу на C, используя редактор nano.
$ nano itisgood.c
Примечание: вам нужно использовать расширение .c для программ на C или .cpp для программ на C ++.
Скопируйте / вставьте следующий код:
#include int main()
Нажмите Ctrl + O и Ctrl + X, чтобы сохранить и выйти из файла.
Чтобы скомпилировать программу, запустите:
$ gcc itisgood.c -o itisgood
$ cc itisgood.c -o itisgood
Если в вашем коде / программе есть какие-либо синтаксические или семантические ошибки, они будут отображены.
Вы должны исправить их, чтобы продолжить.
Если ошибки нет, компилятор успешно сгенерирует исполняемый файл с именем itisgood в текущем рабочем каталоге.
Наконец, выполните программу, используя команду:
$ ./itisgood
Вы увидите вывод, как показано ниже:
Welcome To itisgood.ru!
Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:
$ gcc source1.c source2.c -o executable
Чтобы разрешить предупреждения, отладьте символы в выводе:
$ gcc source.c -Wall -Og -o executable
Чтобы скомпилировать исходный код в инструкции ассемблера:
$ gcc -S source.c
Чтобы скомпилировать исходный код без ссылок:
$ gcc -c source.c
Приведенная выше команда создаст исполняемый файл с именем source.o.
Если ваша программа содержит математические функции:
$ gcc source.c -o executable -lm
Для более подробной информации обратитесь к справочным страницам.
$ man gcc
Компиляция и запуск программ C ++
Напишите свою программу на C ++ в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.
Вот простая программа на C ++.
$ cat itisgood.cpp
#include int main()
Чтобы скомпилировать эту программу C ++ в Linux, просто запустите:
$ g++ itisgood.cpp -o itsigood
Если ошибок не было, вы можете запустить эту программу C ++ под Linux, используя команду:
$ ./itisgood
Вы увидите вывод, как показано ниже:
Welcome To itisgood.ru!
В качестве альтернативы, мы можем скомпилировать вышеуказанную программу на C ++, используя команду «make», как показано ниже.
$ make itisgood
Я не использовал расширение .cpp в приведенной выше команде для компиляции программы.
Нет необходимости использовать расширение для компиляции программ на C ++ с помощью команды make.
$ ./itisgood Welcome To itisgood.ru!
Для более подробной информации обратитесь к справочным страницам.
$ man g++
Надеюсь все было достаточно просто и понятно!
itisgood
previous post
Как исправить ошибку «repository is not valid yet»
Как остановить запросы с пустым или неправильным заголовком хоста
You may also like
Как настроить базовый DHCP-сервер
Как расширить или увеличить размер диска виртуальной.
Как определить точку монтирования для конкретного файла.
Копирование файлов на Linux с помощью строки.
Как отобразить содержимое каталога, отсортированное по времени
Настройка уведомлений по электронной почте для отчетов.
Подключение интернет-магазина к CDEK Pay
Как вывести список USB-устройств на Linux
Настройка доступа к данным на сервере
Как узнать шлюз по умолчанию
Leave a Comment Cancel Reply
• Свежие записи
- Механизмы и мотивации в накрутке голосований в опросах Телеграм
- Smart Ear — проект развития компьютерного слуха
- Как автоматизировать бухучет: обзор ПО для компаний разного масштаба
- Лучшие каналы продвижения товаров и привлечения клиентов в 2023 году: экспертные рекомендации
- Питание при проблемах ЖКТ: как правильно построить рацион и облегчить симптомы
- Как настроить базовый DHCP-сервер
- Различия между пакетными менеджерами YUM и DNF
- Как уменьшить размер тома данных Docker в Docker Desktop на Windows
- Как расширить или увеличить размер диска виртуальной машины KVM (VM)
- Как определить точку монтирования для конкретного файла или каталога
• Категории
• Теги
• itsecforu.ru

• Страны посетителей
IT is good
В современном мире социальных медиа и мессенджеров, где каждый голос и мнение имеют значение, накрутка голосований в опросах Телеграм стала актуальной темой. Телеграм — одна…
Искусственный интеллект с каждым годом становится сложнее и прогрессивнее. Появляются инновационные проекты, которые помогают развивать компьютерные чувства. Платформа SMART.by подробно знакомит с такими…
Автоматизация бухгалтерского и налогового учета сегодня – насущная необходимость для каждой организации. Выбор подходящего программного продукта позволяет сильно облегчить рутинную работу бухгалтера, минимизировать…
Маркетинг постоянно развивается, и каждый год появляются новые инструменты и тренды. 2023 год не станет исключением – он обещает принести множество интересных возможностей…
Заболевания желудочно-кишечного тракта являются одной из наиболее распространенных проблем современного человека. Неправильное питание, стрессы, неактивный образ жизни – все это провоцирует возникновение…



