Guia Essencial de Comandos do Terminal Linux

Introdução aos Comandos Fundamentais do Terminal Linux

Dominar o terminal Linux é uma habilidade crucial para desenvolvedores, administradores de sistema e entusiastas. Este guia prático apresenta uma seleção de comandos essenciais, detalhando suas funcionalidades e opções mais comuns, para facilitar a interação e o gerenciamento do sistema.

ls - Listar Conteúdo de Diretórios

O comando ls (list) é fundamental para exibir os arquivos e subdiretórios presentes em um determinado caminho. Ele pode operar com caminhos absolutos ou relativos à sua localização atual.

Parâmetros comuns:

  • -a: Mostra todos os arquivos, incluindo aqueles ocultos (cujo nome começa com um ponto, ex: .bashrc).
  • -l: Exibe informações detalhadas sobre cada item (permissões, proprietário, tamanho, data de modificação, etc.).

Exemplos:

# Listar arquivos no diretório /usr/local
ls /usr/local

# Exibir todos os arquivos (incluindo ocultos) em formato longo no diretório home
ls -al ~

cd - Mudar de Diretório

Para navegar entre os diretórios no sistema de arquivos, utiliza-se o comando cd (change directory). Se invocado sem argumentos, ele o levará diretamente ao diretório inicial (home directory) do usuário.

Exemplos:

# Entrar no diretório /var/www/html
cd /var/www/html

# Voltar um nível na hierarquia de diretórios
cd ..

# Ir para o diretório home do usuário atual
cd

alias - Criar Atalhos para Comandos

O comando alias permite definir atalhos personalizados para comandos ou sequências de comandos complexas. Isso pode otimizar o fluxo de trabalho e reduzir a digitação. É importante notar que não deve haver espaços em branco ao redor do sinal de igual (=) na definição do alias.

Exemplo:

# Criar um atalho 'll' para 'ls -lh' (listagem longa e legível por humanos)
alias ll='ls -lh'

clear - Limpar a Tela do Terminal

Para limpar a tela do terminal e remover o histórico de comandos visível, utilize clear. Uma alternativa rápida é a combinação de teclas Ctrl+L.

Exemplo:

clear

date - Exibir Data e Hora

O comando date exibe a data e hora atuais do sistema. Ele também pode ser foramtado para mostrar informações específicas.

Exemplo:

date

pwd - Mostrar Diretório Atual

Para saber em qual diretório você está trabalhando no momento, utilize o comando pwd (print working directory). Ele imprime o caminho completo do diretório atual na tela.

Exemplo:

pwd

echo - Imprimir Texto

O comando echo é usado para exibir uma linha de texto ou o valor de variáveis no terminal. É frequentemente empregado em scripts shell para exibir mensagens ou informações.

Exemplo:

echo "Olá, mundo do terminal!"

sort - Ordenar Linhas de Texto

O comando sort ordena as linhas de um arquivo de texto ou da entrada padrão. Por padrão, a ordenação é alfabética (lexicográfica) e ascendente, baseada na tabela ASCII.

Parâmetros comuns:

  • -r: Inverte a ordem de classificação (decrescente).
  • -n: Classifica numericamente.
  • -k N: Classifica pela N-ésima coluna.

Exemplo:

# Ordenar as linhas do arquivo 'frutas.txt' em ordem reversa
cat frutas.txt
# Maçã
# Banana
# Abacaxi
# Caju

cat frutas.txt | sort -r
# Maçã
# Caju
# Banana
# Abacaxi

uniq - Remover Linhas Duplicadas Adjacentes

O uniq é uma ferramenta para filtrar ou reportar linhas duplicadas adjacentes em um arquivo. Para que ele funcione corretamente em todo o arquivo, o conteúdo geralmente precisa ser classificado primeiro, daí a sua comum combinação com sort.

Parâmetros comuns:

  • -c: Prefixa cada linha com o número de ocorrências.
  • -d: Mostra apenas as linhas que aparecem mais de uma vez.
  • -u: Mostra apenas as linhas que são únicas.

Exemplo:

# Contar ocorrências de linhas únicas após a ordenação
sort lista.txt | uniq -c

which - Localizar Executáveis de Comandos

O comando which localiza o caminho completo de comandos executáveis no sistema. Ele procura nos diretórios listados na variável de ambiente $PATH, indicando onde o sistema encontra o programa.

Exemplo:

# Encontrar o caminho do executável do Python 3
which python3

| (Pipe) - Conectar Comandos

O pipe (|) é um operador poderoso no shell que permite conectar a saída padrão de um comando à entrada padrão de outro. Isso possibilita a criação de sequências de comandos complexas para processar dados de forma eficiente.

Exemplo:

# Listar processos e filtrar por aqueles que contêm 'apache'
ps aux | grep apache

head - Exibir o Início de um Arquivo

Para inspecionar as primeiras linhas de um arquivo, utilize o comando head. Por padrão, ele exibe as 10 primeiras linhas, mas esse número pode ser ajustado com o parâmetro -n.

Exemplo:

# Mostrar as primeiras 5 linhas do arquivo /etc/hosts
head -n 5 /etc/hosts

tail - Exibir o Final de um Arquivo

O comando tail exibe as últimas linhas de um arquivo. É particularmente útil para monitorar arquivos de log em tempo real, utilizando a opção -f (follow), que mantém o arquivo aberto e mostra novas adições conforme elas ocorrem.

Exemplo:

# Monitorar o arquivo de log do sistema em tempo real
tail -f /var/log/syslog

less - Visualizador de Arquivos Interativo

O less é um paginador de arquivos que oferece uma experiência de visualização mais avançada que o more. Ele permite rolagem tanto para cima quanto para baixo, busca por texto e não carrega o arquivo inteiro na memória, sendo eficiente para arquivos grandes.

Principais controles:

  • Espaço: Avança uma página.
  • b: Retrocede uma página.
  • /padrão: Busca por "padrão" para frente.
  • ?padrão: Busca por "padrão" para trás.
  • q: Sai do less.

Exemplo:

less grande_arquivo.log

more - Visualizador de Arquivos Paginado

O comando more também funciona como um paginador de texto, exibindo o conteúdo de um arquivo tela por tela. Ele é mais básico que o less, permitindo rolar principalmente para frente.

Principais controles:

  • Espaço: Avança uma página.
  • q: Sai do more.

Exemplo:

more arquivo_curto.txt

od - Dump Octal de Arquivos

O od (octal dump) é utilizado para exibir o conteúdo de arquivos em diferentes formatos de representação, como octal, hexadecimal, decimal ou ASCII. É útil para inspecionar arquivos binários ou para ver a representação exata de caracteres especiais em arquivos de texto.

Parâmetros comuns:

  • -c: Interpreta bytes como caracteres ASCII.
  • -x: Exibe em formato hexadecimal.
  • -o: Exibe em formato octal (padrão).

Exemplo:

# Exibir um arquivo binário em hexadecimal
od -x /bin/ls | head

mkdir e rmdir - Gerenciar Diretórios

Para gerenciar diretórios: mkdir (make directory) cria novas pastas, e rmdir (remove directory) apaga diretórios, mas apenas se estiverem vazios.

Parâmetros comuns para mkdir:

  • -p: Cria diretórios pais se eles não existirem.

Exemplos:

# Criar um novo diretório
mkdir meu_projeto

# Criar uma estrutura de diretórios aninhados
mkdir -p documentos/relatorios/2023

# Remover um diretório vazio
rmdir meu_projeto

rm - Remover Arquivos e Diretórios

O comando rm (remove) é usado para excluir arquivos e diretórios. É uma ferramenta poderosa e deve ser usada com cautela, pois, por padrão, os arquivos removidos não vão para uma lixeira e são difíceis de recuperar.

Parâmetros comuns:

  • -r: Remove diretórios e seu conteúdo recursivamente.
  • -f: Força a remoção, sem solicitar confirmação.

Exemplos:

# Remover um arquivo
rm arquivo_temporario.txt

# Remover um diretório e todo o seu conteúdo sem pedir confirmação
rm -rf lixos_antigos/

mv - Mover ou Renomear Arquivos/Diretórios

O mv (move) tem dupla função: renomear um arquivo ou diretório, ou movê-lo de um local para outro. Quando o destino está no mesmo diretório, ele atua como um renomeador. Caso contrário, ele move o item para o novo local.

Parâmetros comuns:

  • -i: Interativo, solicita confirmação antes de sobrescrever.
  • -f: Força a operação, sobrescrevendo sem confirmação.

Exemplos:

# Renomear um arquivo
mv rascunho.md artigo_final.md

# Mover um arquivo para outro diretório
mv meu_documento.pdf ~/Arquivos/Documentos/

cp - Copiar Arquivos e Diretórios

O comando cp (copy) duplica arquivos e diretórios. É esencial para backup ou para criar múltiplas instâncias de um arquivo ou estrutura de diretórios.

Parâmetros comuns:

  • -r: Recursivo, necessário para copiar diretórios e seu conteúdo.
  • -i: Interativo, solicita confirmação antes de sobrescrever.
  • -p: Preserva atributos do arquivo original (permissões, proprietário, carimbo de data/hora).
  • -a: Modo arquivo, equivalente a -dpR (preserva links, atributos, recursivo).

Exemplos:

# Copiar um arquivo
cp configuracao.bak configuracao.new

# Copiar um diretório e seu conteúdo
cp -r meus_projetos/ backup_projetos/

touch - Criar Arquivos Vazios ou Atualizar Carimbos de Data/Hora

O comando touch é primariamente usado para atualizar os carimbos de data/hora (acesso e modificação) de um arquivo ou diretório. Se o arquivo especificado não existir, touch o cria como um arquivo vazio.

Parâmetros comuns:

  • -a: Altera apenas o carimbo de data/hora de acesso.
  • -m: Altera apenas o carimbo de data/hora de modificação.
  • -c: Não cria o arquivo se ele não existir.

Exemplos:

# Criar um novo arquivo vazio
touch arquivo_vazio.txt

# Atualizar o carimbo de data/hora de modificação de um arquivo existente
touch -m script.sh

find - Localizar Arquivos e Diretórios

O comando find é uma ferramenta poderosa para localizar arquivos e diretórios dentro de uma hierarquia, com base em diversos critérios como nome, tipo, tamanho, proprietário e data.

find [DIRETÓRIO_INICIAL] [EXPRESSÃO_DE_BUSCA] [AÇÃO]

Parâmetros de busca comuns:

  • -name padrão: Busca por nome de arquivo (suporta curingas como * e ?).
  • -type tipo: Busca por tipo (f para arquivo, d para diretório, l para link simbólico).
  • -size [+-]N[cwbkMG]: Busca por tamanho (+N maior que N, -N menor que N).
  • -user usuário: Busca por proprietário.
  • -mtime N: Busca por arquivos modificados N dias atrás.

Explicação de -mtime N:

  • N: Exato N dias atrás (o arquivo foi modificado há exatamente N dias).
  • +N: Mais de N dias atrás (o arquivo foi modificado há N+1 dias ou mais).
  • -N: Menos de N dias atrás (o arquivo foi modificado nos últimos N dias, incluindo hoje).

Exemplos:

# Encontrar todos os arquivos '.conf' no diretório /etc
find /etc -name "*.conf"

# Encontrar diretórios modificados nos últimos 7 dias no diretório atual
find . -type d -mtime -7

grep - Buscar Padrões em Arquivos

O grep (Global Regular Expression Print) é uma ferramenta essencial para buscar padrões de texto (strings ou expressões regulares) dentro de arquivos ou da entrada padrão. Ele imprime as linhas que contêm o padrão especificado.

Parâmetros comuns:

  • -i: Ignora maiúsculas e minúsculas.
  • -v: Inverte a busca, mostrando as linhas que NÃO contêm o padrão.
  • -n: Exibe o número da linha junto com a linha correspondente.
  • -r: Busca recursivamente em subdiretórios.
  • -l: Lista apenas os nomes dos arquivos que contêm o padrão.

Exemplo:

# Buscar a palavra "error" (ignorando maiúsculas/minúsculas) no arquivo de log do sistema
grep -i "error" /var/log/syslog

wc - Contar Linhas, Palavras e Bytes

O comando wc (word count) é utilizado para contar o número de linhas, palavras e bytes (ou caracteres) em arquivos ou na entrada padrão. É uma ferramenta simples, mas muito útil para obter um resumo rápido do conteúdo de texto.

Parâmetros comuns:

  • -l: Conta apenas o número de linhas.
  • -w: Conta apenas o número de palavras.
  • -c: Conta apenas o número de bytes (ou caracteres).

Exemplo:

# Contar o número de linhas em um arquivo
wc -l relatorio_mensal.txt

diff - Comparar Arquivos

O diff (difference) é uma utilidade para comparar dois arquivos, exibindo as diferenças linha por linha. É indispensável para gerenciar versões de código, comparar configurações ou identificar modificações entre documentos.

Parâmetros comuns:

  • -u: Formato unificado, mostra as diferenças com contexto e de forma mais legível.
  • -c: Formato de contexto, similar ao -u, mas com outra apresentação.
  • -r: Recursivo, para comparar diretórios inteiros.
  • -i: Ignora maiúsculas e minúsculas ao comparar.

Exemplo:

# Comparar duas versões de um arquivo de configuração usando o formato unificado
diff -u config.old config.new

Tags: Linux Ubuntu Terminal shell Comandos

Publicado em 7-31 05:27