Guia de comandos básicos do Bash e como usá-los (cd, ls, echo, etc.)
Nos artigos anteriores, preparou o seu ambiente para o Bash funcionar (seja no terminal do macOS ou no WSL do Windows). Chegou finalmente a hora de entrar a sério no mundo do Bash! Já sonhou em ser como um "hacker", a controlar o computador à sua vontade, digitando comandos a partir do teclado? Os comandos básicos que vai aprender hoje são o primeiro passo para esse sonho.
Neste artigo, vamos focar-nos nos comandos básicos verdadeiramente importantes, usados diariamente no desenvolvimento web, explicando o significado e o uso de cada um detalhadamente. Tal como um cozinheiro aprende a usar as suas facas, dominar estas ferramentas básicas primeiro irá abrir a porta a todo o tipo de técnicas avançadas. Cada comando vem com uma amostra que pode copiar e colar diretamente para executar. Incentivamo-lo a pôr as mãos na massa no seu terminal e a familiarizar-se com as operações de linha de comandos!
1. Comandos de Navegação - Torne-se um explorador do sistema de ficheiros
A base das operações no terminal é, primeiro, saber "onde está" e, depois, "mover-se para o seu destino". Estes comandos são os seus "pés" no mundo da CUI.
pwd - Verificar a sua localização atual
pwd (Print Working Directory) exibe o caminho absoluto (a localização completa a partir da raiz) do diretório em que se encontra atualmente. Tal como olhar para uma bússola quando se está perdido na floresta, se se perder no terminal, digite primeiro pwd.
$ pwd
/Users/yourname/Documents/Projects
cd - Mudar de diretório
cd (Change Directory) é, como o nome sugere, o comando para se mover para um diretório (pasta) diferente.
Entrar numa pasta específica:
$ cd website-v1
Voltar para o nível superior:
$ cd ..
Voltar instantaneamente para o seu diretório home:
$ cd
Isto tem o mesmo significado que digitar cd ~. Não importa quão fundo esteja na estrutura de diretórios, este único comando irá levá-lo de volta a casa.
2. Comandos de Listagem - Olhando à sua volta
Assim que chegar ao seu destino, a próxima coisa que vai querer saber é o que está lá. O comando ls atua como os seus "olhos", informando-o sobre o que o rodeia.
ls - Listar ficheiros e pastas
Executar ls (List) por si só irá exibir uma lista dos nomes dos ficheiros e pastas no diretório atual.
$ ls
css images index.html js
Personalizar a exibição com opções
O ls pode ser comutado para vários métodos de exibição adicionando "opções".
Exibindo informação detalhada (-l):
$ ls -l
total 8
drwxr-xr-x 2 user staff 64 Jul 6 10:00 css
drwxr-xr-x 3 user staff 96 Jul 6 10:00 images
-rw-r--r-- 1 user staff 512 Jul 6 10:01 index.html
drwxr-xr-x 2 user staff 64 Jul 6 10:00 js
Pode ver informação detalhada como permissões, proprietário, tamanho do ficheiro e data de modificação.
Exibindo todos os ficheiros, incluindo os ocultos (-a):
Isto também exibe "ficheiros ocultos" que começam com um ponto, como .htaccess.
$ ls -a
. .. .htaccess css images index.html js
. é um símbolo especial que se refere ao diretório atual, e .. refere-se ao diretório pai.
As opções podem ser combinadas:
$ ls -al
3. Comandos de Criação e Manipulação - Crie e altere o seu mundo
Agora que pode mover-se e verificar o que o rodeia, vamos tentar criar, copiar, renomear e apagar ficheiros e pastas. Estas são as suas "mãos" no mundo da CUI.
mkdir - Criar uma pasta
mkdir (Make Directory) cria uma nova pasta.
$ mkdir assets
touch - Criar um ficheiro vazio
O comando touch pode atualizar um carimbo de data/hora ou, se o ficheiro não existir, criar um vazio.
$ touch contact.html
cp - Copiar ficheiros ou pastas
cp (Copy) duplica ficheiros ou pastas.
Copiar um ficheiro:
$ cp index.html index_backup.html
Copiar uma pasta (requer a opção -r):
$ cp -r css/ css_backup/
mv - Mover ou renomear ficheiros e pastas
mv (Move) move ficheiros e pastas. Também é usado para renomear.
Mover um ficheiro:
$ mv contact.html pages/
Renomear um ficheiro (pense nisso como movê-lo para o mesmo local com um nome diferente):
$ mv index_backup.html index_old.html
rm - Remover ficheiros ou pastas
rm (Remove) é o comando para apagar. 【NOTA SUPER, SUPER IMPORTANTE!】 Ao contrário da reciclagem da GUI, qualquer coisa apagada com rm desaparece para sempre e não pode ser recuperada. Antes de o executar, respire fundo e seja tão cauteloso como apontar para o ficheiro para confirmar que é o correto.
Apagar um ficheiro:
$ rm index_old.html
Apagar uma pasta (requer a opção -r):
$ rm -r css_backup/
4. Comandos para ver o conteúdo de ficheiros
Finalmente, vamos apresentar alguns comandos para verificar o conteúdo dos ficheiros. Esta é uma habilidade essencial para a gestão de servidores, como a verificação de logs.
cat - Exibir um ficheiro inteiro de uma vez
cat é útil quando quer verificar rapidamente o conteúdo de um ficheiro curto.
$ cat index.html
less - Ver ficheiros longos rolando
less é extremamente útil para ver ficheiros longos como os de log. Pode rolar com as teclas de seta para cima e para baixo e premir a tecla q para sair.
$ less /var/log/apache2/access_log
head / tail - Ver apenas o início ou o fim de um ficheiro
head exibe a parte inicial de um ficheiro, e tail exibe a parte final. São frequentemente usados quando se quer verificar os logs mais recentes, por exemplo.
$ tail -n 20 access_log
-n 20 significa "exibir as últimas 20 linhas".
Conclusão
Ótimo trabalho! Desta vez, fizemos um tour rápido pelo conjunto de comandos básicos que são inevitáveis ao usar o Bash. Embora cada comando seja simples, combiná-los permite um trabalho mais rápido e eficiente do que se poderia imaginar com uma GUI.
A maneira mais rápida de assimilar o que aprendeu hoje é usar intencionalmente o terminal para tarefas simples que normalmente faz com a GUI. Mesmo para operações simples como "criar uma nova pasta e copiar um ficheiro para ela", criar o hábito de as executar com comandos ajudará os seus dedos a lembrarem-se naturalmente.
Com isto, aprendeu o "vocabulário" básico da linguagem Bash. O próximo passo é combinar estas palavras para formar "frases" — por outras palavras, o mundo dos scripts Bash. No próximo artigo, vamos aprender a escrever scripts de automação simples e explorar formas de tornar o seu trabalho ainda mais fácil!
Introdução aos scripts Bash: Exemplos de scripts de automação simples para começar