Todos os comandos que um usuário pode querer executar estão no PATH. É para isso. Isso inclui comandos que você executam diretamente, comandos que outras pessoas executam diretamente e comandos que você ou outras pessoas executam indiretamente porque são chamados por outros comandos. Isso não se limita aos comandos executados a partir de um terminal: os comandos executados a partir de uma GUI também são pesquisados no caminho de pesquisa do comando (novamente, é para isso).
A necessidade de digitar o caminho completo seria terrível: você precisaria descobrir qual é o caminho completo! Você precisaria acompanhar se está em /usr/bin
(que contém a maioria dos programas fornecidos com o sistema operacional) ou em /usr/local/bin
(que contém programas instalados manualmente pelo administrador, bem como programas que não fazem parte do sistema operacional central em algumas variantes unix), ou em algum outro diretório específico do sistema, ou em algum lugar no diretório pessoal do usuário.
É difícil responder sobre o "impacto no desempenho ou manutenção" porque você não diz com o que está comparando. Se você está comparando com ter que digitar o caminho completo em todos os lugares, isso é um pesadelo para a manutenção: se você realocar um programa ou se quiser instalar uma versão mais recente do que a que veio com o sistema operacional ou se foi instalada por um administrador do sistema, você tem que substituir o caminho completo em todos os lugares. O impacto no desempenho de procurar o nome em alguns diretórios é insignificante.
Se você está comparando com o Windows, é ainda pior: alguns programas adicionam não apenas o executável, mas também todo tipo de lixo ao PATH, e você acaba com uma variável PATH
de uma milha que ainda não possui. • inclua todos os programas, porque muitos programas não se adicionam ao PATH do sistema quando você os instala.