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!