- Переменная PATH в Linux
- Переменная PATH в Linux
- Переменная окружения PATH
- Переменная PATH в Linux — просмотр и добавление
- Как посмотреть содержимое PATH
- Добавление нового пути
- Заключение
- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- PATH (переменная)
- Содержание
- На что влияет переменная окружения PATH
- Изменение системной переменной PATH в операционной системе Microsoft Windows
- Изменение системной переменной PATH в операционной системе Linux
- Узнайте, как устанавливать переменные $PATH в Linux
Переменная PATH в Linux
Когда вы запускаете программу из терминала или скрипта, то обычно пишете только имя файла программы. Однако, ОС Linux спроектирована так, что исполняемые и связанные с ними файлы программ распределяются по различным специализированным каталогам. Например, библиотеки устанавливаются в /lib или /usr/lib, конфигурационные файлы в /etc, а исполняемые файлы в /sbin/, /usr/bin или /bin.
Таких местоположений несколько. Откуда операционная система знает где искать требуемую программу или её компонент? Всё просто — для этого используется переменная PATH. Эта переменная позволяет существенно сократить длину набираемых команд в терминале или в скрипте, освобождая от необходимости каждый раз указывать полные пути к требуемым файлам. В этой статье мы разберёмся зачем нужна переменная PATH Linux, а также как добавить к её значению имена своих пользовательских каталогов.
Переменная PATH в Linux
Для того, чтобы посмотреть содержимое переменной PATH в Linux, выполните в терминале команду:
На экране появится перечень папок, разделённых двоеточием. Алгоритм поиска пути к требуемой программе при её запуске довольно прост. Сначала ОС ищет исполняемый файл с заданным именем в текущей папке. Если находит, запускает на выполнение, если нет, проверяет каталоги, перечисленные в переменной PATH, в установленном там порядке. Таким образом, добавив свои папки к содержимому этой переменной, вы добавляете новые места размещения исполняемых и связанных с ними файлов.
Для того, чтобы добавить новый путь к переменной PATH, можно воспользоваться командой export. Например, давайте добавим к значению переменной PATH папку/opt/local/bin. Для того, чтобы не перезаписать имеющееся значение переменной PATH новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:
Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:
Вы уже знаете как в Linux добавить имя требуемой папки в переменную PATH, но есть одна проблема — после перезагрузки компьютера или открытия нового сеанса терминала все изменения пропадут, ваша переменная PATH будет иметь то же значение, что и раньше. Для того, чтобы этого не произошло, нужно закрепить новое текущее значение переменной PATH в конфигурационном системном файле.
В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:
Можно поступить и иначе. Содержимое файла .bashrc выполняется при каждом запуске оболочки Bash. Если добавить в конец файла команду export, то для каждой загружаемой оболочки будет автоматически выполняться добавление имени требуемой папки в переменную PATH, но только для текущего пользователя:
Источник
Переменная окружения PATH
Переменная окружения PATH, что это такое? Многие команды, которые вы вводите в командной строке, требуют применения внешней программы, загружаемой из файловой системы. Например, такие команды как mkdir и wc на самом деле находятся в папке /bin.
Когда вы вводите инструкцию, которую оболочка Bash не распознает, она пытается выполнить ее как программу и возвращает ошибку, если не находит программу с таким именем. И это относится не только к основным командам, которые мы рассматривали, потому что из командной строки вы можете запустить любую программу.
Но как при наличии в файловой системе тысяч файлов Linux знает, какие программы, из каких каталогов запускать? ОС использует системную переменную окружения для указания подмножества папок, в которых следует искать при получении неизвестной команды. Эта переменная называется PATH и может быть выведена на экран следующей командой echo (символ $ обязателен):
Результат выполнения этой команды будет выглядеть наподобие следующих семи абсолютных путей к папкам, разделенных двоеточиями:
При каждом вводе неизвестной команды Linux будет просматривать каждую из папок, указанных в переменной окружения, в порядке их задания, пытаясь найти программу с тем же именем. Если программа найдена, она запускается; в противном случае выводится сообщение об ошибке. Но не будет ошибкой, если вы купите своё любимой серебряные кольца в подарок. Серебро украсит любую женщину!
Эти семь папок обеспечивают легкий доступ ко всем основным программам в операционной системе, включая игры. Любые программы за пределами этих семи папок не могут быть запущены простым вводом их имени в командной строке.
Например, вы загрузили из Интернета в вашу домашнюю папку утилиту diary. Если вы введете ее имя в командной строке, то получите сообщение об ошибке, потому что она находится в папке, не включенной в системный путь. Для выполнения этой программы следует ввести следующую строку (напоминаю, что символ
— сокращенное обозначение вашей домашней папки):
Если вы сохранили ее в папке за пределами вашего заданного пути, вам придется для запуска утилиты ввести абсолютный путь и имя файла.
Конечно предполагается, что diary — простая автономная программа, не требующая установки, потому что большинство основных приложений в процессе установки поместят исполняемый файл программы куда-нибудь в ваш заданный путь. Вот такая переменная окружения PATH, пользуйтесь на здоровье!
Источник
Переменная PATH в Linux — просмотр и добавление
PATH представляет собой переменную среду особой важности. Без неё трудно представить операционную систему Linux такой же гибкой и безопасной, каковой она является для своих пользователей.
Давайте только представим, что произойдет с системой без этой важной переменной? Пользователю придется задавать в терминале полные пути ко всем интересующим его файлам. То есть, прописывать скрипт или команду в развернутом виде. Это отнимает кучу времени и сил, а также перегружает память человека.
Без PATH система не сможет разобраться, где именно искать требуемую программу с сопутствующими компонентами. В результате Linux просто не выдает нужного запроса, если путь не указан в терминале полностью. При наличии переменной данная проблема теряет свою актуальность.
Как посмотреть содержимое PATH
Для этих целей есть команда echo. Пользователю остается вооружиться ею для получения нужной информации. Что нужно прописать в терминале:
В окне появится список каталогов, которые разделены знаком двоеточия. А теперь добавим пару слов о том, как система обнаруживает путь к определенной папке. Линукс реагирует на запуск конкретной программы, после чего начинается поиск исполняемого файла по имени.
Если файл найден сразу, происходит моментальный запуск на выполнение. Но есть и другой сценарий развития событий, о котором стоит знать новичку. Если файла нет в каталоге, Линукс начинает проверять те папки, которые содержатся в переменной PATH. И, конечно же, находит запрашиваемые файлы. Проверка на предмет его поиска происходит по порядку.
Добавление нового пути
Для добавления нового пути к переменной существует команда export.
ВАЖНО! Актуальное значение не должно быть переписано полностью. Необходимо лишь дописать новое значение к старой формулировке.
Чтобы разделить оба значения, ставится знак двоеточия.
С помощью export, добавим в path новый путь «/usr/newpath».
В текущем сеансе операционная система без проблем отреагирует на внесенные пользователем коррективы. Но есть один важный нюанс, о котором нельзя умолчать. Новые настройки потеряют свою актуальность после первой же перезагрузки устройства. Если новое значение потребуется юзеру на постоянной основе, ему следует закрепить его в конфигурационном системном файле.
В некоторых дистрибутивах значение переменной можно найти в файле /etc/environment.
Далее следует дописать нужное значение вручную (не заменить, а именно добавить). Еще раз напоминаем о важности соблюдения данного правила. В ином случае система не сможет нормально функционировать – у пользователя начнутся разного рода неприятности.
Чтобы выполнить добавление значение в переменную PATH для конкретного пользователя системы, можно не изобретать велосипед, а поступить гораздо проще:
Как уже говорилось ранее, переменная PATH служит надежной защитой для операционной системы Linux. Однако пользователи нередко практикуют еще один способ того, как уберечь персональный компьютер. Каким образом это происходит? Это можно сделать посредством создания локальной папки bin.
Данный каталог будет содержать в себе исполняемые файлы всех пользователей устройства, разделенные по отдельным персональным папкам.
Заключение
Из данного материала вы узнали, какую роль выполняет переменная PATH в устройстве, функционирующем на операционной системе Линукс, а также разобрались, как при помощи терминала добавлять новые пути поиска файлов к её значению. Немного попрактиковавшись, вы обязательно убедитесь в том, что подобные манипуляции с системой не отнимают много сил и времени, а при повторных действиях сможете ощутить, насколько быстро этот процесс доводится до автоматизма.
Дополнительная информация для владельцев дистрибутива Линукс: пользователь не имеет никаких ограничений в вопросе добавления каталогов в переменную PATH для поиска и хранения исполняемых файлов (имеется в виду их допустимое количество). Можно добавлять столько папок, сколько нужно.
Источник
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
PATH (переменная)
Переменная PATH — переменная окружения Unix-подобных операционных систем, DOS, OS/2 и Microsoft Windows, представляющая собой набор каталогов, в которых расположены исполняемые файлы. В основном, каждый выполняемый процесс или сеанс пользователя имеет собственную переменную PATH. [Источник 1] Системную переменную PATH можно задать с помощью системной утилиты в панели управления Microsoft Windows или с помощью файла запуска командной оболочки Linux и Solaris. На компьютерах под управлением Microsoft Windows или Mac OS X внесение изменений в системную переменную PATH обычно не требуется. [Источник 2]
Содержание
На что влияет переменная окружения PATH
При помощи переменных окружения можно передавать информацию не только запускаемым процессам, но и самой операционной системе. Она читает и использует значения переменных окружения, поэтому можно управлять некоторыми аспектами поведения операционной системы, изменяя переменные окружения.
Переменная PATH содержит список директорий, в которых операционная система пытается искать исполняемые файлы, если пользователь при запуске не указал явно путь к нужному исполняемому файлу. Если добавить в переменную окружения PATH путь к директории, где находится этот исполняемый файл, и тогда его можно будет запускать, указывая только имя. А чтобы узнать, где он находится, можно использовать команду where в операционной системе Windows либо команду which в операционной системе Linux или MacOS. При этом, нужно иметь ввиду, что в переменную нужно добавлять не пути к исполняемым файлам, а пути к директориям, где они находятся.
Не обязательно добавлять в переменную PATH пути ко всем директориям, в которых находятся исполняемые файлы на вашем компьютер, так как большинство программ обычно запускаются через меню старт. На этот способ запуска переменная PATH никакого влияния не оказывает. Её важно настроить так, чтобы можно было быстро и удобно запускать всякие мелкие программы из консоли. [Источник 3]
Изменение системной переменной PATH в операционной системе Microsoft Windows
Чтобы изменить системную переменную PATH, например в Windows 7, нужно открыть Панель управления -> Система -> Дополнительные параметры системы. В этом окне нужно выбрать Переменные среды, после чего откроется окно, в нижней части которого в списке «Системные переменные» нужно найти интересующую нас переменную и нажать «Изменить». Открывается окно «Изменение системной переменной». В нем имеется поле «Значение переменной», в котором нужно сначала в конце поставить точку с запятой и после этого указать путь к каталогу, в котором будут храниться консольные утилиты. Далее нажимается «ОК». [Источник 4] Наглядно все перечисленные действия показаны в видео:
Изменение системной переменной PATH в операционной системе Linux
Когда команда вводится в окно терминала, оболочка (программа, которая считывает вводимые команды и пытается отреагировать соответствующим образом) сначала должна найти программу команды в файловой системе. Оболочка выполняет поиск команд в списке каталогов, который хранится в переменной среды с именем $PATH. Чтобы посмотреть текущее значение переменной path, нужно ввести команду echo $PATH , после чего будет выведен список разделенных двоеточием каталогов. Путь к каталогу bin пакета AIR SDK (содержит несколько программ, которые можно запускать из командной строки или окна терминала) необходимо добавить в этот список, чтобы оболочка могла находить ADT и инструменты ADT. Предположим, что AIR SDK находится в каталоге /Users/fred/SDKs/AIR. В этом случае для добавления нужных каталогов в переменную среды path используется следующая команда: export PATH=$PATH:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/tools . Если путь содержит символы пробелов, перед ними следует вставить символ обратной косой черты: /Users/fred\ jones/SDKs/AIR\ 2.5\ SDK/bin . Чтобы проверить результаты добавления, можно еще раз выполнить команду echo: echo $PATH/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/tools . После проверки того, что каталоги добавлены успешно, можно вызвать команду adt -version . Если переменная среды $PATH была изменена правильно, в результате выполнения команды должна быть выдана версия среды ADT. [Источник 5] Более подробно о переменной среды PATH можно узнать в видео:
Более подробно о других переменных окружения Linux можно узнать из следующего видео:
Источник
Узнайте, как устанавливать переменные $PATH в Linux
В Linux (также UNIX) $PATH – переменная среды, используемая для указания оболочке, где искать исполняемые файлы.
Переменная $PATH обеспечивает большую гибкость и безопасность для систем Linux, и с уверенностью можно сказать, что она является одной из самых важных переменных среды.
Программы / скрипты, расположенные в каталоге $PATH, могут выполняться непосредственно в вашей оболочке без указания полного пути к ним.
В этом уроке вы узнаете, как установить переменную $PATH глобально и локально.
Во-первых, давайте посмотрим на текущее значение $PATH.
Откройте терминал и введите следующую команду:
Результат должен быть примерно таким:
Результат показывает список каталогов, разделенных двоеточиями.
Вы можете легко добавить больше каталогов, отредактировав файл профиля оболочки вашего пользователя.
В разных оболочках это может быть:
/ .bashrc или profile
Korn Shell ->
/ .kshrc или .profile
Z shell ->
/ .zshrc или .zprofile
Обратите внимание, что в зависимости от того, как вы входите в систему, о которой идет речь, может быть прочитан другой файл.
Вот что говорится в руководстве по bash, имейте в виду, что файлы похожи для других оболочек:
Учитывая вышесказанное, вы можете добавить дополнительные каталоги в переменную $ PATH, добавив следующую строку в соответствующий файл, который вы будете использовать:
Конечно, в приведенном выше примере вы должны изменить «/path/to/newdir» с точным путем, который вы хотите установить.
После того, как вы изменили свой файл профиля. * Rc или. * _, Вам нужно будет снова вызвать его, используя команду «source».
Например, в bash вы можете сделать это:
Ниже вы можете увидеть пример моей среды $PATH на локальном компьютере:
а самом деле это хорошая практика для создания локальной папки «bin» для пользователей, где они могут размещать свои исполняемые файлы.
У каждого пользователя будет отдельная папка для хранения его содержимого.
Это также хорошая мера для обеспечения безопасности вашей системы.
Если у вас есть какие-либо вопросы или трудности при настройке переменной среды $PATH, пожалуйста, не стесняйтесь задавать свои вопросы в разделе комментариев ниже.
Источник