Почему столько программ живет в ПУТИ?

Я думаю, что Вы на правильном пути, но получили свои наклонные черты, собирающиеся в неправильное направление быть обратными ссылками. Использовать \1 нет /1!

10
16.08.2012, 01:44
2 ответа

Все команды, которые пользователь мог бы хотеть выполнить, находятся в ПУТИ. Это - то, для чего это. Это включает команды, которые Вы выполняете непосредственно, управляет, чтобы другие люди, выполненные непосредственно, и, управляли, что Вы или другие люди, выполненные косвенно, потому что они вызываются другими командами. Это не ограничено командами, выполненными от терминала: команды, выполненные от GUI, также ищутся в пути поиска команды (снова, это - то, что это для).

Быть необходимостью для ввода полного пути была бы ужасна: необходимо было бы узнать, каков полный путь! Необходимо было бы отслеживать то, является ли это в /usr/bin (который содержит большинство программ, поставленных с операционной системой), или в /usr/local/bin (который содержит программы, установленные вручную администратором, а также программами, которые не являются частью базовой ОС на некоторых вариантах Unix), или в некотором другом определенном для системы каталоге, или где-нибудь в корневом каталоге пользователя.

Трудно ответить о “влиянии на производительность или пригодность для обслуживания”, потому что Вы не говорите, с чем Вы сравниваете его. Если Вы соответствуете необходимости ввести полный путь везде, это - кошмар для пригодности для обслуживания: если Вы когда-либо перемещаете программу, или если Вы хотите установить более новую версию, чем, что шло с ОС или было установлено системным администратором, необходимо заменить тот полный путь везде. Влияние производительности взгляда имени в нескольких каталогах незначительно.

Если Вы соответствуете Windows, это еще хуже: некоторые программы добавляют не только исполняемый файл, но также и все виды дерьма к ПУТИ, и Вы заканчиваете с длинной в милю PATH переменная, которая все еще не включает все программы, потому что много программ не добавляют себя к системному ПУТИ при установке их.

14
27.01.2020, 20:01
  • 1
    Это похоже на довольно рациональное объяснение. Спасибо за объяснение! Бит о замене программы имеет большой смысл. Я не думал об этом вообще :) Часть, которая ударяет меня об этом, мне нравится иметь маленькие и описательные пространства имен, когда я думаю о программировании, в то время как здесь все - вид в том же глобальном пространстве имен (и, когда мы действительно смотрим на полные пути в довольно неописуемых местах как */bin). Я предполагаю, что они - довольно разные вещи, все же. –  Dylan McCall 16.08.2012, 08:12

Переменная ПУТИ содержит список путей к каталогам. Когда пользователь вводит команду, не обеспечивая полный путь, этот список проверяется, если это содержит путь, который приводит к команде. Нет ничего по сути терминальной или командной строки, конкретной относительно этого.

Кроме того, нет ничего Рабочего стола Linux, конкретный относительно этого также. ПУТЬ от моей системы XP содержит %SystemRoot %\system32; % %SystemRoot; % SystemRoot %\System32\Wbem, который, вероятно, покрывает большинство двоичных файлов Windows.

Каталоги в ПУТИ ищутся в указанном порядке и остановка, как только соответствие найдено. Системные каталоги должны обычно вначале давать им наивысший приоритет. Пользователи должны добавить пользовательские пути поиска в конце.

Что касается производительности: самые современные оболочки кэшируют содержание ПУТИ, таким образом, они не должны сканировать диск каждый раз, когда пользователи вводят команду.

4
27.01.2020, 20:01
  • 1
    Windows PATH касается большинства двоичных файлов, которые поставлются с Windows, но обычное применение, которое Вы устанавливаете, обычно не находится в ПУТИ. (Ну, приложения с компонентом командной строки добавят себя для СОЕДИНЕНИЯ КАНАЛОМ, но только для GUI обычно не делают.) –  cjm 16.08.2012, 02:13
  • 2
    Прохладный, я всегда рассматривал порядок и его значение. Как насчет эмпирического правила? У меня есть (почти) каждая комбинация usr, local, bin, и sbin (исключая мой пользовательский корневой каталог). –  Emanuel Berg 16.08.2012, 07:09

Теги

Похожие вопросы