Command not found linux что делать
Я новый пользователь и пытаюсь запустить программу Python. У меня есть облачный VM/VPS, и когда я набираю python mycode.py на терминале моего сервера, я получаю следующую ошибку:
Как решить эту проблему?
3 января стартует курс «SQL-injection Master» © от команды The Codeby
За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.
На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.
Запись на курс до 10 января. Подробнее .
Эта ошибка означает, что Python либо не установлен, либо был установлен неправильно. Вот несколько способов как вы можете решить эту проблему.
Проверьте путь python
Введите любую из следующих команд, чтобы узнать, существует ли двоичная система python в Linux или Unix-подобной системе:
Примеры возможных выводов данных:
Рисунок 01: Команда Python не найдена
Кажется, что Python отсутствует по неизвестной причине или не был установлен вашим провайдером облака для сохранения дискового пространства. Поэтому установите его в соответствии с вашим дистрибутивом Linux или Unix:
Установка Python на Ubuntu/Debian/Mint Linux
Введите следующие команду apt-get или команду apt
Или установите python версию 3:
Установка Python на Oracle/RHEL (Red Hat)/CentOS Linux
Введите следующую команду yum:
Установка Python на Fedora Linux
Введите следующую dnf команду, чтобы добавить Python v2.x:
ИЛИ для добавления Python v3.x:
Установка Python на Arch Linux
Введите следующую pacman команду, чтобы добавить Python v2.x:
ИЛИ для добавления Python v3.x:
Установка Python на Suse/OpenSUSE Linux
Введите следующую zypper команду, чтобы добавить Python v2.x:
ИЛИ для добавления Python v3.x:
Установка Python на FreeBSD Unix
Введите следующую pkg команду, чтобы добавить Python v2.x:
ИЛИ для установки порта Python v2.x port:
Для добавления пакета Python v3.x:
ИЛИ для установки порта Python v3.x port:
Установка Python на OpenBSD Unix
Введите следующую pkg_add команду, чтобы добавить Python v2.x or 3.x:
Примеры возможных выводов данных:
Установка Python3 MacOS X Unix
Введите следующую команду:
Проверка установки Python
Введите следующую команду:
Примеры возможных выводов данных:
Рисунок 02: Python установлен на мою OpenSUSE Linux box
Примечание о поврежденной symlink
Иногда по какой-то причине исполняемые файлы Pythons по ссылке повреждены. Например, /usr/bin/python3.4 является реально исполнимым. Вы можете указать /usr/bin/python для /usr/bin/python3.4 для версии Python 3.4 исполняемый файл ln:
Теперь вы можете запустить программу:
1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .
Apt-get - это пакетный менеджер, который используется по умолчанию в семействе дистрибутивов Debian и Ubuntu. Учитывая, что это пакетный менеджер, один из почти самых основных пакетов системы, то логично, что программа должна присутствовать в каждом дистрибутиве. Но все же некоторые пользователи встречаются с ошибкой apt get command not found.
Что значит apt get команда не найдена?
- Одна из самых очевидных причин, получения ошибки "apt get не найдена" в том, что у вас не Ubuntu. Этот пакетный менеджер используется только в дистрибутивах Linux, основанных на Debian. Системы Red Hat, CentOS, Fedora, OpenSUSE, CoreOS, Cloud Linux, ArchLlinux и другие таковыми не являются. Они имеют собственный пакетный менеджер, у каждой свой и именно его нужно использовать для установки пакетов, а не искать apt.
- Если вы используете команду apt, а не apt-get, то, возможно, у вас старый дистрибутив, который не поддерживает такого синтаксиса, используйте apt-get;
- Вторая причина в том что вы случайно или намерено удалили пакет Apt. Его больше нет в системе поэтому система и не может его найти;
- Третья причина, может быть в невозможности обнаружения программы. Утилита apt есть в системе и исправно работает, но вы повредили переменную среды PATH и теперь система не ищет исполняемые файлы в той папке где находится apt.
Теперь рассмотрим как решить проблему. Это очень просто.
Поскольку вторая причина предполагает меньше действий, нам нужно сначала проверить ее. Обычно исполняемые файлы apt находятся в каталоге /usr/bin. Сначала посмотрим есть ли такой файл в той папке:
ls -l /usr/bin/apt-get
chmod +x /usr/bin/apt-get
Если предыдущие варианты не сработали проверим содержимое переменной среды PATH:
Вы должны увидеть в ней ссылку на /usr/bin. Если такой строчки нет, то проблема была здесь, а строчку нужно добавить в конец:
Если вы вносили изменения в файл /etc/profile, и переменная PATH сломалась из-за этого, то нужно внести исправления и в этот файл.
Последний вариант, если ничего не помогло, это переустановить утилиту. Мы просто скачаем ее из официального сайта и установим в систему. Только нужно выбирать версию для своей операционной системы. Вы можете скачать пакет с помощью браузера или таких команд:
Для Ubuntu Xenial:
Для Ubuntu Yakkety:
Теперь осталось установить загруженный пакет:
sudo dpkg -i apt*
Готово, после этого ошибка apt get command not found должна исчезнуть и вы сможете нормально работать со своими пакетами.
Выводы
В этой статье мы рассмотрели почему не работает apt get, из-за чего возникает ошибка apt get команда не найдена, а также как ее решить. Надеюсь, приведенная здесь информация была полезной для вас.
1. Проверьте, установлен ли Python.
В большинстве случаев эта ошибка возникает в приглашении оболочки или командной строке, потому что python не установлен или поврежден. Давайте сначала проверим, установлен ли Python.
Выполните следующие команды, чтобы найти установленное местоположение Python.
Запустите команду, чтобы проверить версию Python:
Простая команда запуска python3:
Если вы не нашли установленный python, в следующем разделе я покажу вам, как установить python.
Установите Python в Ubuntu/Debian
Debian, Ubuntu и производные от них дистрибутивы поставляются с предустановленным python. Если он поврежден или не установлен, используйте следующую команду.
Чтобы установить python 2, введите:
Чтобы установить python 3, введите:
Если вы хотите выполнить тот, который находится внутри /usr/local/bin/, вы можете легко настроить систему, используя псевдоним. Псевдоним следует поместить в файл.bashrc, как показано ниже.
Установите Python в Fedora
Благодаря диспетчеру пакетов dnf вы можете легко установить python в Fedora:
Установите Python на RHEL/CentOS
Чтобы установить Python на RHEL, Oracle Linux и CentOS, используйте команду yum следующим образом:
Установите Python в Arch Linux
В Arch Linux выполните следующую команду для установки python:
2. Проверьте переменную среды PATH.
Каждый раз, когда вы, как пользователь, запускаете команду на своей консоли, машина ищет ее местоположение или адрес в списке предопределенных каталогов, которые хранятся в переменной среды PATH.
Такой дизайн помогает правильно запускать программу или команду без необходимости указывать абсолютный путь в терминале.
Переменная окружения PATH может быть изменен временно для текущего сеанса терминала, или на постоянной основе .
Чтобы отобразить содержимое переменной среды PATH на консоли:
/.bash_profile или в соответствующий файл конфигурации, запускающий оболочку.
3. Отметьте битую символическую ссылку.
При запуске скрипта python вы можете понять, что символическая ссылка на исполняемые файлы Pythons указана неправильно.
Чтобы изменить каталог /usr/bin/python на/usr/local/bin/python3.9, введите:
Вывод
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Ошибка – bash: python: command not found отображается в основном по трем причинам. Прежде всего, установлен ли на компьютере исполняемый файл python? Если он установлен. Тогда проверьте правильно ли настроена переменная окружения PATH. Чтобы он мог найти установленный исполняемый файл? Третьей причиной может быть сломанная символическая ссылка .
1. Проверьте Установленный Python
В большинстве случаев эта ошибка возникает в командной строке, потому что python не установлен или поврежден. Давайте сначала проверим, установлен Python или нет.
Выполните следующие команды, чтобы найти установленное местоположение python.
или введите команду
python3 is /usr/bin/python3python3 is /bin/python3
или выдаст такой ответ:
Следующая команда проверит версии python:
Простая команда run python3:
Если python у вас не установлен, то в следующем разделе я покажу вам, как установить python.
Установите Python на Ubuntu/Debian
Debian и Ubuntu, а так же их производные дистрибутивы поставляются с предустановленным python. В случае, если он поврежден или не установлен, используйте следующую команду.
Примечание: приведенная выше команда установит python версии 2.
Python 2 После 1 января 2020 года Python 2 больше не получает никаких обновлений и не рекомендует его использовать.
Чтобы установить python 3, Введите команду:
Если вы хотите выполнить его внутри файла /usr/local/bin/, вы можете легко настроить систему, используя псевдоним (алиас). Псевдоним должен быть помещен в файл. bashrc, как показано ниже.
Установите Python на Fedora
Благодаря менеджеру пакетов dnf вы можете легко установить python на Fedora с помощью:
Установите Python на RHEL/CentOS
Чтобы установить Python на RHEL, Oracle Linux и CentOS, используйте команду yum следующим образом:
Установите Python на Arch Linux
В Arch Linux выполните следующую команду для установки python:
$ sudo pacman -S python2
$ sudo pacman -S python3
2. Проверьте путь переменной окружения
Каждый раз, когда пользователь запускает команду на консоли, машина ищет ее местоположение или адрес в списке предопределенных каталогов. Которые хранятся в переменной окружения PATH.
Такая конструкция помогает правильно запустить программу или команду без необходимости указывать абсолютный путь на терминале.
Переменная окружения PATH может быть временно изменена для текущего сеанса терминала или навсегда.
Для отображения содержимого переменной окружения PATH на консоли требуется ввести команду:
Ответ терминала будет следующим:
Убедитесь, что установленный путь python добавлен в переменную PATH. Вы можете увидеть в приведенных выше выходных данных ‘/usr/bin’ и ‘/bin’ это пути для python 3. Так что они присутствуют. Чтобы сделать его постоянным, обязательно экспортируйте переменную PATH в
/.bash_profile или в соответствующий конфигурационный файл, который запускает оболочку.
3. Проверка Сломанной Символической Ссылки
При запуске скрипта python вы можете понять, что символическая ссылка на исполняемые файлы Python указана неправильно.
Для указания /usr/bin/python на /usr/local/bin/python3.9 введите в терминал:
$ sudo ln -s /usr/local/bin/python3.9 /usr/bin/python
Заключение
каждый раз, когда я запускаю скрипт с помощью bash scriptname.sh из командной строки в Debian, я получаю Command Not found и затем результат сценария. Таким образом, скрипт работает, но всегда есть Command Not Found заявление печатается на экране.
я запускаю скрипт из /var папка.
вот этот скрипт:
я запускаю его, набрав следующее:
UPDATE-проблема появляется в пустых строках. Каждая пустая строка приводит к команда не найдена. Почему это произошло?
убедитесь, что первая строка:
введите путь к bash, если это не /bin/bash
это Wil конвертировать окончания строк и т. д. Из Windows в формат unix. т. е. он удаляет \r (CR) из окончаний строк, чтобы изменить их с \r\n (CR+LF) to \n (LF) .
другой способ узнать, находится ли ваш файл в dos/Win формат:
результат будет выглядеть примерно так:
это выведет весь текст файла с <CR> отображается для каждого \r символ в файл.
можно использовать bash -x scriptname.sh проследить.
Я также столкнулся с аналогичной проблемой. Проблема, похоже, в разрешениях. Если вы сделаете ls -l , вы можете определить, что ваш файл может не иметь бит выполнения включен. Это не позволит выполнить сценарий. :)
Как @artooro добавил в комментарий:
если скрипт выполняет свою работу (относительно) хорошо, тогда он работает нормально. Ваша проблема, вероятно, одна строка в файле, ссылающаяся на программу, которая либо не находится на пути, не установлена, с ошибкой или что-то подобное.
один из способов-это поставить set -x в верхней части скрипта или запустите его с помощью bash -x вместо bash - это выход на линии перед их выполнением и, как правило, просто нужно посмотреть на вывод команды непосредственно перед ошибкой, чтобы увидеть что вызывает проблему
если, как вы говорите, это пустые строки, вызывающие проблемы, вы можете проверить, что actaully на них. Беги:
и убедитесь, что нет" невидимых " смешных персонажей, таких как CTRL-M (возврат каретки) вы можете получить с помощью редактора типа Windows.
использовать dos2unix в файле сценария.
в блокноте++ перейдите в редактировать ->преобразование EOL затем проверить Macinthos (CR). Это изменит ваши файлы. Я также рекомендую проверить все файлы с помощью этой команды, потому что скоро такая ошибка произойдет.
попробовать chmod u+x testscript.sh
для выполнения этого необходимо указать полный путь например
была такая же проблема. К сожалению
Так что я сделал это, чтобы преобразовать.
проблемы с запуском скриптов также могут быть связаны с плохим форматированием многострочных команд, например, если у вас есть пробел после разрыва строки "\". Е. Г. это:
(обратите внимание, что дополнительное пространство после"\") вызовет проблемы, но когда вы удалите это пространство, оно будет работать отлично.
Это может быть тривиально и не связано с вопросом OP, но я часто ошибался в начале, когда я изучал сценарии
это вызовет ответ "команда не найдена". Правильный способ-устранить пробелы
я тоже не из Cannot execute command . Все выглядело правильно, но на самом деле у меня был неразрывный пробел прямо перед моей командой, которую, конечно, невозможно было заметить невооруженным глазом:
, который, в Vim, выглядел так:
только после запуска bash script checker shellcheck Я нашел проблему.
добавить текущий каталог ( . ) путь, чтобы иметь возможность выполнить скрипт, просто введя его имя, которое находится в текущем каталоге:
я столкнулся с этим сегодня, рассеянно копируя командную строку доллара $ (перед командной строкой) в скрипт.
на Bash для Windows я попытался неправильно запустить
без ./ в начале и получил ту же ошибку.
для людей с фоном Windows правильная форма выглядит избыточной:
вы можете обновить вас .bashrc и и .файлы bash_profile с псевдонимами для распознавания вводимой команды.
.bashrc и и .файлы bash_profile-это скрытые файлы, вероятно, расположенные на вашем диске C:, где вы сохраняете свои программные файлы.
Читайте также: