Alle Befehle, die ein Benutzer möglicherweise ausführen möchte, befinden sich im PFAD. Dafür ist es da. Dies umfasst Befehle, die Sie direkt ausführen, Befehle, die andere Personen direkt ausführen, und Befehle, die Sie oder andere Personen indirekt ausführen, weil sie von anderen Befehlen aufgerufen werden. Dies ist nicht auf Befehle beschränkt, die von einem Terminal ausgeführt werden: Befehle, die von einer GUI ausgeführt werden, werden auch im Befehlssuchpfad gesucht (auch hierfür).
Es wäre schrecklich, den vollständigen Pfad eingeben zu müssen: Sie müssten herausfinden, was der vollständige Pfad ist! Sie müssen nachverfolgen, ob es sich in /usr/bin
(das die meisten mit dem Betriebssystem gelieferten /usr/local/bin
Programme enthält ) oder in (das vom Administrator manuell installierte Programme sowie Programme enthält, die bei einigen nicht Teil des Kernbetriebssystems sind) befindet Unix-Varianten) oder in einem anderen systemspezifischen Verzeichnis oder irgendwo im Home-Verzeichnis des Benutzers.
Es ist schwierig, über die „Auswirkungen auf die Leistung oder Wartbarkeit“ zu antworten, da Sie nicht sagen, womit Sie es vergleichen. Wenn Sie vergleichen, dass Sie überall den vollständigen Pfad eingeben müssen, ist dies ein Albtraum für die Wartbarkeit: Wenn Sie jemals ein Programm verschieben oder eine neuere Version installieren möchten, als die, die mit dem Betriebssystem geliefert wurde oder von einem Systemadministrator installiert wurde, Sie müssen diesen vollständigen Pfad überall ersetzen. Die Auswirkungen der Suche nach dem Namen in einigen Verzeichnissen auf die Leistung sind vernachlässigbar.
Wenn Sie mit Windows vergleichen, ist es noch schlimmer: Einige Programme fügen dem PATH nicht nur die ausführbare Datei, sondern auch alle Arten von Mist hinzu, und Sie erhalten eine kilometerlange PATH
Variable, die immer noch nicht alle Programme enthält, weil Viele Programme fügen sich bei der Installation nicht zum Systempfad hinzu.