11 comandos Linux essenciais para desenvolvedores
Dominar o terminal é parte do dia a dia de quem desenvolve. Esta lista reúne 11 comandos Linux essenciais, do básico ao avançado, com exemplos práticos.
Dominar o terminal é parte do dia a dia de quem desenvolve. Esta lista reúne 11 comandos Linux essenciais, do básico ao avançado, com exemplos práticos.
Trabalhar com Linux exige mais do que clicar em janelas. O terminal é onde a produtividade realmente aparece, e dominar alguns comandos faz diferença no seu fluxo diário. Esta lista reúne 11 comandos essenciais para desenvolvedores, do básico ao avançado, com exemplos práticos para você aplicar agora mesmo.
1. ls
O ls lista arquivos e diretórios. É provavelmente o primeiro comando que você digita ao abrir um terminal. Sem opções, ele mostra o conteúdo do diretório atual. Com ls -la, você vê arquivos ocultos, permissões, tamanhos e datas de modificação.
Use ls -lh para exibir tamanhos legíveis (K, M, G). Isso ajuda a identificar arquivos grandes rapidamente. Para ordenar por data de modificação, ls -lt é prático quando você quer saber o que foi alterado recentemente.
2. cd
Navegação é básica, mas essencial. cd muda o diretório atual. cd .. volta um nível, cd ~ leva à sua home e cd - alterna entre os dois últimos diretórios acessados, útil para quem trabalha em múltiplos projetos.
Dica: combine cd com caminhos completos. Em vez de cd ../../projeto, tente cd /var/www/html para ir direto ao ponto. Isso reduz erros e agiliza o trabalho.
3. pwd
pwd mostra o caminho completo do diretório atual. Parece simples, mas quando você trabalha em scripts ou precisa copiar um caminho para outra ferramenta, pwd evita suposições. Muitos desenvolvedores subestimam esse comando até precisarem dele.
Use em combinação com echo $PWD para confirmar variáveis de ambiente. Em scripts, pwd é frequentemente usado para definir caminhos relativos a partir da raiz do projeto.
4. mkdir
mkdir cria diretórios. O básico é mkdir pasta, mas o -p cria diretórios aninhados de uma vez: mkdir -p projeto/src/components. Isso evita múltiplos comandos e erros quando o diretório pai ainda não existe.
Para projetos grandes, criar a estrutura completa com um único comando economiza tempo. Combine com touch para criar arquivos vazios na mesma estrutura.
5. rm
rm remove arquivos e diretórios. O cuidado aqui é o -rf: rm -rf remove recursivamente e sem pedir confirmação. Um erro de digitação pode apagar arquivos importantes, então sempre confirme o caminho antes de executar.
Use rm -i para ser questionado antes de cada remoção, especialmente em diretórios com muitos arquivos. Para arquivos individuais, rm arquivo.txt é suficiente e seguro.
6. cp
cp copia arquivos e pastas. cp arquivo.txt backup/ copia para outra pasta. Com -r, copia diretórios inteiros, mantendo a estrutura. cp -a preserva permissões e timestamps, útil para backups.
Um exemplo prático: cp -a /etc/nginx/ /backup/nginx/ copia toda a configuração do servidor com as permissões originais, pronta para restauração.
7. mv
mv move ou renomeia arquivos. É o comando para organizar projetos: mv index.html public/ move o arquivo, e mv index.html home.html renomeia. Diferente de cp, o original não é mantido.
Use mv -i para ser avisado antes de sobrescrever um arquivo existente. Isso evita perda de dados quando você move arquivos com nomes semelhantes.
8. grep
grep busca texto dentro de arquivos. É essencial para encontrar padrões em logs, código ou configurações. grep "erro" log.txt mostra todas as linhas com "erro". Com -r, busca recursivamente em pastas.
Use grep -r "TODO" src/ para listar todas as pendências no código. Combine com -n para mostrar o número da linha, facilitando a navegação no editor.
9. find
find localiza arquivos no sistema por nome, tipo, tamanho ou data. find . -name "*.js" lista todos os arquivos JavaScript no diretório atual. É mais poderoso que grep para buscar por metadados.
Exemplo: find /var/log -name "*.log" -mtime -7 encontra logs modificados na última semana. Isso ajuda a monitorar atividades recentes no servidor.
10. chmod
chmod altera permissões de arquivos e diretórios. No Linux, cada arquivo tem permissões de leitura, escrita e execução para dono, grupo e outros. chmod 755 script.sh dá permissão total ao dono e leitura/execução aos demais.
Para scripts, chmod +x script.sh torna o arquivo executável. Isso é comum ao baixar ferramentas ou criar scripts de automação. Entender permissões evita erros de "permission denied" ao executar comandos.
11. ssh
ssh conecta a servidores remotos de forma segura. ssh usuario@servidor abre uma sessão no servidor. Com -p, define uma porta específica: ssh -p 2222 usuario@servidor. Desenvolvedores usam para deploy, manutenção e acesso a ambientes de produção.
Dica: configure chaves SSH para autenticação sem senha. Isso agiliza o acesso e aumenta a segurança, já que senhas podem ser interceptadas.
Como escolher os comandos certos para o seu dia a dia
Se você está começando, foque em ls, cd, pwd, mkdir, cp e mv. Eles cobrem a maior parte das tarefas de navegação e organização. Quando precisar automatizar ou lidar com servidores, adicione grep, find, chmod e ssh ao seu repertório. A prática constante no terminal é o que transforma esses comandos em reflexo.
Perguntas frequentes
Qual a diferença entre rm e unlink?
rm é o comando geral para remover arquivos e diretórios, com opções como -r para recursão. unlink remove apenas um arquivo específico, sem opções extras. Para a maioria dos casos, rm é suficiente e mais flexível.
Como listar arquivos ocultos no Linux?
Use ls -a ou ls -la. A opção -a mostra todos os arquivos, incluindo os que começam com ponto, como .gitignore e .bashrc. A opção -l adiciona detalhes como permissões e tamanhos.
O que significa a permissão 755 no chmod?
O número 755 representa permissões em octal. O dono (7) tem leitura, escrita e execução; o grupo (5) tem leitura e execução; outros (5) também têm leitura e execução. É uma configuração comum para scripts e diretórios públicos.
Posso usar grep para buscar em múltiplos arquivos?
Sim. Use grep -r "texto" pasta/ para busca recursiva. Ou liste arquivos: grep "erro" *.log. A opção -n mostra o número da linha, e -i ignora diferenças entre maiúsculas e minúsculas.
Como mover um arquivo para o diretório anterior?
Use mv arquivo.txt .. para mover para o diretório pai. Se quiser mover para o diretório anterior ao atual, mv arquivo.txt ../.. move dois níveis acima. Combine com pwd para confirmar o caminho antes de executar.
ssh funciona apenas para servidores Linux?
Não. ssh conecta a qualquer máquina que tenha um servidor SSH ativo, incluindo Windows com OpenSSH e servidores Unix. O comando é o mesmo, mas a autenticação e as permissões variam conforme o sistema.