Как редактировать path linux

Переменная PATH в Linux

Когда вы запускаете программу из терминала или скрипта, то обычно пишете только имя файла программы. Однако, ОС Linux спроектирована так, что исполняемые и связанные с ними файлы программ распределяются по различным специализированным каталогам. Например, библиотеки устанавливаются в /lib или /usr/lib, конфигурационные файлы в /etc, а исполняемые файлы в /sbin/, /usr/bin или /bin.

Таких местоположений несколько. Откуда операционная система знает где искать требуемую программу или её компонент? Всё просто — для этого используется переменная PATH. Эта переменная позволяет существенно сократить длину набираемых команд в терминале или в скрипте, освобождая от необходимости каждый раз указывать полные пути к требуемым файлам. В этой статье мы разберёмся зачем нужна переменная PATH Linux, а также как добавить к её значению имена своих пользовательских каталогов.

Переменная PATH в Linux

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

Как редактировать path linux. Snimok ekrana ot 2020 06 09 17 41 04. Как редактировать path linux фото. Как редактировать path linux-Snimok ekrana ot 2020 06 09 17 41 04. картинка Как редактировать path linux. картинка Snimok ekrana ot 2020 06 09 17 41 04.

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

Для того, чтобы добавить новый путь к переменной PATH, можно воспользоваться командой export. Например, давайте добавим к значению переменной PATH папку/opt/local/bin. Для того, чтобы не перезаписать имеющееся значение переменной PATH новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:

Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:

Как редактировать path linux. Snimok ekrana ot 2020 06 09 17 41 28. Как редактировать path linux фото. Как редактировать path linux-Snimok ekrana ot 2020 06 09 17 41 28. картинка Как редактировать path linux. картинка Snimok ekrana ot 2020 06 09 17 41 28.

Вы уже знаете как в Linux добавить имя требуемой папки в переменную PATH, но есть одна проблема — после перезагрузки компьютера или открытия нового сеанса терминала все изменения пропадут, ваша переменная PATH будет иметь то же значение, что и раньше. Для того, чтобы этого не произошло, нужно закрепить новое текущее значение переменной PATH в конфигурационном системном файле.

В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:

sudo vi /etc/environment

Как редактировать path linux. Snimok ekrana ot 2020 06 09 17 42 10. Как редактировать path linux фото. Как редактировать path linux-Snimok ekrana ot 2020 06 09 17 42 10. картинка Как редактировать path linux. картинка Snimok ekrana ot 2020 06 09 17 42 10.

Как редактировать path linux. Snimok ekrana ot 2020 06 09 17 42 52. Как редактировать path linux фото. Как редактировать path linux-Snimok ekrana ot 2020 06 09 17 42 52. картинка Как редактировать path linux. картинка Snimok ekrana ot 2020 06 09 17 42 52.

Выводы

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

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Переменные окружения в Linux: как посмотреть, установить и сбросить

Работа с переменными

Онлайн курс по Linux

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

Как редактировать path linux. laptop. Как редактировать path linux фото. Как редактировать path linux-laptop. картинка Как редактировать path linux. картинка laptop.

Как редактировать path linux. 1. Как редактировать path linux фото. Как редактировать path linux-1. картинка Как редактировать path linux. картинка 1.

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

Переменные окружения и переменные оболочки

Переменные имеют следующий формат:

Должны соблюдаться следующие правила:

Переменные можно разделить на две категории:

Про 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. peremennaja path v linux 1. Как редактировать path linux фото. Как редактировать path linux-peremennaja path v linux 1. картинка Как редактировать path linux. картинка peremennaja path v linux 1.

Когда вы запускаете программу из терминала или скрипта, то обычно пишете только имя файла программы. Однако, ОС Linux спроектирована так, что исполняемые и связанные с ними файлы программ распределяются по различным специализированным каталогам. Например, библиотеки устанавливаются в /lib или /usr/lib, конфигурационные файлы в /etc, а исполняемые файлы в /sbin/, /usr/bin или /bin.

Таких местоположений несколько. Откуда операционная система знает где искать требуемую программу или её компонент? Всё просто — для этого используется переменная PATH. Эта переменная позволяет существенно сократить длину набираемых команд в терминале или в скрипте, освобождая от необходимости каждый раз указывать полные пути к требуемым файлам. В этой статье мы разберёмся зачем нужна переменная PATH Linux, а также как добавить к её значению имена своих пользовательских каталогов.

Переменная PATH в Linux

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

Как редактировать path linux. peremennaja path v linux 2. Как редактировать path linux фото. Как редактировать path linux-peremennaja path v linux 2. картинка Как редактировать path linux. картинка peremennaja path v linux 2.

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

Для того, чтобы добавить новый путь к переменной PATH, можно воспользоваться командой export. Например, давайте добавим к значению переменной PATH папку/opt/local/bin. Для того, чтобы не перезаписать имеющееся значение переменной PATH новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:

Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:

Как редактировать path linux. peremennaja path v linux 3. Как редактировать path linux фото. Как редактировать path linux-peremennaja path v linux 3. картинка Как редактировать path linux. картинка peremennaja path v linux 3.

Вы уже знаете как в Linux добавить имя требуемой папки в переменную PATH, но есть одна проблема — после перезагрузки компьютера или открытия нового сеанса терминала все изменения пропадут, ваша переменная PATH будет иметь то же значение, что и раньше. Для того, чтобы этого не произошло, нужно закрепить новое текущее значение переменной PATH в конфигурационном системном файле.

В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:

Как редактировать path linux. peremennaja path v linux 4. Как редактировать path linux фото. Как редактировать path linux-peremennaja path v linux 4. картинка Как редактировать path linux. картинка peremennaja path v linux 4.

Источник

Как правильно добавить путь к PATH?

Простые вещи

в зависимости от того, хотите ли вы добавить

/opt/bin в конце (для поиска после всех других каталогов, если есть программа с одинаковым именем в нескольких каталогах) или в начале (для поиска перед всеми другими каталогами).

Вы можете добавить несколько записей одновременно. PATH=$PATH:

/opt/node/bin или вариации на заказ работают просто отлично. Не ставьте export в начале строки, так как это связано с дополнительными сложностями (см. Ниже «Примечания к оболочкам, кроме bash»).

/bin Кстати, некоторые дистрибутивы автоматически помещают в ваш PATH, если он существует.

Где его поставить

/.bash_profile если это то, что у вас есть.

Обратите внимание, что

/.bash_rc не читается ни одной программой, и

/.bashrc является файлом конфигурации интерактивных экземпляров bash. Вы не должны определять переменные среды в

/.bash_profile если вас не волнуют другие оболочки, кроме bash). Посмотрите, в чем разница между ними и какой я должен использовать?

Не помещайте это в /etc/environment или

Потенциальные осложнения в некоторых системных скриптах

Вам не нужно, export если переменная уже находится в среде: любое изменение значения переменной отражается в среде. PATH ¹ в значительной степени всегда в среде; все системы Unix устанавливают его очень рано (обычно в самом первом процессе).

Примечания о снарядах, кроме Баш

В bash, ksh и zsh, export есть специальный синтаксис, и то и другое PATH=

/opt/bin:$PATH и export PATH=

/opt/bin:$PATH делают правильные вещи даже. В других оболочках в стиле Bourne / POSIX, таких как dash (который есть /bin/sh во многих системах), export анализируется как обычная команда, что подразумевает два различия:

Таким образом, в таких оболочках, как dash, export PATH=

/opt/bin:$PATH устанавливается PATH литеральная строка,

/opt/bin/: за которой следует значение PATH до первого пробела. PATH=

/opt/bin:$PATH (голое задание) не требует кавычек и делает правильные вещи. Если вы хотите использовать export в переносимом скрипте, вам нужно написать export PATH=»$HOME/opt/bin:$PATH» или PATH=

/opt/bin:$PATH; export PATH (или PATH=$HOME/opt/bin:$PATH; export PATH для переносимости даже в оболочку Bourne, которая не принимала export var=value и не выполняла расширение тильды).

¹ Это было не так в оболочках Bourne (как в реальной оболочке Bourne, а не в современных оболочках в стиле POSIX), но в наши дни вы вряд ли встретите такие старые оболочки.

В любом случае работает, но они не делают то же самое: элементы PATH проверяются слева направо. В вашем первом примере исполняемые файлы in

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

Я смущен вопросом 2 (так как удален из вопроса, так как это было связано с не связанной проблемой):

Как можно добавить больше путей в разные строки? Первоначально я думал, что это может сделать свое дело:

но это не так, потому что второе назначение не только добавляет

Это возможный обходной путь:

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

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

Пуленепробиваемый способ добавления / предоплаты

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

для добавления (вместо PATH=»$PATH:$HOME/bin» ) и

за предлог (вместо PATH=»$HOME/bin:$PATH» )

Примечание : это для bash.

* 1 Я только что обнаружил, что подобные сценарии devtoolset-6/enable действительно используют это,

Чтобы добавить этот каталог в конец пути, используйте следующую команду:

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

Включение в основном включает «вызываемый» сценарий в «вызывающий» сценарий. Это как #include в C. Так что это эффективно внутри «вызывающего» скрипта или программы. Но, конечно, это не эффективно ни в каких программах или скриптах, вызываемых вызывающей программой. Чтобы сделать его эффективным на протяжении всей цепочки вызовов, вы должны следовать настройке переменной среды с помощью команды экспорта.

Источник

PATH HOWTO

Данный документ переведен в рамках проекта Russian Linux Documentation Project

v0.4, 15 November 1997

1. Введение

Этот документ описывает основные тонкости и проблемы, при работе с переменными окружения Unix/Linux, в особенности с переменной PATH (путь). PATH это список директорий, где производится поиск исполняемых программ. Детали относятся к Debian Linux 1.3.

2. О Russian Linux Documentation Project

В переводе данного HOWTO участвовали:

Автор английской версии Esa Turtiainen etu@dna.fi

3. Условия распространения

Этот документ представляет собой свободную документацию; вы можете распространять и/или модифицировать его на условиях GNU General Public License, опубликованной Free Software Foundation; как версии 2, так и (на ваше усмотрение) любой более поздней версии.

Данная документация распространяется в надежде, что она будет полезна, но без КАКИХ ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ЦЕННОСТИ или гарантии ПРИГОДНОСТИ В КОНКРЕТНЫХ СЛУЧАЯХ. Детали смотри в Gnu General Public License.

Вы должны были получить копию GNU General Public License вместе с этой документацией; если нет, пишите Free Software Foundation,Inc., 675 Mass Ave, Cambridge,MA 02139,USA.

4. Общие принципы

В данном howto, я использую термин ‘команда’, чтобы обозначить исполняемую программу, которая запускается на исполнение с помощью короткого имени, используя механизм path.

В Линукс, даже низкоуровневые вызовы операционной системы для запуска процессов (семейство вызовов exec) просматривают директории указанные в переменной PATH: вы можете использовать механизм path везде, где вы пытаетесь исполнить команду. Даже если переменная PATH не установлена в окружении, по крайней мере директории /bin и /usr/bin, просматриваются в поисках подходящих команд.

В sh вы можете использовать команду export, чтобы установить окружение, в csh вы можете использовать команду setenv. Например:

Команда env это простейший путь запросить текущие переменные окружения. Её можно также использовать для их модификации.

Более подробную информацию о механизме работы окружения, можно найти в страницах руководства ‘environ’, ‘execl’, ‘setenv’, и info файле ‘env’, а также в документации на различные командные интерпретаторы.

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

5. Init

Init это родительский процесс для всех процессов в системе. Другие процессы наследуют окружение init и переменная path будет соответствовать переменной path для init, в том редком случае, когда она не была модифицирована.

Содержимое ‘init path’ прописано в исходном коде программы init:

Заметьте, что путь init, не включает /usr/local/bin.

Все программы, запущенные из /etc/inittab, работают в окружении init, особенно системные скрипты инициализации в /etc/init.d/ (Debian 1.3).

Все, что запущено из скриптов инициализации системы, по умолчанию имеет окружение init. Например: syslog,kerneld,pppd (если он запускается при загрузке), gpm и, что более важно, lpd и inetd, наследуют окружение init и не изменяют его.

Группа программ запускается при помощи скриптов запуска, но переменная PATH явно устанавливается в скрипте запуска. Например: atd,sendmail,apache и squid.

Есть также другие программы, стартующие из загрузочных скриптов, но они полностью изменяют свою переменную path. Одна из таких программ cron.

6. Вход в систему

В текстовой консоли, программа getty ждет входа пользователя в систему. Она выводит на консоль ‘login:’ и другие сообщения. Она работает с окружением init. Когда getty пропускает пользователя в систему, она запускает программу ‘login’, которая устанавливает пользовательское окружение и запускает shell.

Программа login устанавливает путь, как описано в /usr/include/paths.h. Причем его значение различно для root и обыкновенных пользователей.

Переменная path обычных пользователей не содержит директорий sbin. В тоже время она содержит текущую директорию, ‘.’, что считается опасным для пользователя root. Также path для root не содержит /usr/local/bin.

Значение path установленное login, часто переписывается при инициализации shell. В тоже время возможно указывать другие программы в /etc/passwd в качестве командных интерпретаторов пользователя. Например, я использовал следующую строку, чтобы запускать PPP, когда я вхожу под определенным именем пользователя. В данном случае, pppd наследует путь login.

7. Командные интерпретаторы

Часто пользовательские процессы являются дочерними процессами командного интерпретатора, указанного в /etc/passwd для данного пользователя. Файлы инициализации командных интерпретаторов обычно модифицируют этот путь.

7.1. bash

Если bash используется с именем sh, вместо bash, он эмулирует инициализацию оригинального Bourne shell интерпретатора: исполняет только файлы /etc/profile и ˜/.profile и только для ‘login’ интерпретаторов.

7.2. tcsh

В качестве login интерпретатора tcsh исполняет следующие файлы в указанном порядке:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *