Vídeo

Use a variável PATH a seu favor no Linux

O funcionamento do Linux e da linha de comando das distros atualmente é o resultado de muito trabalho feito no passado, e no vídeo de hoje, vamos aprender sobre um belo truque chamado de variável PATH, que permite que você crie seus próprios comandos e é um assunto importante que costuma cair em certificações profissionais, afinal, quem dominar ela, pode conseguir ser ainda mais produtivo dentro de um ambiente Linux. 

Usar o terminal Linux para tarefas administrativas é uma das coisas mais comuns da rotina de qualquer administrador de sistemas e de qualquer usuário um pouco mais avançado que goste de eficiência. Sendo assim, você já se perguntou como o terminal sabe se algum comando existe ou não? Se tu suspeitaste que isso tem a ver com a variável PATH, acertou!

Entenda um pouco sobre como os comandos são referenciados no Linux

Tudo no Linux são arquivos, incluindo os programas, e os programas que rodam no terminal estão em determinadas pastas do sistema, dependendo do programa. Podemos ver facilmente onde cada um fica com alguns comandos, como o which em conjunto com o “ls” para saber onde o arquivo do ls se esconde nas pastas do sistema.

Neste caso, o comando retorna o caminho /usr/bin/ls, e se você tem dúvidas sobre como funcionam os diretórios do Linux, vale a pena conferir o nosso vídeo sobre isso. Se esse local é onde o comando “ls” está e eu escrever o endereço dele completo no terminal “/usr/bin/ls”, o comando “ls” funcionará da mesma forma, mas ainda bem que não precisamos de tudo isso para executar um simples comando ls, não é mesmo?

Pois bem, variável PATH serve justamente para gente não precisar digitar o caminho completo de qualquer programa que a gente queira abrir pelo terminal. E porque a variável PATH é uma variável? O PATH é uma variável do SHELL do Linux, nesse caso do Bash, tanto que pode ser consultada através do comando echo:

 echo $PATH

O cifrão antes do nome serve para referenciar uma variável que já existe no sistema, e se você digitar este comando no seu terminal, repare que o que temos dentro dessa variável, é apenas um conjunto de diretórios específicos separados por dois pontos, que podem variar de distribuição para distribuição, e também dependendo dos programas que você tiver instalado no seu computador.

Isso quer dizer que sempre que você tentar executar um comando no seu terminal, o Bash vai procurar dentro dessas pastas pelo arquivo com o mesmo nome do comando digitado, exatamente na ordem no qual eles aparecem. Se um arquivo com o nome digitado for encontrado, o terminal vai tentar executá-lo.

Como funciona a variável PATH?

Para demonstrar como funciona a variável PATH, vamos criar o nosso próprio comando! Para isso, deve-se usar um editor de textos, como o nano, e para exemplificar, criaremos um arquivo chamado “meu_comando”, eis o código-fonte:

#!/bin/bash

echo “Seja membro do canal Diolinux!”

Aliás, falando em ser membro do canal, dentre os benefícios, você terá vários conteúdos gratuitos sobre Linux, terminal e shell script, além de cursos e vídeos exclusivos para membros, então se quiser ter acesso a muito conteúdo extra, e ainda apoiar o nosso trabalho, considere se tornar membro.

Voltando ao assunto, salve e feche o arquivo, o comando ls vai mostrar que ele está na home no momento, mas para esse shell script funcionar, ele precisa ter permissões de execução. Sendo assim, com o comando chmod +x meu_comando, e depois com o ls -l, podemos ver que temos permissões de execução, como todo bom programa deve ter.

Entretanto, ao tentar executar o arquivo, o terminal retorna que o comando não foi encontrado. Se o arquivo está na minha pasta, por que eu não consigo executá-lo? A resposta é que essa é mais uma das camadas de segurança do Linux, por padrão, os programas só podem ser executados se estiverem dentro de determinadas pastas, e a home não é uma delas.

Para saber quais são essas pastas, é só a gente dar uma olhada na variável PATH de novo, se o meu arquivo estiver dentro de uma dessas pastas, com a permissão de execução, que a gente já deu, ele deve funcionar. Vamos testar? Movemos o arquivo da home para /usr/local/bin, e como essa é uma pasta do sistema, precisaremos do sudo para fazer essa ação, com o seguinte comando:

sudo mv meu_comando /usr/local/bin/

Agora o programa funciona normalmente e o mesmo aconteceria se tivéssemos movido ele para qualquer uma das pastas que estão na variável PATH.

Está gostando da explicação? Assista ao vídeo até o final para aprender melhor sobre como funciona a variável PATH e ainda saber uma forma de rodar um programa em qualquer diretório!

Se tiver alguma dúvida ou observação, deixe nos comentários e interaja com a comunidade Diolinux Plus, que como você, é apaixonada por Linux!

Se ficou orgulhoso por ter aprendido ainda mais sobre o Linux, mostre ao mundo utilizando uma roupa com alguma de nossas estampas!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!