Escolar Documentos
Profissional Documentos
Cultura Documentos
$PATHé um dos manipuladores silenciosos no fundo do seu computador Linux. Isso afeta
discretamente a experiência do usuário, mas não há nada de obscuro nisso. Explicaremos o
que faz e como você pode ajustá-lo.
Índice
1. O que é $ PATH no Linux e como funciona?
2. Listando seu $ PATH
3. Adicionando um diretório ao seu $ PATH
4. Tornando as mudanças permanentes
5. De�nindo o caminho para todos
6. Uma nota sobre segurança
Bash é o shell padrão na maioria das distribuições Linux. Ele interpreta a linha de texto que
você inseriu e identi�ca os nomes dos comandos misturados com os parâmetros, canais ,
1 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
redirecionamentos e tudo o mais que estiver lá. Em seguida, ele localiza os binários
executáveis para esses comandos e os inicia com os parâmetros fornecidos.
A primeira etapa que o shell executa para localizar o executável é identi�car se um binário
está envolvido. Se o comando que você usa estiver dentro do próprio shell (um “shell
embutido” ), nenhuma pesquisa adicional é necessária.
Os builtins do shell são os mais fáceis de encontrar porque são parte integrante do shell. É
como tê-los em um cinto de ferramentas – eles estão sempre com você.
Se você precisar de uma de suas outras ferramentas, no entanto, terá que vasculhar a o�cina
para encontrá-la. Está na sua bancada de trabalho ou em um cabide de parede? É isso que a
$PATHvariável de ambiente faz. Ele contém uma lista de locais em que o shell pesquisa e a
ordem em que serão pesquisados.
Se você quiser ver se um comando é um shell embutido, um alias, uma função ou um binário
autônomo mv / work / un�le , você pode usar o typecomando conforme mostrado abaixo:
tipo claro
digite cd
Isso nos diz que clearé um arquivo binário e que o primeiro encontrado no caminho está
localizado em /usr/bin. Você pode ter mais de uma versão do clearinstalado em seu
computador, mas esta é a que o shell tentará usar.
2 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
É fácil ver o que está em seu caminho. Basta digitar o seguinte para usar o echocomando e
imprimir o valor mantido na $PATHvariável:
echo $ PATH
A saída é uma lista de :locais do sistema de arquivos delimitados por dois pontos ( ). O shell
pesquisa o caminho da esquerda para a direita, veri�cando cada local do sistema de arquivos
em busca de um executável correspondente para executar seu comando.
Podemos percorrer a lista para ver os locais do sistema de arquivos que serão pesquisados e a
ordem em que serão pesquisados:
• /usr/local/sbin
• /usr/local/bin
• /usr/sbin
• /usr/bin
• /sbin
• /bin
• /usr/games
• /usr/local/games
• /snap/bin
Algo que pode não ser imediatamente óbvio é que a pesquisa não começa no diretório de
trabalho atual. Em vez disso, ele percorre os diretórios listados e apenas os diretórios listados.
Se o diretório de trabalho atual não estiver em seu caminho, ele não será pesquisado. Além
disso, se você tiver comandos armazenados em diretórios que não estão no caminho, o shell
não os encontrará.
3 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
Para demonstrar isso, criamos um pequeno programa chamado rf. Quando executado,
rfimprime o nome do diretório do qual foi lançado na janela do terminal. Ele está localizado
em /usr/local/bin. Também temos uma versão mais recente no /dave/workdiretório.
Digitamos o seguinte whichcomando para nos mostrar qual versão do nosso programa o
shell encontrará e usará:
qual rf
O shell relata que a versão encontrada é aquela no diretório que está no caminho.
rf
A versão 1.0 de rfcorre e con�rma que nossas expectativas estavam corretas. A versão
encontrada e executada está localizada em /usr/local/bin.
Para executar qualquer outra versão do rf neste computador, teremos que usar o caminho
para o executável na linha de comando, conforme mostrado abaixo:
./work/rf
4 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
Agora que informamos ao shell onde encontrar a versão rfque queremos executar, ele usa a
versão 1.1. Se preferirmos esta versão, podemos copiá-la para o /usr/local/bindiretório e
sobrescrever a antiga.
Digamos que estejamos desenvolvendo uma nova versão do rf. Precisamos executá-lo com
frequência à medida que o desenvolvemos e testamos, mas não queremos copiar uma
compilação de desenvolvimento não lançada para o ambiente ativo.
Ou talvez tenhamos baixado uma nova versão do rf e queremos fazer alguns testes de
veri�cação antes de disponibilizá-la publicamente.
Se adicionarmos nosso diretório de trabalho ao caminho, fazemos com que o shell encontre
nossa versão. E essa mudança só nos afetará – outros ainda usarão a versão de rfin
/usr/local/bin.
Isso é fácil de fazer. Para nosso exemplo, digitamos o seguinte para adicionar nosso diretório
ao início do caminho, de modo que seja o primeiro local pesquisado:
Este comando de�ne $PATHpara ser igual ao diretório que estamos adicionando /home/dave
/work, e, em seguida, todo o caminho atual.
5 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
Recomendado: Como controlar seu Amazon Echo a partir da web (em vez de um
aplicativo para smartphone apertado)
O primeiro PATHnão tem cifrão ( $). De�nimos o valor para PATH. O �nal $PATHtem um cifrão
porque estamos nos referindo ao conteúdo armazenado na PATHvariável. Além disso, observe
os dois pontos ( :) entre o novo diretório e o $PATHnome da variável.
echo $ PATH
qual rf
rf
6 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
Para adicionar nosso diretório ao �nal do caminho, basta movê-lo para o �nal do comando,
assim:
Quando você coloca o exportcomando em seu .bashrcarquivo, ele de�ne o caminho cada
vez que você abre uma janela de terminal. Ao contrário das SSHsessões , para as quais você
precisa fazer login, são chamadas de sessões “interativas”.
7 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
gedit .bashrc
Role até o �nal do arquivo e adicione o seguinte comando de exportação que usamos
anteriormente:
Salve o arquivo. Em seguida, feche e reabra a janela do terminal ou use o dotcomando para ler
o .bashrcarquivo, da seguinte maneira:
. .bashrc
echo $ PATH
8 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
gedit .profile
Adicione o exportcomando ao �nal do arquivo e salve-o. Fechar e abrir uma nova janela do
terminal não é su�ciente para forçar a releitura do .profilearquivo. Para que as novas
con�gurações tenham efeito, você deve fazer logout e login novamente ou usar o
dotcomando conforme mostrado abaixo:
9 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
. .perfil
Salve e feche o arquivo. As alterações terão efeito para outras pessoas na próxima vez que
�zerem login.
10 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...
Se você �zer isso, isso pesquisará primeiro o diretório atual, o que apresenta um risco de
segurança. Digamos que você baixou um arquivo compactado e o descompactou em um
diretório. Você olha os arquivos e vê outro arquivo compactado. Você chama unzip mais uma
vez para extrair esse arquivo.
Portanto, sempre tenha cuidado ao digitar seus exportcomandos. Use echo$ PATH para
revisá-los e certi�que-se de que são do jeito que você deseja.
11 of 11 26/04/2023 05:04