Começando com a Linha de Comando do Linux
Uma entrada de glossário prático abrangendo o básico do shell Linux: navegação, operações de arquivo, permissões e os hábitos que o tornam rápido nisso.
A linha de comando é uma interface de texto para se comunicar diretamente com o sistema operacional. Em vez de clicar em ícones, você digita instruções para um shell, e o shell as executa. Na maioria das distribuições Linux esse shell é bash, embora zsh tenha se tornado comum também, especialmente porque é o padrão no macOS e cada vez mais popular em configurações Linux. Aprender a linha de comando não é sobre memorizar centenas de comandos. É sobre internalizar um pequeno conjunto de ferramentas e combiná-las bem.
O que o shell realmente faz
Quando você abre um terminal, você está executando um emulador de terminal, e dentro dele um processo shell está esperando por entrada. Você digita um comando, pressiona enter, e o shell o analisa, encontra o programa que você nomeou e o executa com quaisquer argumentos que você deu. A saída volta como texto. Esse é o loop inteiro. Entender essa separação entre terminal (a janela) e shell (o programa interpretando seu texto) esclarece muita confusão inicial.
Se movimentando e olhando para as coisas
Quatro comandos cobrem a maioria da navegação inicial:
pwd # print working directory
ls -la # list files, including hidden ones, with details
cd projects # change into a directory
cd .. # go up one level
ls -la vale a pena digitar por completo no início em vez de depender de aliases, para que você se acostume a ver permissões, propriedade e tamanhos de arquivo na saída. O d ou - inicial na string de permissão diz a você se algo é um diretório ou um arquivo regular, o que confunde muitos iniciantes no começo.
Lendo e manipulando arquivos
cat somefile.txt despeja um arquivo inteiro na tela. Para qualquer coisa mais longa, less somefile.txt permite que você role e pesquise com /pattern. head -n 20 file.log e tail -n 20 file.log mostram as primeiras ou últimas linhas, e tail -f file.log segue um arquivo conforme novas linhas são adicionadas, o que é como você observa um log em tempo real durante a depuração.
Copiar, mover e deletar usam cp, mv e rm:
cp report.txt report.bak
mv report.bak archive/
rm archive/report.bak
rm não move as coisas para uma lixeira. Ele as deleta. Adicionar -i faz com que ele peça confirmação, o que é um hábito razoável enquanto você ainda está construindo memória muscular.
Permissões, sem o mistério
Executar ls -l em um arquivo mostra algo como -rwxr-xr--. Divida em três grupos de três: proprietário, grupo, outros. Cada grupo tem leitura, escrita, execução. chmod 755 script.sh define o proprietário como leitura/escrita/execução (7), e grupo/outros como leitura/execução (5). chmod +x script.sh é um atalho para tornar um arquivo executável sem recalcular o número completo. chown muda quem é dono de um arquivo, e normalmente precisa de sudo a menos que já seja seu arquivo.
Piping e redirecionamento
Este é o ponto em que a linha de comando deixa de ser um navegador de arquivos e passa a ser uma ferramenta real. O pipe | envia a saída de um comando para outro:
ps aux | grep nginx
ls -la | wc -l
cat access.log | grep 404 | sort | uniq -c | sort -rn
O último conta quantas vezes cada linha que gera 404 aparece em um log e ordena por frequência, construído inteiramente a partir de pequenos comandos encadeados. Redirecionamento com > e >> envia a saída para um arquivo em vez da tela: > sobrescreve, >> acrescenta. 2> redireciona a saída de erro especificamente, o que importa uma vez que você comece a escrever scripts que precisam separar saída normal de erros.
Encontrando coisas
find pesquisa por nome, tipo ou tempo de modificação:
find /var/log -nameEscrito com assistência de IA, revisado e publicado por Michal Pilch (CISSP), Korra Studio.
Esta é uma anotação da base de conhecimento da Korra Studio — a plataforma associa cada tema com mentoria 1-para-1.
Começar gratuitamentearrow_forward