Команда Ubuntu не найдена

Обновлено: 03.07.2024

Сегодня мы стремительно развиваемся, когда речь идет о технологиях и оцифровке. Благодаря современным технологиям почти каждая задача, которая могла бы вызвать затруднения, выполняется одним щелчком мыши. Мы можем создавать приложения с помощью простых в использовании инструментов, которые экономят время и облегчают повседневную жизнь.

Но что, если мы столкнемся с ситуацией, когда у нас нет этих инструментов или, может быть, нам нужно создать приложение с нуля или настроить некоторые его аспекты? Дистрибутивы Linux отвечают на этот вопрос, представляя важную команду из арсенала Linux — команду make.

Команда Make — одна из наиболее широко используемых команд в дистрибутивах Linux, которая предлагает путь для загрузки полированных версий инструментов разработчика в вашей системе. Однако его ключевая роль заключается в создании или компиляции целых программ с помощью исходного кода. «Создать» — это команда, которая обычно используется для создания зависимостей, таких как исполняемые файлы или библиотеки, с использованием исходного кода. Обычно его можно назвать командой, которая преобразует некоторый код во что-то осязаемое, что можно использовать и рассматривать как желаемый результат или его часть.

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


Работа команды Make

Команда Make принимает аргументы командной строки, переданные ей от целей. Подробная информация об этих целях содержится в makefile. Makefile является синонимом регистра данных, содержащего цели и действия, которые должны быть выполнены с этими целями. Makefile — это первый файл, который сканируется при каждом выполнении команды make.

Файл make содержит все зависимости и список действий, которые нужно выполнить. Если эти зависимости являются требуемыми целями, makefile сканирует цели и разрабатывает их репозитории, которые передаются командам make для процесса компиляции. Даже если мы изменим выбранное количество исходных файлов, последующее выполнение команды make компилирует объектные файлы, относящиеся к измененному исходному файлу, тем самым экономя время и ресурсы.

Следует отметить, что команда make имеет различные аргументы, как указано выше. Отсутствие аргументов может привести к созданию первой цели, которую увидит ее make-файл. Эта цель обычно «все».

Сделать: команда не найдена средство

Make — важная команда, поэтому она предустановлена ​​во многих дистрибутивах Linux. Однако иногда его необходимо загрузить или выдает ошибку «команда не найдена».

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

Прежде всего, мы проверяем, присутствует ли make в нашей системе. Для проверки мы используем функцию ls для проверки содержимого каталога /usr/bin/make.

$ls/usr/bin/make

$/usr/bin/make --version


Используя вышеупомянутое, мы можем проверить его версию с помощью.

Если в вашей системе нет команды make, мы можем легко установить ее, выполнив следующие команды.

Эта команда, скорее всего, будет работать, если вы используете Ubuntu 18.04 или более позднюю версию. Если это не так или мы используем более старую версию, мы можем использовать непрямой метод загрузки пакета build-essential, введя его.

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

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


Синтаксис

Общий синтаксис команды make:

Флаги с make: Команда Make поставляется с несколькими флагами, которые определяют, как будут обрабатываться файлы для компиляции. Эти флаги кратко описаны ниже.

  • -b: этот параметр чаще всего игнорируется, но может быть включен в некоторые версии создания.
  • -B: этот параметр требует, чтобы все цели были реализованы вместе с make и, следовательно, скомпилированы.
  • -C dir: этот параметр указывает системе сменить каталог на dir перед выполнением команды make.
  • -d: Это сложная опция, которая позволяет пользователю просматривать, как make компилирует файлы. Этот параметр связан с отладкой, так как отображает полную информацию об используемом файле и о том, как он обрабатывается.
  • –debug[=FLAGS]: эта опция выполняет ту же работу, что и предыдущая, а именно отладка.Однако здесь мы можем добавить такие флаги, как a для всего вывода отладки, m для отладки при переделке make-файлов, v для подробной базовой отладки и многие другие. Эти флаги и сведения о них можно найти на справочной странице команды make.
  • -f файл: это важный параметр, который обычно включается в процесс создания файла. Он указывает на указанный «файл» и выполняет над ним операцию make. Его можно записать как –makefile=файл.
  • -e: это параметр переопределения, который включает приоритет переменных среды над переменными make-файла.
  • -i: этот параметр позволяет make игнорировать все ошибки.
  • -j[jobs]: этот параметр указывает задания (команды), которые должны выполняться одновременно.
  • -k: Эта опция указывает команде make продолжать работу. Например, если ошибка сделана в целевом объекте, команда make продолжает работать независимо и обрабатывает другие зависимости целевого объекта без исправления ошибок.
  • -l[загрузить]: эта команда указывает, что новые задания/команды не инициируются, если в обработке находятся предыдущие задания. Если аргумент не указан, предыдущий предел загрузки удаляется.
  • -n, --just-print: опция включает печать команды без выполнения.
  • -o файл: предполагается, что данный файл старый и его правила игнорируются.
  • -p: печатает базу данных и версию, считывая make-файлы.
  • -q: возвращает двоичные значения; 0 для актуальных целей, в противном случае отлично от нуля.
  • -R: предписывает команде make не определять встроенные переменные.
  • -S: отменяет параметр k и останавливает выполнение операции.
  • -s: это тихая операция; он не будет печатать команды по мере их выполнения и продолжит обработку серверной части.
  • -t: трогать файлы, например, помечать их как актуальные без какого-либо выполнения.
  • -v: отображает версию команды display.
  • -w: полезная опция, когда нужно следить за ошибками. При выборе этого параметра сообщения печатаются после обработки файла.
  • –no-print-directory: отменяет действие параметра –w.
  • –warn-unidentified-variables: предупреждать в случае обращения к неопределенной переменной.

Здесь рассмотрено большинство вариантов; если вам нужен обновленный список с подробным объяснением, перейдите на справочную страницу команды make здесь.

Заключение

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

Об авторе

Зееман Мемон

Привет! Я инженер-программист по образованию, блоггер по навыкам, который любит писать о технологиях, разрабатывать веб-сайты и заниматься SEO. Вы можете связаться со мной в LinkedIn.

Когда вы используете команды в Linux, вы ожидаете увидеть результат. Но иногда вы сталкиваетесь с проблемами, когда терминал показывает ошибку «команда не найдена».

У этой ошибки нет простого и единственного решения. Вам придется немного устранить неполадки самостоятельно.

Честно говоря, это не так уж и сложно. Ошибка уже дает некоторый намек, когда говорит «bash: команда не найдена». Ваша оболочка (или система Linux) не может найти введенную вами команду.

Может быть три возможных причины, по которым он не может найти команду:

  • Это опечатка, и имя команды написано с ошибкой
  • Команда даже не установлена
  • Команда представляет собой исполняемый скрипт, и его местоположение неизвестно

Давайте подробно рассмотрим каждую возможную основную причину.

Исправление ошибки «bash: команда не найдена»

Способ 1. Дважды проверьте имя команды (нет, серьезно)

Человеку свойственно делать ошибки, особенно при наборе текста. Возможно, введенная вами команда содержит опечатку (орфографическую ошибку).

Особенно обратите внимание на:

  • Правильное название команды
  • Пробелы между командой и ее параметрами
  • Использование 1 (цифра один), I (заглавная i) и l (строчная L)
  • Использование символов верхнего и нижнего регистра

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

Поэтому дважды убедитесь, что вы печатаете.

Способ 2. Убедитесь, что эта команда установлена ​​в вашей системе

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

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

Для его установки можно использовать менеджер пакетов вашего дистрибутива.

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

Возьмите пример команды ifconfig. Эта устаревшая команда использовалась для получения IP-адреса и другой информации о сетевом интерфейсе. В более старых руководствах в Интернете по-прежнему упоминается использование этой команды, но вы больше не можете использовать ее в более новых версиях Linux. Его заменил инструмент ip.

Иногда ваша система не находит даже самые распространенные команды. Это часто бывает, когда вы запускаете дистрибутив Linux в контейнерах Docker. Чтобы сократить размер образа операционной системы, контейнеры часто не включают даже самые распространенные команды Linux.

Вот почему пользователь Docker сталкивается с такими вещами, как ошибка ping command not found и т. д.

Итак, решение состоит в том, чтобы либо установить отсутствующую команду, либо найти инструмент, который мог бы сделать то же самое, что вы пытались сделать с отсутствующей командой.

Способ 3. Убедитесь, что команда настоящая, а не псевдоним

Надеюсь, вы знакомы с концепцией псевдонима в Linux. Вы можете настроить свои собственные более короткие команды, чтобы заменить ввод более длинной команды.

Некоторые дистрибутивы, такие как Ubuntu, автоматически предоставляют такие команды, как ll (псевдоним ls -l), la (псевдоним ls -a) и т. д.

Представьте, что вы привыкли вводить ll и la в своей персональной системе, и вы входите в другую систему Linux и обнаруживаете, что команды ll не существует. Вы даже не можете установить команду ll, потому что это не настоящая команда.

Поэтому, если вы не можете найти команду и ее даже нельзя установить, попробуйте поискать в Интернете, существует ли эта команда. Если это не так, вероятно, это был псевдоним в какой-то другой системе.

Способ 4: проверьте, является ли это исполняемым скриптом с правильным путем

Это распространенная ошибка новичков в Linux при запуске сценария оболочки.

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

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

Если вы находитесь в каком-то другом каталоге и попытаетесь выполнить сценарий оболочки, не указав правильный путь к файлу, он сообщит, что файл не найден.

Добавление в PATH

В некоторых случаях вы загружаете все программное обеспечение в виде tar-файла, извлекаете его и находите исполняемый файл вместе с другими программными файлами. Для запуска программы необходимо запустить исполняемый файл.

Но для этого нужно находиться в той же директории или указать полный путь к исполняемому файлу. Это утомительно.

Здесь вы можете использовать переменную PATH. Эта переменная имеет набор каталогов, и эти каталоги содержат двоичные (исполняемые) файлы различных команд Linux. Когда вы запускаете команду, ваша система Linux проверяет указанные каталоги в переменной PATH, чтобы найти исполняемый файл этой команды.

Вы можете проверить расположение двоичного файла команды с помощью команды which:

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

Затем необходимо добавить переменную PATH в rc-файл оболочки, чтобы изменения, внесенные в переменную PATH, были постоянными.

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

Это помогло вам?

Я понимаю, что когда вы новичок в Linux, все может быть ошеломляющим. Но когда вы понимаете первопричину проблемы, ваши знания постепенно улучшаются.

Здесь невозможно простое решение проблемы «команда не найдена». Я дал вам несколько советов и указаний, которые должны помочь вам в устранении неполадок.

Если у вас все еще есть сомнения или вам нужна помощь, сообщите мне об этом в разделе комментариев.

Как пользователь Linux, вы можете скомпилировать утилиты и установить их из командной строки с помощью программы make. Однако иногда пользователи получают сообщение об ошибке «make: command not found». взамен.

В этой статье вы узнаете, что вызывает эту ошибку и как ее решить различными способами.

Причина ошибки «make: command not found»

Пакет make — это базовый пакет Linux, который обычно входит в состав большинства дистрибутивов Linux по умолчанию, но не всегда. Когда это происходит, попытка пользователя компилировать или создавать пакеты приводит к ошибке.

Чтобы устранить эту ошибку, вы можете установить пакет make и восстановить возможности сборки и компиляции системы.

Предпосылки

  • Ubuntu или любой другой дистрибутив на базе Linux
  • Терминальный доступ
  • Учетная запись пользователя с правами sudo или root.

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

Проверьте наличие make в вашей системе

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

Проверить, установлена ​​ли команда make

Вывод показывает, что каталог по умолчанию для команды make common не существует в вашей системе. Это означает, что марка отсутствует в вашей системе. Чтобы убедиться в этом, выполните следующую команду.

Проверьте версию команды make

Приведенный выше вывод подтверждает, что в вашей системе отсутствует пакет make.

Установить пакет make

Обновите свою систему

Обновите свою систему, чтобы убедиться, что ваши репозитории обновлены.

Пакеты обновлений

Установите команду make

После завершения обновления системы выполните следующую команду apt, чтобы установить пакет make.

Установить команду make

После установки make запустите приведенную выше команду списка или исходную команду, чтобы проверить, решена ли проблема.

Установите пакет build-essential

Если вы по-прежнему сталкиваетесь с некоторыми проблемами, вы можете установить пакет build-essential. Если вы все еще сталкиваетесь с некоторыми проблемами, вы можете установить пакет build-essential. build-essential — это метапакет, что означает, что он устанавливает список других пакетов в качестве зависимостей. Все необходимые пакеты для сборки и компиляции включены в пакет build-essential, поэтому пакет make по умолчанию входит в комплект build-essential.

Install Build Essentials

Ошибка make command not found теперь исправлена, и вы можете продолжить компиляцию своего приложения.

Большую часть времени в ОС Linux мы запускаем команды и программы, вводя команды в программе терминала. Однако иногда, когда мы запускаем команду, мы получаем ошибку «bash: команда не найдена». Может быть много причин для получения этой ошибки. Иногда при минимальной установке ОС мы не видим большую часть команд в нашей системе. Как и при минимальном развертывании, устанавливаются только те пакеты, которые необходимы для запуска операционной системы, а остальные пропускаются. Хотя иногда программа может быть уже установлена, но повреждена. Эта ошибка также возникает, если вы неправильно набираете команду. Поэтому нам необходимо определить причины, вызывающие эту ошибку, а затем устранить ее.

В этой статье мы объясним возможные причины появления ошибки «команда bash не найдена» при попытке запустить команду в Терминале. Наряду с этим мы также обсудим некоторые возможные решения, которые вы должны попробовать, чтобы удалить ошибку и успешно запустить команды и программы.

Команда Bash не найдена: распространенные причины и решения


Ошибка в написании

Ошибка в написании команды — это распространенная ошибка, которую допускают пользователи при запуске команды в оболочке. Все команды для Linux и UNIX чувствительны к регистру, и мы должны вводить команду правильно.

Решение

  • Орфографическая ошибка
  • Пробелы среди команд и различные параметры
  • Неправильная замена символов, таких как 1, на I или l.
  • Замена прописных букв строчными

Пакет не установлен

Иногда вы получаете сообщение об ошибке «команда не найдена», потому что пакет не установлен в вашей системе или поврежден. Чтобы проверить, установлен ли пакет в вашей системе, выполните следующую команду в Терминале:

Он вернет вывод с результатами, показывающими, установлен ли пакет в вашей системе или нет. Например, вы хотите запустить команду apt-fast и получаете сообщение об ошибке «команда не найдена», затем выполните следующую команду, чтобы проверить, установлена ​​ли она в вашей системе:

Решение

Если пакет отсутствует в системе, вам придется установить его с помощью команды apt-get следующим образом:

В приведенном выше случае это будет:

После установки пакета попробуйте выполнить команду, чтобы проверить, устранена ли ошибка.

Неверный путь

Еще одна важная причина, по которой вы получаете сообщение об ошибке «команда bash не найдена», заключается в том, что искомый путь неверен. Когда пользователь вводит команду, система ищет ее во всех известных ей местах, а если не находит команду в искомых местах, возвращает ошибку.

Решение

Шаг 1. Найдите путь команды

Сначала найдите путь к команде, где она установлена, с помощью команды «what» или «whereis». Например, вы пытаетесь запустить команду apt-fast, и она выдает ошибку «команда не найдена». Выполните следующую команду, чтобы найти расположение команды apt-fast.


Запишите путь в приведенном выше выводе, а затем определите, входит ли указанный выше путь в ваш текущий путь поиска или нет.

Шаг 2. Найдите текущий путь поиска

Чтобы просмотреть текущий путь поиска, выполните в Терминале следующую команду:


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

Шаг 3. Добавьте путь команды к пути поиска

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

Из результатов поиска «который» мы обнаружили, что apt-fast установлен в /usr/sbin. Чтобы добавить /usr/sbin к текущему пути поиска, используйте следующую команду:


Теперь подтвердите добавленный вами путь с помощью следующей команды:


Чтобы сохранить изменения, выполните следующую команду в Терминале

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

Ошибка Bash command not found встречается почти у каждого системного администратора и пользователя. В этой статье мы узнали о нескольких решениях, которые вы должны попробовать, чтобы устранить эту ошибку.

Об авторе

Карим Буздар

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

Читайте также: