ПУТЬ (переменная) - PATH (variable)
Эта статья нужны дополнительные цитаты для проверка.Август 2014 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
ДОРОЖКА является переменная окружения на Unix-подобный операционные системы, ДОС, OS / 2, и Майкрософт Виндоус, указав набор каталоги где находятся исполняемые программы. В общем, каждый исполняющий процесс или же пользовательская сессия имеет собственную настройку PATH.
История
Мультики возникла идея пути поиска. Рано Оболочка Unix искал только названия программ в / bin
, но по Версия 3 Unix каталог был слишком большим и / usr / bin
и путь поиска стали частью операционной системы.[1]
Unix и Unix-подобные
На POSIX и Unix-подобных операционных систем, $ PATH
переменная указывается как список из одного или нескольких имен каталогов, разделенных двоеточием (:
) символы. [2][3].Каталоги в ДОРОЖКА
-string не предназначены для экранирования, что делает невозможным создание каталогов с :
на их имя. [4]
В / bin
, / usr / bin
, и / USR / местные / бен
каталоги обычно включены в большинство пользователей $ PATH
настройки (хотя это варьируется от реализации к реализации). В суперпользователь также обычно / sbin
и / usr / sbin
записи для легкого выполнения системное администрирование команды. Текущий каталог (.
) иногда также включается пользователями, что позволяет программам, находящимся в текущий рабочий каталог быть исполненным напрямую. Системные администраторы, как правило, нет включить это в $ PATH
чтобы предотвратить случайное выполнение сценариев, находящихся в текущем каталоге, например, которые могут быть помещены туда злонамеренным tarbomb. В этом случае для выполнения такой программы необходимо указать абсолютный (/home/userjoe/bin/script.sh
) или относительный путь (./script.sh
) в командной строке.
Когда имя команды указано пользователем или exec вызов осуществляется из программы, система ищет $ PATH
, просматривая каждый каталог слева направо в списке, ища имя файла что соответствует имени команды. После обнаружения программа запускается как дочерний процесс командной оболочки или программы, выдавшей команду.
DOS, OS / 2 и Windows
В операционных системах DOS, OS / 2 и Windows %ДОРОЖКА%
переменная определяется как список из одного или нескольких имен каталогов, разделенных точкой с запятой (;
) символы.[5]
Системный каталог Windows (обычно C: WINDOWS system32
) обычно является первым каталогом в пути, за которым следуют многие (но не все) каталоги для установленных пакетов программного обеспечения. Многие программы не отображаются в пути, поскольку они не предназначены для выполнения из командное окно, а скорее из Графический интерфейс пользователя. Некоторые программы могут добавлять свой каталог в начало содержимого переменной PATH во время установки, чтобы ускорить процесс поиска и / или переопределить команды ОС. В эпоху DOS было принято добавлять ДОРОЖКА {программный каталог};%ДОРОЖКА%
или же НАБОР ДОРОЖКА={программный каталог};%ДОРОЖКА%
линия к AUTOEXEC.BAT.
Когда команда вводится в командной оболочке или программа выполняет системный вызов для выполнения программы, система сначала ищет текущий рабочий каталог а затем ищет путь, исследуя каждый каталог слева направо, ища исполняемый файл имя файла, которое соответствует заданному имени команды. Исполняемые программы имеют расширения файлов из EXE
или же COM
, а пакетные скрипты имеют расширения ЛЕТУЧАЯ МЫШЬ
или же CMD
. Другие расширения исполняемых файлов также могут быть зарегистрированы в системе.
Как только соответствующий исполняемый файл найден, система нерестится новый процесс, который его запускает.
Переменная PATH упрощает запуск часто используемых программ, расположенных в их собственных папках. Однако при неразумном использовании значение переменной PATH может замедлить работу операционной системы из-за поиска в слишком большом или недопустимом количестве.
Недействительные местоположения также могут остановка службы, в особенности служба «Сервер», которая обычно является зависимостью для других служб в среде Windows Server.
Рекомендации
- ^ Макилрой, М.Д. (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Bell Labs. 139.
- ^ Спецификация Open Group Unix, переменные среды
- ^ Спецификация Open Group Unix, функция execve ()
- ^ Dash exec.c как пример реализации парсера PATH-строки
- ^ Microsoft.com, команда PATH