Você está na página 1de 11

Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...

Como adicionar um diretório ao seu $ PATH


no Linux

Fatmawati Achmad Zaenuri / Shutterstock

$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

O que é $ PATH no Linux e como funciona?


Quando você digita um comando em uma janela de terminal e pressiona Enter, inicia muitas
atividades antes mesmo de seu comando ser executado.

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.

Sem surpresa, cdé um shell embutido.

Listando seu $ PATH

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.

Recomendado:  Como integrar seu iPhone a um PC com Windows ou Chromebook

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.

Nós digitamos o seguinte para ativá-lo:

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.

Adicionando um diretório ao seu $ PATH


Você pode usar o exportcomando para adicionar um diretório ao $PATH. O diretório é então
incluído na lista de locais do sistema de arquivos pesquisados pelo shell. Quando o shell
encontra um executável correspondente, ele para de pesquisar, portanto, você deve ter
certeza de pesquisar primeiro em seu diretório, antes  /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:

export PATH = / home / dave / work: $ PATH

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.

Vamos ver como é o caminho agora:

echo $ PATH

Nosso /home/dave/workdiretório é adicionado ao início do caminho. Os dois pontos que


fornecemos o separam do resto do caminho.

Digitamos o seguinte para veri�car se nossa versão do rfé a primeira encontrada:

qual rf

A prova no pudim está funcionando rf, conforme mostrado abaixo:

rf

6 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...

O shell encontra a versão 1.1 e a executa a partir  /home/dave/work.

Para adicionar nosso diretório ao �nal do caminho, basta movê-lo para o �nal do comando,
assim:

exportar PATH = $ PATH: / home / dave / work

Tornando as mudanças permanentes


Como  disse Beth Brooke-Marciniak : “O sucesso é bom, mas o sucesso é passageiro”. No
momento em que você fecha a janela do terminal, todas as alterações feitas $PATH nele
desaparecem. Para torná-los permanentes, você deve colocar seu exportcomando em um
arquivo de con�guração.

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”.

No passado, você colocaria o exportcomando em seu .profilearquivo para de�nir o


caminho para as sessões de terminal de login.

No entanto, descobrimos que se colocarmos o exportcomando nos arquivos .bashrcou 


.profile, ele de�nirá corretamente o caminho para as sessões interativas e de log no
terminal. Sua experiência pode ser diferente. Para lidar com todas as eventualidades,
mostraremos como fazer em ambos os arquivos.

Recomendado:  Como adicionar links à sua história do Instagram

Use o seguinte comando em seu /homediretório para editar o .bashrcarquivo:

7 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...

gedit .bashrc

O gediteditor é  aberto com o .bashrcarquivo carregado.

Role até o �nal do arquivo e adicione o seguinte comando de exportação que usamos
anteriormente:

export PATH = / home / dave / work: $ PATH

Salve o arquivo. Em seguida, feche e reabra a janela do terminal ou use o dotcomando para ler
o .bashrcarquivo, da seguinte maneira:

. .bashrc

Em seguida, digite o seguinte echo comando para veri�car o caminho:

echo $ PATH

8 of 11 26/04/2023 05:04
Firefox https://maisgeek.com/como-adicionar-um-diretorio-ao-...

Isso adiciona o /home/dave/workdiretório ao início do caminho.

O processo para adicionar o comando ao .profilearquivo é o mesmo. Digite o seguinte


comando:

gedit .profile

O gediteditor é iniciado com o .profilearquivo carregado.

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

De�nindo o caminho para todos


Para de�nir o caminho para todos que usam o sistema, você pode editar o
/etc/profilearquivo.

Você precisará usar o sudoseguinte:

sudo gedit / etc / profile

Quando o gediteditor for iniciado, adicione o comando de exportação ao �nal do arquivo.

Salve e feche o arquivo. As alterações terão efeito para outras pessoas na próxima vez que
�zerem login.

Uma nota sobre segurança


Certi�que-se de não adicionar acidentalmente dois pontos iniciais “ :” ao caminho, conforme
mostrado abaixo.

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.

Se o primeiro arquivo continha um arquivo executável chamado unzip que era um executável


malicioso, você acidentalmente o acionou em vez do unzipexecutável real . Isso aconteceria
porque o shell procuraria primeiro no diretório atual.

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

Você também pode gostar