Skip to content

Comandos básicos do Linux

O Linux é controlado principalmente pela linha de comando (terminal ou shell). Mesmo com interfaces gráficas disponíveis, dominar comandos é essencial para administração de servidores, automação e eficiência.

O shell aceita 02 tipos de comandos:

  • Internos: Comandos que fazem parte do próprio shell. Por exemplo, cd, set, export, etc.
  • Externos: Comandos que residem em arquivos individuais. Estes arquivos, geralmente, são programas binários ou scripts. Quando um comando externo ao shell é executado, o shell usa a variável PATH para procurar um arquivo executável com o mesmo nome do comando.

O comando type mostra a que tipo pertence um comando específico:

Comando type
type echo
# Saída do comando
echo is a shell builtin

A maioria dos comandos no shell seguem a mesma estrutura básica:

Estrutura da linha de comando
comando [opção(ões)/parâmetro(s)...] [argumento(s)...]

No Linux, podemos acessar arquivos e diretórios usando Caminho Absoluto ou Caminho Relativo.

É o caminho completo desde a raiz do sistema de arquivos até o destino.

Características:

  • Sempre começa com /
  • Funciona de qualquer lugar do sistema
  • Não depende do diretório atual
  • É único e inequívoco

É o caminho a partir do diretório atual (onde você está agora).

Características:

  • Nunca começa com /
  • Depende do diretório atual (pwd)
  • Pode começar com:
    • .: Diretório atual
    • ..: Diretório pai
    • ~: Diretório Home do usuário
  • Mais curto e prático para navegação local

Informa o diretório atual

Comando pwd
sysadmin@server01:~$ pwd

O comando pwd mostra que o diretório atual é o /home/sysadmin.

O comando ls lista o conteúdo de diretórios.

Exemplos de uso do comando ls:

Listar arquivos do diretório /home/sysadmin:

Comando ls
ls /home/sysadmin

O comando ls sem nenhuma opção ou parâmetro lista os arquivos do diretório informado.

Listar detalhes dos arquivos de um diretório

Section titled “Listar detalhes dos arquivos de um diretório”

Listar em formato detalhado (permissões, tamanho, data) os arquivos de um diretório.

Comando ls
ls -l /home/sysadmin

Comando:

  • -l: Usa formato de lista longa

Saída do comando:

  • total 8: Mostra o total de blocos de disco usados pelos arquivos no diretório (em blocos de 1KB). 0 significa que os arquivos não ocupam blocos completos (são arquivos vazios ou muito pequenos).
  • -rw-rw-r--: Tipo e permissões de arquivos.
    • Tipos de arquivos (primeiro caracter):
      • -: arquivo regular
      • d: diretório
      • l: link simbólico
      • c: dispositivo de caractere
      • b: dispositivo de bloco
      • p: pipe nomeado
      • s: socket
  • 1: Indica quantos hard links apontam para este arquivo. 1 significa que existe apenas o nome original do arquivo. Se fosse um diretório, seria no mínimo 2 (. e o próprio nome). Números maiores indicam múltiplos hard links para o mesmo inode.
  • sysadmin: Usuário proprietário do arquivo.
  • sysadmin: Grupo proprietário do arquivo.
  • 0: Tamanho do arquivo em bytes. Para ver em formato legível use ls -lh.
  • jan 5 16:34: Data e hora da modificação do conteúdo do arquivo.
  • doc01.pdf: Nome do arquivo.

As permissões de arquivos e diretórios, hard links e inodes serão explicados em posts futuros.

Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)

Section titled “Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)”

Agora usaremos várias opções do juntas em um mesmo comando.

Comando ls
ls -lha /home/sysadmin

Comando:

  • -l: Usa formato de lista longa
  • -h (--human-readable): Usado com a opção -l e/ou -s, mostra o tamanho dos arquivos em formato legível para humanos (KB, MB, GB).
  • -a (--all): Mostra arquivos ocultos. Os arquivos ocultos são iniciados com um .. Por exemplo, .profile, .viminfo, .bashrc, etc.

Saída do comando:

  • Notem que no final da segunda linha tem um . e no final da terceira linha tem um ..:
    • .: Indica o diretório atual.
    • ..: Indica o diretório do nível anterior.

Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)

Section titled “Listar arquivos ocultos, em formato longo (com detalhes) e com o tamanho legível (KB, MB, GB)”

Agora usaremos várias opções do juntas em um mesmo comando.

Comando ls
ls -lha /home/sysadmin

Comando:

  • -l: Usa formato de lista longa
  • -h (--human-readable): Usado com a opção -l e/ou -s, mostra o tamanho dos arquivos em formato legível para humanos (KB, MB, GB).
  • -a (--all): Mostra arquivos ocultos. Os arquivos ocultos são iniciados com um .. Por exemplo, .profile, .viminfo, .bashrc, etc.

O comando cd altera o diretório atual do shell.

Exemplos de uso do comando cd:

Estou no diretório /home/sysadmin/ e quero acessar o diretório /var/log/:

Comando cd
cd /var/log

Estou no diretório /var/log/ e quero acessar o diretório /var/:

Comando cd
cd /var

Ir para o diretório Home do usuário atual

Section titled “Ir para o diretório Home do usuário atual”

Estou no diretório /var/ e quero acessar o diretório /home/sysadmin (o meu usuário atual é o sysadmin):

Comando cd
cd /home/sysadmin

O comando mkdir cria novos diretórios

Exemplos de uso do comando mkdir:

Estou no diretório /home/sysadmin/ e quero criar o diretório arquivos:

Comando mkdir
mkdir /home/sysadmin/arquivos

Criar estrutura completa de diretórios (pai/filho)

Section titled “Criar estrutura completa de diretórios (pai/filho)”

Estou no diretório /home/sysadmin/, quero criar o diretório relatorios e, dentro dele, criar o diretório financeiro:

Comando mkdir
# A opção "-p" cria uma estrutura de diretórios
mkdir -p /home/sysadmin/relatorios/financeiro

O comando rmdir remove diretório vazios.


Exemplos de uso do comando rmdir:

Estou no diretório /home/sysadmin/, quero remover o diretório financeiro que está dentro do diretório relatorios:

Comando rmdir
rmdir /home/sysadmin/relatorios/financeiro

O comando cp copia arquivos e diretórios.

Exemplos de uso do comando cp:

A estrutura do comando cp é a seguinte:

Estrutura do comando cp
cp origem destino

Estou no diretório /home/sysadmin/, quero copiar o arquivo doc01.pdf para o diretório /home/sysadmin/relatorios/:

Comando cp
cp /home/sysadmin/doc01.pdf /home/sysadmin/relatorios/

Estou no diretório /home/sysadmin/, quero copiar o diretório arquivos e o seu conteúdo para o diretório /home/sysadmin/relatorios/:

Comando cp
# A opção "-r" copia os diretórios recursivamente
cp -r /home/sysadmin/arquivos /home/sysadmin/relatorios/