как посмотреть 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 и вручную дописать туда нужное значение:
sudo vi /etc/environment
Выводы
В этой статье мы рассмотрели вопрос о том, зачем нужна переменная окружения PATH в Linux и как добавлять к её значению новые пути поиска исполняемых и связанных с ними файлов. Как видите, всё делается достаточно просто. Таким образом вы можете добавить столько папок для поиска и хранения исполняемых файлов, сколько вам требуется.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Переменные окружения в Linux: как посмотреть, установить и сбросить
Работа с переменными
В этом руководстве мы расскажем, как просматривать, устанавливать и сбрасывать переменные окружения в вашей системе.
Переменные окружения и переменные оболочки
Переменные имеют следующий формат:
Должны соблюдаться следующие правила:
Переменные можно разделить на две категории:
Про Linux за 5 минут
Вывести список всех переменных окружения и оболочки
А как посмотреть переменные оболочки?
Также для вывода переменной оболочки можно использовать команду echo :
Общий набор переменных окружения в Linux
Посмотрим на общий набор переменных окружения, которые вы можете найти в своей системе.
Установка переменных окружения в Linux
В Linux у вас есть много разных способов установки переменных окружения в зависимости от того, хотите ли вы сделать их постоянными или нет.
Для примера создаим новую переменную, а затем экспортируем ее.
Чтобы создать новую переменную оболочки с именем NEW_VARIABLE и значением «test», и затем сразу экспортировать ее введите:
Установить постоянные переменные окружения в Linux
Как вы видели в предыдущем разделе, переменные окружения не были постоянными при перезапуске оболочки. Однако существует способ сделать ваши изменения постоянными: с помощью системных файлов, которые читаются и выполняются в определенных условиях.
Сохраните ваш файл и используйте команду source для перезагрузки файла bashrc для текущего сеанса оболочки.
Вы можете вывести новую переменную окружения с помощью printenv и посмотреть, дату в Linux, изменив TZ.
Отлично, ваши изменения теперь сохраняются после перезагрузки оболочки или системы!
Использование etc/environment
Например, чтобы изменить редактор, используемый глобально, вы можете изменить переменную EDITOR в файле окружения.
Теперь попробуйте войти в систему как под разными пользователями в вашей системе, и вы увидите, что переменная EDITOR установлена для всех на сервере.
Установить переменные окружения в одной строкой
Теперь, когда вы знаете все подробности о том, как устанавливать переменные окружения, вы можете использовать эти шорткаты для их легкой установки.
Сбросить переменные окружения в Linux
Теперь, когда вы установили много переменных окружения в своей системе, вы можете отменить некоторые из них, если вы больше не используете их. В Linux существует два способа сброса переменных окружения: с помощью команды unset или путем удаления записей переменных в ваших системных файлах.
Использование команды unset
Чтобы удалить переменную окружения, используйте команду unset со следующим синтаксисом:
Установить переменную окружения PATH в Linux
Успех! Вы успешно обновили переменную окружения PATH в Linux.
Заключение
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Переменная PATH в Linux — просмотр и добавление
PATH представляет собой переменную среду особой важности. Без неё трудно представить операционную систему Linux такой же гибкой и безопасной, каковой она является для своих пользователей.
Давайте только представим, что произойдет с системой без этой важной переменной? Пользователю придется задавать в терминале полные пути ко всем интересующим его файлам. То есть, прописывать скрипт или команду в развернутом виде. Это отнимает кучу времени и сил, а также перегружает память человека.
Без PATH система не сможет разобраться, где именно искать требуемую программу с сопутствующими компонентами. В результате Linux просто не выдает нужного запроса, если путь не указан в терминале полностью. При наличии переменной данная проблема теряет свою актуальность.
Как посмотреть содержимое PATH
Для этих целей есть команда echo. Пользователю остается вооружиться ею для получения нужной информации. Что нужно прописать в терминале:
В окне появится список каталогов, которые разделены знаком двоеточия. А теперь добавим пару слов о том, как система обнаруживает путь к определенной папке. Линукс реагирует на запуск конкретной программы, после чего начинается поиск исполняемого файла по имени.
Если файл найден сразу, происходит моментальный запуск на выполнение. Но есть и другой сценарий развития событий, о котором стоит знать новичку. Если файла нет в каталоге, Линукс начинает проверять те папки, которые содержатся в переменной PATH. И, конечно же, находит запрашиваемые файлы. Проверка на предмет его поиска происходит по порядку.
Добавление нового пути
Для добавления нового пути к переменной существует команда export.
ВАЖНО! Актуальное значение не должно быть переписано полностью. Необходимо лишь дописать новое значение к старой формулировке.
Чтобы разделить оба значения, ставится знак двоеточия.
С помощью export, добавим в path новый путь «/usr/newpath».
В текущем сеансе операционная система без проблем отреагирует на внесенные пользователем коррективы. Но есть один важный нюанс, о котором нельзя умолчать. Новые настройки потеряют свою актуальность после первой же перезагрузки устройства. Если новое значение потребуется юзеру на постоянной основе, ему следует закрепить его в конфигурационном системном файле.
В некоторых дистрибутивах значение переменной можно найти в файле /etc/environment.
Далее следует дописать нужное значение вручную (не заменить, а именно добавить). Еще раз напоминаем о важности соблюдения данного правила. В ином случае система не сможет нормально функционировать – у пользователя начнутся разного рода неприятности.
Чтобы выполнить добавление значение в переменную PATH для конкретного пользователя системы, можно не изобретать велосипед, а поступить гораздо проще:
Как уже говорилось ранее, переменная PATH служит надежной защитой для операционной системы Linux. Однако пользователи нередко практикуют еще один способ того, как уберечь персональный компьютер. Каким образом это происходит? Это можно сделать посредством создания локальной папки bin.
Данный каталог будет содержать в себе исполняемые файлы всех пользователей устройства, разделенные по отдельным персональным папкам.
Заключение
Из данного материала вы узнали, какую роль выполняет переменная PATH в устройстве, функционирующем на операционной системе Линукс, а также разобрались, как при помощи терминала добавлять новые пути поиска файлов к её значению. Немного попрактиковавшись, вы обязательно убедитесь в том, что подобные манипуляции с системой не отнимают много сил и времени, а при повторных действиях сможете ощутить, насколько быстро этот процесс доводится до автоматизма.
Дополнительная информация для владельцев дистрибутива Линукс: пользователь не имеет никаких ограничений в вопросе добавления каталогов в переменную PATH для поиска и хранения исполняемых файлов (имеется в виду их допустимое количество). Можно добавлять столько папок, сколько нужно.
Переменная 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 и вручную дописать туда нужное значение:
Когда в консоли Debian мы вводим какую-то команду или функцию, откуда он знает, где она лежит, как находит и запускает её или не находит и выдаёт ошибку? Объясняется это тем, что есть переменная, в которой хранятся пути до папок, в которых происходит поиск введённой команды (функции или скрипта). И если *nix находит соответствие заданному запросу, то запускает эту команду на исполнение (с дополнительными параметрами, если они введены) или выдаёт ошибку: «Пичалька, всё обыскал, но не понимаю, о чём ты спрашиваешь и чего хочешь.»
Для того, чтобы увидеть, какие папки при поиске заданной команды Линукс обходит в её поиске, достаточно вывести её значение с помощью команды echo :
В результате получим список директорий (папок), в которых предположительно могут находиться запрашиваемые команды или программы, например:
Таким образом, можно понять, в каких папках Unix поискал (и не нашёл) нужной команды или программы, при неудачном стечении обстоятельств и тихо ругнулся:
Однако, если данная команда и/или программа существует и вы точно знаете, где она лежит, можно прописать до неё путь (относительный или абсолютный) и тогда она отработает свой сценарий:
В linux могут использоваться различные языки программирования и для того, чтобы система могла понимать, какой интерпретатор использовать при выполнении программного кода, в начале после знака # используется путь до него. Если по этому пути ничего не найдено, то при запуске такого кода тоже будет выдана ошибка.
Так, например, bash-скрипты начинаются строчкой:
А скрипты на языке программирования Perl, такой:
Резюме
Таким образом становится предварительно понятно, как происходит эта магия того, что компьютер может отвечать на какие-то запросы, выполняя требуемые действия при вводе определённых команд. 😉