Comandos fundamentais e úteis do Linux:

Navegação e Gerenciamento de Arquivos:
pwd
(print working directory): Exibe o diretório de trabalho atual (a pasta em que você está no momento).- Exemplo: Bash
pwd /home/usuario/documentos
- Exemplo: Bash
cd
(change directory): Permite mudar para um diretório diferente.- Exemplos:
- Mover para o diretório
Downloads
:cd Downloads
- Voltar para o diretório pai:
cd ..
- Mover para o diretório home do usuário:
cd ~
- Voltar para o diretório anterior:
cd -
- Mover para o diretório
- Exemplos:
ls
(list): Lista os arquivos e diretórios no diretório atual.- Exemplos:
- Listar arquivos e diretórios:
ls arquivo1.txt pasta1 arquivo2.pdf
- Listar arquivos e diretórios com detalhes (permissões, proprietário, tamanho, data de modificação):
ls -l total 12 -rw-r--r-- 1 usuario usuario 1024 May 18 10:30 arquivo1.txt drwxr-xr-x 2 usuario usuario 4096 May 18 10:31 pasta1 -rw-rw-r-- 1 usuario usuario 2048 May 18 10:32 arquivo2.pdf
- Listar todos os arquivos, incluindo os ocultos (que começam com
.
)ls -a . .. .arquivo_oculto arquivo1.txt pasta1 arquivo2.pdf
- Listar arquivos em ordem reversa de modificação:
ls -tr
- Listar arquivos e diretórios:
- Exemplos:
mkdir
(make directory): Cria um novo diretório.- Exemplo: Criar um diretório chamado
novo_projeto
:mkdir novo_projeto
- Criar diretórios pais ausentes com a opção
-p
:mkdir -p diretorio/subdiretorio/final
- Exemplo: Criar um diretório chamado
rmdir
(remove directory): Remove um diretório, mas somente se estiver vazio.- Exemplo: Remover o diretório
vazio
:rmdir vazio
- Exemplo: Remover o diretório
rm
(remove): Remove arquivos e diretórios. Use com cuidado!- Exemplos:
- Remover um arquivo:
rm arquivo.txt
- Remover um diretório e seu conteúdo recursivamente (use com muita cautela!):
rm -r diretorio_com_arquivos
- Remover vários arquivos:
rm arquivo1.txt arquivo2.pdf
- Remover arquivos com confirmação antes de cada remoção:
rm -i *.txt
- Remover um arquivo:
- Exemplos:
cp
(copy): Copia arquivos e diretórios.- Exemplos:
- Copiar um arquivo para o mesmo diretório com um novo nome:
cp arquivo_origem.txt arquivo_copia.txt
- Copiar um arquivo para outro diretório:
cp arquivo.txt /home/usuario/backup/
- Copiar um diretório e seu conteúdo recursivamente:
cp -r pasta_origem pasta_destino
- Copiar um arquivo para o mesmo diretório com um novo nome:
- Exemplos:
mv
(move): Move (ou renomeia) arquivos e diretórios.- Exemplos:
- Renomear um arquivo:
mv arquivo_velho.txt arquivo_novo.txt
- Mover um arquivo para outro diretório:
mv arquivo.txt /home/usuario/documentos/
- Mover um diretório para outro local:
mv pasta_velha pasta_nova
- Renomear um arquivo:
- Exemplos:
touch
: Cria um arquivo vazio ou atualiza o timestamp de um arquivo existente.- Exemplo: Criar um arquivo chamado
novo_arquivo.txt
:touch novo_arquivo.txt
- Exemplo: Criar um arquivo chamado
Visualização de Arquivos:
cat
(concatenate): Exibe o conteúdo de um ou mais arquivos na saída padrão.- Exemplo: Exibir o conteúdo de
arquivo.txt
:cat arquivo.txt Este é o conteúdo do arquivo.
- Exemplo: Exibir o conteúdo de
less
: Exibe o conteúdo de um arquivo página por página, permitindo navegação.- Exemplo: Visualizar um arquivo longo:
less arquivo_longo.txt
(Use as teclasSpace
para avançar,b
para retroceder,q
para sair)
- Exemplo: Visualizar um arquivo longo:
head
: Exibe as primeiras linhas de um arquivo (por padrão, as 10 primeiras).- Exemplo: Exibir as 5 primeiras linhas de um arquivo:
head -n 5 arquivo.txt
- Exemplo: Exibir as 5 primeiras linhas de um arquivo:
tail
: Exibe as últimas linhas de um arquivo (por padrão, as 10 últimas). É útil para acompanhar logs em tempo real com a opção-f
.- Exemplos:
- Exibir as últimas 3 linhas de um arquivo:
tail -n 3 arquivo.log
- Acompanhar as novas linhas adicionadas a um arquivo de log:
tail -f arquivo.log
- Exibir as últimas 3 linhas de um arquivo:
- Exemplos:
Busca e Filtragem:
grep
(global regular expression print): Busca por um padrão de texto em um ou mais arquivos.- Exemplos:
- Buscar a palavra “erro” no arquivo
log.txt
:grep "erro" log.txt
- Buscar a palavra “usuario” em todos os arquivos
.txt
no diretório atual:grep "usuario" *.txt
- Buscar ignorando a diferença entre maiúsculas e minúsculas:
grep -i "palavra" arquivo.txt
- Exibir o número da linha onde o padrão foi encontrado:
grep -n "funcao" codigo.py
- Buscar a palavra “erro” no arquivo
- Exemplos:
find
: Busca por arquivos e diretórios com base em diversos critérios (nome, tipo, tamanho, data, etc.).- Exemplos:
- Buscar por arquivos com o nome
documento.pdf
no diretório atual e seus subdiretórios: Bashfind . -name "documento.pdf"
- Buscar por todos os diretórios no sistema:
find / -type d
- Buscar por arquivos com mais de 1MB:
find / -type f -size +1M
- Buscar por arquivos modificados nos últimos 7 dias e executar o comando
ls -l
para cada um:find . -mtime -7 -exec ls -l {} \;
- Buscar por arquivos com o nome
- Exemplos:
which
: Localiza o caminho completo de um executável.- Exemplo: Encontrar o caminho do comando
python
:which python /usr/bin/python3
- Exemplo: Encontrar o caminho do comando
Permissões:
chmod
(change mode): Modifica as permissões de arquivos e diretórios. As permissões são representadas numericamente (ex: 755) ou simbolicamente (ex:u+x
,g-w
).- Exemplos:
- Dar permissão de execução ao proprietário de um arquivo (
u+x
):chmod u+x script.sh
- Remover permissão de escrita para o grupo de um diretório (
g-w
):chmod g-w pasta
- Definir permissões completas para o proprietário, leitura e execução para o grupo e outros (755):
chmod 755 arquivo.py
- Dar permissão de execução ao proprietário de um arquivo (
- Exemplos:
chown
(change owner): Modifica o proprietário e/ou o grupo de um arquivo ou diretório (requer privilégios de superusuário).- Exemplo: Mudar o proprietário de
arquivo.txt
para o usuárionovo_usuario
:sudo chown novo_usuario arquivo.txt
- Mudar o proprietário e o grupo:
sudo chown novo_usuario:novo_grupo arquivo.txt
- Exemplo: Mudar o proprietário de
Processos:
ps
(process status): Exibe informações sobre os processos em execução.- Exemplos:
- Listar os processos do usuário atual:
ps PID TTY TIME CMD 1234 pts/0 00:00:01 bash 5678 pts/0 00:00:00 ps
- Listar todos os processos com mais detalhes (usuário, PID, CPU, memória, etc.):
ps aux
- Listar processos de um usuário específico:
ps -u nome_do_usuario
- Listar os processos do usuário atual:
- Exemplos:
top
ouhtop
: Exibe uma visão dinâmica e em tempo real dos processos em execução, uso de CPU, memória, etc. (htop
é uma versão mais interativa e visualmente agradável, pode precisar ser instalada).- Exemplo: Executar o monitor de processos:
top
ouhtop
(Useq
para sair)
- Exemplo: Executar o monitor de processos:
kill
: Envia sinais para processos, geralmente para terminá-los. O sinal padrão éSIGTERM
(15), que pede ao processo para terminar graciosamente.SIGKILL
(9) força o término imediato.- Exemplos:
- Enviar o sinal padrão (SIGTERM) para o processo com PID 1234:
kill 1234
- Forçar o término do processo com PID 5678:
kill -9 5678
- Enviar o sinal HUP (para recarregar configuração) para um processo:
kill -HUP pid_do_processo
- Enviar o sinal padrão (SIGTERM) para o processo com PID 1234:
- Exemplos:
killall
: Termina processos pelo nome.- Exemplo: Terminar todos os processos com o nome
firefox
:killall firefox
- Exemplo: Terminar todos os processos com o nome
bg
(background): Envia um processo interrompido para rodar em segundo plano.fg
(foreground): Traz um processo em segundo plano de volta para o primeiro plano.jobs
: Lista os trabalhos (processos) que estão rodando em segundo plano ou que foram interrompidos.
Rede:
ip addr
ouifconfig
: Exibe informações sobre as interfaces de rede. (ip addr
é mais moderno e recomendado).- Exemplo:
ip addr
- Exemplo:
ping
: Envia pacotes ICMP para um host para testar a conectividade.- Exemplo: Testar a conectividade com o Google:
ping google.com
(UseCtrl+C
para interromper)
- Exemplo: Testar a conectividade com o Google:
netstat
ouss
: Exibe estatísticas de rede, conexões, portas em escuta, tabelas de roteamento, etc. (ss
é mais moderno e recomendado).- Exemplo: Listar todas as conexões TCP em escuta:
ss -lt
- Exemplo: Listar todas as conexões TCP em escuta:
ssh
(secure shell): Abre uma conexão segura com um servidor remoto.- Exemplo: Conectar ao servidor
usuario@servidor.com
:ssh usuario@servidor.com
- Exemplo: Conectar ao servidor
scp
(secure copy): Copia arquivos de forma segura entre sistemas.- Exemplos:
- Copiar um arquivo local para um servidor remoto:
scp arquivo.txt usuario@servidor.com:/home/usuario/
- Copiar um arquivo de um servidor remoto para o sistema local:
scp usuario@servidor.com:/home/usuario/arquivo_remoto.txt .
- Copiar um arquivo local para um servidor remoto:
- Exemplos:
Outros Comandos Úteis:
history
: Exibe o histórico dos comandos digitados no terminal.- Exemplo:
history 1 pwd 2 ls -l 3 cd Downloads
- Executar um comando do histórico usando o número:
!2
executarials -l
.
- Exemplo:
date
: Exibe ou configura a data e hora do sistema.- Exemplo: Exibir a data e hora atuais:
date Sun May 18 10:45:00 -03 2025
- Exemplo: Exibir a data e hora atuais:
uname
: Exibe informações sobre o sistema.- Exemplos:
- Exibir o nome do kernel:
uname -s Linux
- Exibir todas as informações do sistema:
uname -a Linux meu_host 5.15.0-101-generic #112-Ubuntu SMP Thu Feb 23 16:34:52 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
- Exibir o nome do kernel:
- Exemplos:
df
(disk free): Exibe informações sobre o espaço em disco utilizado e disponível.- Exemplo:
df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 98G 25G 69G 27% /
- Exemplo:
du
(disk usage): Exibe o uso de espaço em disco de arquivos e diretórios.- Exemplos:
- Exibir o tamanho do diretório atual:
du -h . 12K .
- Exibir o tamanho de um diretório específico:
du -sh pasta 20M pasta
- Exibir o tamanho do diretório atual:
- Exemplos:
man
(manual): Exibe a página de manual de um comando. Essencial para aprender mais sobre qualquer comando.- Exemplo: Ver a página de manual do comando
ls
:man ls
(UseSpace
para avançar,b
para retroceder,/
para buscar,q
para sair)
- Exemplo: Ver a página de manual do comando
sudo
(superuser do): Permite executar comandos com privilégios de superusuário (root). Requer que o usuário esteja configurado no arquivosudoers
.- Exemplo: Instalar um pacote usando o gerenciador de pacotes
apt
:sudo apt update
- Exemplo: Instalar um pacote usando o gerenciador de pacotes
apt
ouyum
oudnf
: Gerenciadores de pacotes usados para instalar, remover e atualizar software (a versão específica depende da distribuição Linux).- Exemplos (para distribuições Debian/Ubuntu com
apt
):- Atualizar a lista de pacotes disponíveis:
sudo apt update
- Instalar um pacote:
sudo apt install nome_do_pacote
- Remover um pacote:
sudo apt remove nome_do_pacote
- Remover um pacote e suas configurações:
sudo apt purge nome_do_pacote
- Atualizar a lista de pacotes disponíveis:
- Exemplos (para distribuições Debian/Ubuntu com
- Redirecionamento (
>
,>>
,<
) :>
: Redireciona a saída de um comando para um arquivo, sobrescrevendo o conteúdo existente.ls -l > lista_de_arquivos.txt
>>
: Redireciona a saída de um comando para um arquivo, adicionando ao final do conteúdo existente