Как исправить — bash: python: command not found Error

История Bash — это текущая запись всех команд, которые вы вводите в оболочку Bash. По мере ввода команд они сохраняются в оперативной памяти и записываются в файл .bash_history после закрытия сеанса оболочки.

Использование командной оболочки для поиска и навигации

В ОС Линукс для навигации предназначена специальная утилита cd. Чтобы перейти в домашний каталог, достаточно ввести:

Для достижения того же самого результата можно использовать переменную среды $НОМЕ:

$cd$HOME

В Linux включены несколько команд из проекта GNU, которые можно использовать для проведения поиска в файловой системе: whereis commands – возвращает местоположение команды и ее справочной страницы; whatis commands – возвращает однострочное резюме из справочной страницы команды; locate file – возвращает местоположение всех файлов, удовлетворяющих условиям поиска (можно применять метасимволы); apropos subject – возвращает список команд относящихся к данной теме.

Проверьте путь переменной окружения

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

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

Переменная окружения PATH может быть временно изменена для текущего сеанса терминала или навсегда.

Для отображения содержимого переменной окружения PATH на консоли требуется ввести команду:

$ echo $PATH

Ответ терминала будет следующим:

:/usr/local/opt/ruby/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Убедитесь, что установленный путь python добавлен в переменную PATH. Вы можете увидеть в приведенных выше выходных данных ‘/usr/bin’ и ‘/bin’ это пути для python 3. Так что они присутствуют. Чтобы сделать его постоянным, обязательно экспортируйте переменную PATH в ~/.bash_profile или в соответствующий конфигурационный файл, который запускает оболочку.

Читайте также:  Как установить Skype на Windows 8/10 без учетной записи Microsoft

Основные команды

Команда интерпретатора Bash man

Отображает руководства по командам. К примеру, последующая команда выдаст вам все данные о команде cat:

$ man cat

Команда интерпретатора Bash cat

Cчитывает файл, переданный в качестве аргумента, с выводом его содержимого по стандартному каналу вывода. При передаче нескольких файлов в виде аргумента происходит вывод конкатенированного содержимого всех файлов.

Команда интерпретатора Bash echo

Осуществляет вывод своих аргументов по стандартному каналу вывода.

$ echo Hello World Hello World

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

Команда интерпретатора Bash head

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

$ head -50

Команда интерпретатора Bash tail

Работает аналогично head, однако читает строки с конца:

Основные команды

$ tail -50

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

$ tail -f

Команда интерпретатора Bash less

Позволяет перемещаться куску текста либо переданному файлу в обоих направлениях.

$ less $ ps aux | less

Кстати, о символе | мы расскажем ниже в блоке про команду интерпретатора Bash history.

Команды интерпретатора Bash true и false

Первая всегда возвращает ноль в качестве выходного статуса для индикации успеха, вторая, соответственно, не ноль в качестве выходного статуса для индикации неудачи.

$? — это переменная, содержащая выходной статус последней запущенной команды. Выходной статус — код возврата программы. В нашем случае 0 будет означать успешное выполнение программы, а любое значение, которое больше нуля, будет отражать факт возникновения ошибок в процессе выполнения. Кстати, именно по этой причине в интерпретаторе Bash истиной (true) считается 0, а ложью (false) — всё, что не ноль.

$ true $ echo $? $ false $ echo $? 1

Команда интерпретатора Bash grep

Служит для поиска переданной строки в указанном файле:

$ cat user:student password:123 user:teacher password:321 $ grep 'student` user:student password:123

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

Команда интерпретатора Bash sed

Потоковый редактор, который преобразует входные текстовые данные. Используется для замены выражений следующим образом: s/regexp/replacement/g. К примеру, в следующем коде произойдёт замена всех слов «Hello» на «Hi»:

Читайте также:  7 способов повысить безопасность сервера Linux

$ cat Hello World $ sed 's/Hello/Hi/g' Hi World

Руководство по sed.

Команда интерпретатора Bash history

Выводит историю командной строки. Часто используется совместно с grep при поиске конкретной команды. В коде ниже будут найдены все команды, которые содержат строку g++:

$ history | grep g++ 155 g++ 159 g++

Кстати, здесь тоже можно увидеть символ | — это конвейер (pipe). С его помощью происходит перенаправление вывода одной команды на вход другой. Так, в вышеописанном примере вся история (в обычном режиме она выводится с помощью history непосредственно в вывод терминала), перенаправляется в grep в качестве входных данных. То есть мы не увидим вывод команды history, зато увидим вывод команды grep.

Команда интерпретатора Bash export

Устанавливает переменные окружения для их передачи дочерним процессам. Допустим, так мы можем передать переменную name, имеющую значение student:

$ export name=student

Команда интерпретатора Bash ps

Выводит данные о запущенных процессах.

Основные команды

$ ps PID TTY TIME CMD 35346 pts/2 00:00:00 bash

В результате выведутся 4 элемента: — PID (ID процесса), — TTY (тип терминала), — TIME (время работы процесса), — CMD (имя команды, запустившей процесс).

Команда интерпретатора Bash awk

Находит и меняет текст в файлах на основании заданного шаблона: awk ‘pattern {action}’

Команда интерпретатора Bash wget

Закачивает файлы из интернета, помещая их в текущий каталог.

$ wget -cs100

Команда интерпретатора Bash nc

Утилита для отладки сети. Вот руководство.

Команда интерпретатора Bash ping

Служит для тестирования сетевого подключения.

$ ping PING (74) 56(84) bytes of data. 64 bytes from (74): icmp_req=1 ttl=57 time=7.82 ms — ping statistics — 1 packets transmitted, 1 received, % packet loss, time 8ms rtt min/avg/max/mdev = 7.794/ ms

Статистика в конце отображает число подключений, которые были совершены до завершения команды. Также отображается время их выполнения.

Статья написана специально для курса по Linux на основании материалов Bash-Cheatsheet.

Bash Script: Существует ли Файл?

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

Читайте также:  Удалённый рабочий стол Ubuntu: возможные варианты подключения

Создайте пустой файл с помощью команды touch

Сделайте его исполняемым chmod +x

Откройте в текстовом редакторе и скопируйте следующий код:

#!/bin/bash FILE=$1 if [ -f $FILE ]; then echo «Файл ‘$FILE’ существует.» else echo «Файл ‘$FILE’ не найден.» fi

Дельный Совет: Хороший bash скрипт должен печатать соответствующее сообщение и прерываться если ему не переданы необходимые аргументы! Это очень легко настроить! Читать далее →

Сохраните и выполните скрипт:

$ ./ /etc/bebebe Файл ‘/etc/bebebe’ не найден. $ ./ /etc/passwd Файл ‘/etc/passwd’ существует.

Упрощаем сложные команды

Сложные команды не только трудны для запоминания, но ещё и требуют много времени на их ввод. Если вы пользуетесь сложными командами каждый день, это рано или поздно начнёт вас утомлять и раздражать. Не лучше ли сделать псевдонимы для таких команд и перестать морочить себе голову?

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

alias top10files=”find . -type f -exec ls -sh {} \; | sort -n -r | head -10”

Если вы частенько подключаетесь к серверу с IP-адресом 1.2.3.4 по SSH, висящем на порту 22, от имени пользователя vasya, вам может оказаться полезным подобный псевдоним:

alias my_server=»ssh [email protected] -p 22″

Также вы можете создавать псевдонимы для ваших bash-сценариев, например:

alias clc=»bash /home/vasya/bin/»

Удаление истории Bash

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

Ваша история bash — это просто текстовый файл, сохраненный в ~ / .bash_history. Вы можете просто удалить этот файл, чтобы очистить историю bash, или вы можете более аккуратно выполнить команду history с опцией clear, например, так:

history -c

Вы также можете удалить определенную строку из своей истории Bash, используя опцию удаления, например, так:

history -d 12