Conteúdo
O Linux é um sistema operacional robusto, mas dominá-lo requer familiaridade com o terminal. Este guia completo foi projetado para iniciantes que desejam não apenas memorizar comandos, mas entender como o Linux funciona por baixo dos panos. Vamos explorar desde conceitos fundamentais até técnicas intermediárias, com exemplos práticos e explicações detalhadas. Neste artigo vamos entender os principais comandos Linux para Iniciantes, estrutura de pastas e muito mais.
1. Introdução ao Terminal Linux
O terminal é a porta de entrada para o coração do Linux. Diferente de interfaces gráficas, ele permite controle total sobre o sistema.
O Que é um Shell?
- O shell é um interpretador de comandos. O mais comum é o Bash (Bourne Again Shell), mas existem outros como Zsh e Fish.
- O terminal emula o shell, permitindo que você digite comandos diretamente.
Por Que Usar o Terminal?
- Eficiência: Tarefas repetitivas podem ser automatizadas.
- Controle: Acesso a funcionalidades avançadas não disponíveis na interface gráfica.
- Flexibilidade: Compatibilidade com scripts e ferramentas de desenvolvimento.
Abrindo o Terminal
- No Ubuntu/Debian:
Ctrl + Alt + T
ou procure por “Terminal” no menu. - No Fedora: Use a busca por “Terminal” ou
Ctrl + Alt + T
.
2. Estrutura de Diretórios no Linux
Antes de começar, é crucial entender a hierarquia padrão do Linux:
/
: Raiz do sistema./home
: Diretório dos usuários (ex:/home/joao
)./etc
: Arquivos de configuração do sistema./var
: Dados variáveis (logs, bancos de dados)./bin
e/usr/bin
: Executáveis básicos./tmp
: Arquivos temporários.
3. Comandos Essenciais de Navegação
pwd
(Print Working Directory)
- Função: Mostra o caminho completo do diretório atual.
- Exemplo:
$ pwd
/home/joao/documentos
ls
(List)
- Função: Lista arquivos e pastas.
- Opções Úteis:
-l
: Lista em formato detalhado (permissões, dono, tamanho).-a
: Mostra arquivos ocultos (iniciados com.
).-h
: Exibe tamanhos em formato legível (KB, MB).-t
: Ordena por data de modificação.- Exemplo:
$ ls -lah
drwxr-xr-x 2 joao joao 4.0K Jul 10 14:30 .
drwxr-xr-x 5 joao joao 4.0K Jul 9 10:15 ..
-rw-r--r-- 1 joao joao 123 Jul 10 14:30 arquivo.txt
cd
(Change Directory)
- Função: Navega entre diretórios.
- Sintaxes Comuns:
cd pasta
: Entra na pasta especificada.cd ..
: Volta um nível.cd ~
oucd
: Retorna ao diretório home.cd -
: Volta ao diretório anterior.- Exemplo:
$ cd Documentos/projetos
4. Gerenciamento de Arquivos e Pastas
mkdir
(Make Directory)
- Função: Cria uma nova pasta.
- Opções:
-p
: Cria diretórios pais se não existirem (ex:mkdir -p projetos/2023/linux
).- Exemplo:
$ mkdir nova_pasta
touch
- Função: Cria um arquivo vazio ou atualiza a data de modificação.
- Exemplo:
$ touch lista.txt
cp
(Copy)
- Função: Copia arquivos ou pastas.
- Opções:
-r
: Copia diretórios recursivamente.-v
: Modo verboso (mostra o progresso).- Exemplo:
$ cp -rv pasta_origem/ pasta_destino/
mv
(Move)
- Função: Move ou renomeia arquivos/pastas.
- Exemplo de Renomeação:
$ mv arquivo_antigo.txt novo_nome.txt
- Exemplo de Movimentação:
$ mv arquivo.txt /outro/diretorio/
rm
(Remove)
- Função: Exclui arquivos ou pastas.
- Opções:
-r
: Remove diretórios e seu conteúdo.-f
: Força a exclusão sem confirmação.- Cuidado: Este comando é irreversível!
- Exemplo:
$ rm -rf pasta_lixo/
find
- Função: Busca arquivos e diretórios com base em critérios.
- Exemplos:
- Buscar por arquivos
.txt
no diretório atual:
$ find . -name "*.txt"
- Buscar arquivos modificados nos últimos 7 dias:
$ find /home -mtime -7
5. Visualização e Edição de Arquivos
cat
- Função: Exibe o conteúdo de um arquivo.
- Exemplo:
$ cat arquivo.txt
less
- Função: Visualiza arquivos longos com scroll.
- Comandos Internos:
Espaço
: Avança uma página.b
: Retrocede uma página./palavra
: Busca por uma palavra.q
: Sai do visualizador.- Exemplo:
$ less log.txt
nano
- Função: Editor de texto simples para o terminal.
- Atalhos Úteis:
Ctrl + O
: Salva o arquivo.Ctrl + X
: Sai do editor.Ctrl + K
: Recorta uma linha.- Exemplo:
$ nano notas.txt
grep
- Função: Filtra linhas de texto que correspondem a um padrão.
- Exemplos:
- Buscar a palavra “erro” em um arquivo:
$ grep "erro" log.txt
- Buscar recursivamente em todos os arquivos:
$ grep -r "erro" /var/log/
6. Permissões de Arquivos e Diretórios
No Linux, cada arquivo tem permissões para três tipos de usuários: dono, grupo e outros.
Entendendo as Permissões
- Leitura ®: Permite visualizar o conteúdo.
- Escrita (w): Permite modificar o arquivo.
- Execução (x): Permite executar o arquivo (se for um script ou programa).
chmod
(Change Mode)
- Função: Altera permissões usando símbolos ou números.
- Modo Símbolo:
$ chmod u+x arquivo.sh # Adiciona permissão de execução ao dono
$ chmod go-w arquivo.txt # Remove escrita do grupo e outros
- Modo Numérico:
4
= Leitura ®2
= Escrita (w)1
= Execução (x)- Exemplo:
chmod 755 script.sh
(dono: rwx, grupo e outros: r-x).
chown
(Change Owner)
- Função: Altera o dono e/ou grupo de um arquivo.
- Exemplo:
$ sudo chown joao:devs arquivo.txt
7. Gerenciamento de Processos
ps
(Process Status)
- Função: Lista processos em execução.
- Opção Útil:
$ ps aux # Lista todos os processos do sistema
top
- Função: Monitora processos em tempo real.
- Teclas Úteis:
k
: Mata um processo (insira o PID).M
: Ordena por uso de memória.P
: Ordena por uso de CPU.
kill
- Função: Encerra um processo pelo PID.
- Sinais Comuns:
kill -9 PID
: Força o encerramento (útil para processos travados).- Exemplo:
$ kill 1234
8. Rede e Conexões
ping
- Função: Testa a conectividade com um host.
- Exemplo:
$ ping google.com
ifconfig
ou ip a
- Função: Mostra detalhes das interfaces de rede.
- Exemplo:
$ ip a
ssh
(Secure Shell)
- Função: Conecta-se a um servidor remoto.
- Exemplo:
$ ssh [email protected]
scp
(Secure Copy)
- Função: Copia arquivos entre máquinas via SSH.
- Exemplo:
$ scp arquivo.txt [email protected]:/home/usuario/
9. Instalação de Pacotes
APT (Debian/Ubuntu)
- Atualizar lista de pacotes:
$ sudo apt update
- Instalar um pacote:
$ sudo apt install firefox
- Remover um pacote:
$ sudo apt remove firefox
DNF/YUM (Fedora/CentOS)
- Instalar um pacote:
$ sudo dnf install htop
10. Trabalhando com Arquivos Compactados
tar
- Função: Compacta e descompacta arquivos.
- Exemplos:
- Criar um arquivo
.tar.gz
:
$ tar -czvf backup.tar.gz pasta/
- Extrair um arquivo:
$ tar -xzvf backup.tar.gz
zip
e unzip
- Compactar:
$ zip -r backup.zip pasta/
- Descompactar:
$ unzip backup.zip
11. Gerenciamento de Usuários e Grupos
useradd
- Função: Cria um novo usuário.
- Exemplo:
$ sudo useradd -m novo_usuario
passwd
- Função: Define ou altera a senha de um usuário.
- Exemplo:
$ sudo passwd novo_usuario
usermod
- Função: Modifica um usuário existente (ex: adicionar a um grupo).
- Exemplo:
$ sudo usermod -aG sudo novo_usuario
12. Monitoramento de Sistema
df
- Função: Mostra o espaço em disco disponível.
- Exemplo:
$ df -h # Exibe em formato legível
du
- Função: Analisa o uso de espaço em diretórios.
- Exemplo:
$ du -sh /home/joao/ # Resume o tamanho total
free
- Função: Exibe o uso de memória RAM.
- Exemplo:
$ free -h
13. Redirecionamento e Pipes
>
e >>
- Função: Redireciona a saída de um comando para um arquivo.
>
: Sobrescreve o arquivo.>>
: Adiciona ao final do arquivo.- Exemplo:
$ ls -l > lista_arquivos.txt
|
(Pipe)
- Função: Passa a saída de um comando como entrada para outro.
- Exemplo:
$ cat log.txt | grep "erro"
14. Atalhos do Terminal
Ctrl + C
: Interrompe um comando em execução.Ctrl + Z
: Pausa um processo (usefg
para retomar).Ctrl + D
: Encerra a sessão do terminal.Ctrl + L
: Limpa a tela.Tab
: Autocompleta nomes de arquivos e comandos.
15. Scripts Básicos de Shell
Automatize tarefas criando scripts (arquivos .sh
).
Exemplo de Script:
#!/bin/bash
echo "Olá, mundo!"
Executando o Script:
$ chmod +x script.sh
$ ./script.sh
16. Dicas Avançadas para Iniciantes
- Explore o
man
: Digiteman comando
para ler o manual oficial. - Use aliases: Simplifique comandos frequentes no arquivo
~/.bashrc
.
alias ll='ls -lah'
- Histórico de Comandos: Use
history
ouCtrl + R
para buscar comandos anteriores.
17. Resolução de Problemas Comuns
- Arquivo não encontrado: Verifique o caminho com
ls
e corrija erros de digitação. - Permissão negada: Use
sudo
antes do comando (se for um administrador). - Processo travado: Use
kill -9 PID
ou reinicie o serviço comsystemctl
.
18. Conclusão e Próximos Passos
Agora que você domina os comandos básicos e intermediários, explore temas como:
- Serviços do sistema:
systemctl start/stop/reload
. - Firewall:
ufw
(Uncomplicated Firewall). - Contêineres: Introdução ao Docker.
Lembre-se: A prática constante é a chave para a proficiência. Experimente, cometa erros e consulte a documentação oficial. O Linux é uma jornada, não um destino!
Este guia oferece uma base sólida para iniciantes. Para se aprofundar, consulte recursos como o Linux Journey ou livros como “The Linux Command Line” de William Shotts. Boa sorte na sua jornada pelo mundo do Linux!