Todos los comandos que un usuario puede querer ejecutar están en la RUTA. Para eso es. Esto incluye comandos que se ejecutan directamente, comandos que otras personas se ejecutan directamente, y comandos que usted u otras personas gestión indirecta, ya que son invocados por otros comandos. Esto no se limita a los comandos que se ejecutan desde un terminal: los comandos que se ejecutan desde una GUI también se buscan en la ruta de búsqueda de comandos (de nuevo, para eso es).
La necesidad de escribir la ruta completa sería terrible: ¡necesitaría averiguar cuál es la ruta completa! Debería realizar un seguimiento de si está en /usr/bin
(que contiene la mayoría de los programas incluidos con el sistema operativo) o en /usr/local/bin
(que contiene los programas instalados manualmente por el administrador, así como los programas que no forman parte del sistema operativo central en algunos variantes de Unix), o en algún otro directorio específico del sistema, o en algún lugar del directorio de inicio del usuario.
Es difícil responder sobre el "impacto en el rendimiento o la capacidad de mantenimiento" porque no dice con qué lo está comparando. Si está comparando con tener que escribir la ruta completa en todas partes, es una pesadilla para el mantenimiento: si alguna vez reubica un programa, o si desea instalar una versión más nueva que la que vino con el sistema operativo o fue instalada por un administrador del sistema, tienes que reemplazar ese camino completo en todas partes. El impacto en el rendimiento de buscar el nombre en algunos directorios es insignificante.
Si está comparando con Windows, es aún peor: algunos programas agregan no solo el ejecutable, sino también todo tipo de basura a la RUTA, y termina con una PATH
variable de una milla que todavía no incluye todos los programas, porque muchos programas no se agregan a la RUTA del sistema cuando los instala.