- Aprenda a navegar pelo sistema de arquivos com os comandos ls, cd e pwd e a gerenciar pastas com os comandos mkdir, rm e cp.
- Domine a visualização e a busca em arquivos de texto usando cat, less, grep, sed, awk e find.
- Controle permissões, processos e rede com chmod, chown, ps, top, htop, ping, ip e ss em ambientes de servidor.
- Instale e atualize softwares com o apt, use tar/zip, wget e scp, e automatize tarefas combinando comandos e redirecionamentos.

Se você trabalha com servidores, desenvolvimento web ou simplesmente quer aproveitar ao máximo seu PC , mais cedo ou mais tarde você vai acabar no terminal Linux. E lá, ou você conhece os comandos básicos, ou fica olhando para o cursor piscando, sem saber o que fazer. A boa notícia é que você não precisa memorizar centenas de comandos: dominar um conjunto sólido de comandos vai cobrir 90% das suas tarefas diárias.
Neste guia, você encontrará uma compilação unificada e muito completa de comandos básicos do Linux , combinando o melhor de diversos guias de referência: gerenciamento de arquivos, processos, rede, pacotes, permissões, automação… Tudo explicado em espanhol (Espanha), com exemplos reais de administração de servidores, hospedagem e trabalho local, e organizado de forma que você possa usá-lo como um guia de consulta rápida quando precisar.

O que são comandos Linux e por que eles são tão importantes?
Um comando Linux é um programa ou utilitário que é executado a partir da linha de comando . Em vez de clicar em botões, você digita o nome do comando, opcionalmente algumas opções (ou parâmetros) e um ou mais argumentos , como caminhos de arquivos, padrões ou nomes de serviços.
A ideia é simples: o terminal é uma interface de texto muito eficiente . A execução com um clique é ótima, mas encadear comandos, automatizar backups com o cron, revisar logs enormes com filtros ou gerenciar um servidor remoto via SSH é infinitamente mais conveniente digitando alguns comandos do que se debatendo com menus gráficos.
Em praticamente qualquer distribuição moderna (Ubuntu, Debian, CentOS, Fedora, Arch, etc.), você abrirá um terminal com Ctrl+Alt+T ou procurando por "Terminal" no menu de aplicativos. Em um servidor, normalmente você acessará o terminal via SSH a partir da sua máquina local.
A primeira coisa que você precisa dominar é como navegar pelo sistema de arquivos : saber onde você está, o que há em cada local e como alternar rapidamente entre pastas.
ls: lista arquivos e diretórios
O comando `ls` exibe o conteúdo do diretório atual (ou do caminho especificado). É um dos comandos que você usará com mais frequência.
ls– Lista os arquivos e pastas visíveis no diretório atual.ls -l– Exibe detalhes: permissões, proprietário, tamanho, data.ls -a– Inclui arquivos ocultos (aqueles que começam com um ponto).ls -lh– Assim como-lmas com tamanhos legíveis (K, M, G).ls -lah– Combina tamanhos longos, ocultos e legíveis.ls -R– Listagem recursiva de subdiretórios.ls -t– Ordenar por data de modificação.ls -S– Ordenar por tamanho.
Em servidores web, é comum fazer algo como ls -lah /var/www/html Para visualizar todos os arquivos do projeto, incluindo arquivos de configuração ocultos como .htaccess ou a pasta .git.
senha: saiba em qual pasta você está.
Quando você fica mudando de rota várias vezes por um tempo, é muito fácil se perder. Com pwd (imprimir diretório de trabalho) você obtém o caminho completo do diretório atual, por exemplo:
/home/usuario/proyectos/mi-sitio
É especialmente útil em scripts , quando você precisa saber onde está para trabalhar com caminhos relativos com segurança.
cd: mudar de diretório
Para navegar pelo sistema de arquivos, você usa cd (mudar diretório). Algumas variações essenciais:
cd /ruta/completa– Está seguindo um caminho totalmente descontrolado.cd carpeta– Insira uma pasta relativa ao diretório atual.cd ~– Ir para diretório pessoal do usuário.cd -– Retornar ao diretório anterior (muito útil, parece bobagem até você usar).cd ..– Subir um nível na hierarquia.cd ../..– Suba dois níveis e assim por diante.
Se você trabalha com hospedagem Linux, vai se cansar de usar... cd /var/www/html ou caminhos semelhantes para acessar o diretório raiz do seu site.
Comandos básicos para arquivos e diretórios
Depois de dominar a navegação no sistema, é hora de aprender como criar, copiar, excluir e visualizar arquivos e pastas . Isso é essencial para tarefas diárias tanto em PCs quanto em VPSs.
mkdir e rmdir: criando e excluindo diretórios vazios
Com mkdir Você cria novas pastas. Ele suporta múltiplos caminhos simultaneamente e possui opções muito práticas:
mkdir nuevo_directorio– Crie uma pasta simples.mkdir dir1 dir2– Crie vários de uma só vez.mkdir -p padre/hijo/nieto– Crie uma estrutura aninhada completa, sem reclamar se parte dela já existir.mkdir -m 755 carpeta_web– Crie a pasta com permissões específicas.
Um padrão típico ao configurar um projeto é algo como isto: mkdir -p /var/www/mi-sitio/{public_html,logs,backups} Para que tudo fique organizado desde o primeiro minuto.
Para excluir diretórios vazios, existe rmdir:
rmdir carpeta_vacia– Exclua uma pasta desde que ela esteja vazia.rmdir -p dir1/dir2/dir3– Remova toda a cadeia se todos os níveis estiverem vazios.
Se o diretório contiver conteúdo, você precisará usar rm -ro que veremos em breve.
toque: crie arquivos vazios ou atualize datas
Comando touch É usado principalmente para criar arquivos vazios ou atualize a data de modificação sem alterar o conteúdo:
touch archivo.txt– Crie o arquivo se ele não existir.touch archivo1 archivo2– Crie vários de uma só vez.touch -t 202501010000 archivo.txt– Forçar um carimbo de data/hora específico.
É muito conveniente para gerar arquivos de configuração ou espaços reservados tipo touch .env o touch index.html.
rm: apague arquivos (e diretórios) com cuidado.
Com rm Você pode excluir arquivos e, com as opções corretas, árvores de diretórios. Não há lixeira.Se você cometer um erro, recuperar o que perdeu pode ser complicado ou impossível.
rm archivo.txt– Apagar um arquivo.rm archivo1 archivo2– Apague vários.rm -i archivo.txt– Peça confirmação, ideal enquanto você está aprendendo.rm -r carpeta– Exclui recursivamente uma pasta e todo o seu conteúdo.rm -rf carpeta– Forçar exclusão recursiva sem perguntar; Use somente quando tiver absoluta certeza do que está fazendo..rm *.tmp– Exclua todos os arquivos com essa extensão no diretório atual.
Combinações como rm -rf / ou similares são soluções rápidas para tornar um sistema inutilizável, então Tenha cuidado ao misturar RM e RF com rotas gerais ou curinga..
cp e mv: copiar, mover e renomear
Para duplicar arquivos, você usa cp E para mover ou renomear, você usa mvEntre vocês dois, conseguem lidar com qualquer reorganização de arquivos.
Alguns usos típicos de cp :
cp origen.txt destino.txt– Copiar um arquivo.cp archivo.txt /otra/ruta/– Copiar para outro diretório.cp -i archivo.txt copia.txt– Pergunte antes de bater.cp -p archivo.txt backup.txt– Guarde as licenças, o nome do proprietário e a data.cp -r carpeta_origen carpeta_destino– Cópia recursiva de um diretório.
Para cópias integrais de sites, algo assim é muito comum. cp -rp /var/www/html /backup/html-$(date +%Y%m%d), o que deixa um backup desatualizado mantendo as permissões e a propriedade.
Com o comando mv você pode mover e renomear:
mv archivo.txt nuevo_nombre.txt– Renomear.mv archivo.txt /otra/ruta/– Mova-o.mv directorio nuevo_nombre– Renomear uma pasta.mv *.log /var/log/backups/– Realocar todos os troncos.
Um padrão comumente usado na implantação de projetos é mv sitio-nuevo/* /var/www/html/ Substituir a versão antiga do site pela nova.
gato, menos, cabeça e cauda: ver conteúdo do arquivo
Para inspecionar o conteúdo de um arquivo de texto, você tem diversas ferramentas, cada uma com suas próprias vantagens.
cat archivo.txtExibe o arquivo inteiro no terminal. Ideal para arquivos pequenos ou concatenar vários:cat archivo1 archivo2.less archivo.logserve para arquivos grandesporque permite navegar página por página, pesquisar (/texto), vá e volte e saia comq.head archivoPor padrão, exibe as 10 primeiras linhas; comhead -n 50Você escolhe a quantidade.tail archivoMostra as últimas linhas; comtail -f archivo.logVocê pode ver como o registro é atualizado em tempo real, o que é muito útil enquanto você está reproduzindo um erro no site.
Na depuração de servidores web, você verá constantemente combinações como tail -f /var/log/nginx/error.log o less /var/log/apache2/access.log Para entender o que está acontecendo.
Comandos para pesquisar arquivos e texto
À medida que o sistema cresce e se enche de projetos, registros e configurações, saber como localizar rapidamente arquivos e sequências de texto torna-se fundamental.
Encontrar e localizar: procure arquivos por nome, tamanho ou data.
Comando find Ele examina o sistema de arquivos e permite pesquisar por nome, tipo, tamanho, data de modificação, etc., e até mesmo agir de acordo com os resultados.:
find /ruta -name "nombre_archivo"– Pesquisar pelo nome exato.find /var/www -name "*.php"– Localize todos os arquivos PHP nessa área.find /home -type f -size +100M– Arquivos maiores que 100 MB.find /var/log -mtime -7– Arquivos modificados nos últimos 7 dias.find . -name "*.tmp" -delete– Procure e exclua arquivos temporários.find /var/www -type f -exec chmod 644 {} \;– Ajuste as permissões para todos os arquivos.
Por sua parte, o locate puxar um banco de dados indexadoPortanto, é muito mais rápido para buscas simples por nome:
locate nombre_archivolocate -i "*.php"– Ignora maiúsculas/minúsculas.sudo updatedb– Atualizar o índice (importante em servidores).
O problema com o comando `locate` é que ele não detecta arquivos recém-criados até que o banco de dados seja atualizado, enquanto o comando `find` sempre verifica o sistema em funcionamento.
grep, sed e awk: pesquisar, filtrar e transformar texto
Para trabalhar com logs, configurações ou qualquer texto simples, os melhores são grep, sed y awk.
- grep Procure por linhas que correspondam a um padrão:
grep "ERROR" /var/log/apache2/error.loggrep -i "texto" archivo.txt– Ignore as letras maiúsculas.grep -r "cadena" /directorio– Busca recursiva.grep -n "texto" archivo.txt– Mostrar número da linha. - sede permitir substituir ou excluir texto Sem abrir o arquivo em um editor:
sed 's/viejo/nuevo/g' archivo.txt– Substituir todas as ocorrências.sed -i 's/old_database/new_database/g' wp-config.php– Editar no local (tenha muito cuidado ao fazer isso). - awk é perfeito para colunas de processo (por exemplo, registros):
awk '{print $1}' access.log– Extraia a primeira coluna (normalmente IP).awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10– Seus 10 IPs mais ativos.
Embora possam parecer intimidantes à primeira vista, depois de se familiarizar com essas ferramentas, você poderá realizar análises em segundos que seriam um pesadelo em um editor.
Gestão de permissões, proprietários e segurança básica
O Linux é baseado em um sistema de permissões muito claro que permite controlar quem pode ler, escrever ou executar o quê . Isso é crucial em ambientes multiusuário e, principalmente, em servidores web.
ls -l: veja as permissões e os proprietários
Já mencionamos isso, mas vale a pena reforçar: ls -l Além de nomes de arquivos, ele te ensina também... permissões, proprietário, grupo e tamanhoUm exemplo típico:
-rw-r--r-- 1 usuario grupo 12345 Jan 1 12:34 archivo.txt
drwxr-xr-x 2 usuario grupo 4096 Jan 1 12:34 carpeta/
A primeira coluna diz o seguinte: tipo (- Arquivo, d diretório) e, em seguida, três conjuntos de permissões: usuário, grupo e outros (r leitura, w escrita, x execução).
chmod: alterar permissões
Com chmod Você ajusta as permissões de um arquivo ou pasta. Você pode fazer isso com notação numérica o simbólico:
chmod 755 script.sh– rwxr-xr-x (proprietário de tudo, o restante somente leitura/execução).chmod 644 index.html– rw-r–r–, muito comum para arquivos da web.chmod u+x backup.sh– Adicionar a opção de execução ao usuário.chmod g-w archivo.txt– Remover a escrita do grupo.chmod -R 755 directorio– Alterar permissões recursivamente.
Os valores numéricos são somados: 4 leitura, 2 escrita, 1 execução . É por isso que 7 = 4+2+1 (rwx), 6 = 4+2 (rw-), 5 = 4+1 (rx), etc.
chown e chgrp: proprietário e grupo
Além das permissões, cada arquivo possui um proprietário e um grupo associado . Isso permite garantir, por exemplo, que o servidor web seja o proprietário dos arquivos que precisa disponibilizar.
chown usuario archivo.txt– Mudança de proprietário.chown usuario:grupo archivo.txt– Alterar proprietário e grupo.chown -R www-data:www-data /var/www/html– Típico em servidores Apache/Nginx em Debian/Ubuntu.chgrp grupo archivo.txt– Alterar apenas o grupo.
Quando você envia arquivos via FTP com um usuário e o servidor web (outro usuário) não consegue lê-los ou gravá-los, quase sempre é possível corrigir o problema com um comando chown ou chmod bem executado.
sudo: executar como administrador sem ser root
Comando sudo O comando (superuser do) é a maneira recomendada de executar tarefas administrativas sem fazer login diretamente como root, o que é perigoso.
Basta preceder o comando que você deseja executar com privilégios elevados com `sudo` :
sudo apt update– Atualizar a lista de pacotes (Debian/Ubuntu).sudo systemctl restart nginx– Reinicie o Nginx.sudo useradd nuevo_usuario– Criar um usuário.
Será solicitada sua senha e, se sua conta de usuário estiver no grupo correto, você executará o comando com privilégios de root. Isso evita que você fique conectado como root o tempo todo, o que poderia excluir ou modificar arquivos críticos acidentalmente.
Gestão de processos e desempenho do sistema
Quando algo está lento ou se comportando de forma estranha, você precisa verificar quais processos estão em execução e como estão utilizando os recursos . Esses comandos são seus melhores aliados para isso.
ps, top e htop: veja o que está sendo executado
Comando ps Fotografe os processos que estão ocorrendo naquele momento. ps aux Você vê todos os processos do sistema, incluindo a atividade do usuário, o uso da CPU e da RAM, etc. Você pode filtrar com grep:
ps aux | grep nginx– Exibir somente os processos do Nginx.ps -u usuario– Processos de um usuário específico.
Se você quer alguma coisa dinâmico, em tempo real, você usa top ou sua versão enriquecida com vitaminas. htop:
top– Lista os processos ordenados por uso da CPU e é atualizado.- Dentro do topo, você pode classificar por memória (
M), matar processos (k, Etc.) htop– O mesmo, mas com cores, barras de CPU, suporte para mouse, árvore de processos… em muitos sistemas, precisa ser instalado primeiro (sudo apt install htopou similar).
Em um servidor lento, abrir o htop geralmente é o primeiro passo para ver o que está consumindo a CPU ou a RAM.
kill e killall: encerram processos não autorizados.
Se um processo travar ou for iniciado e não responder, você pode interrompê-lo com kill o killall.
kill 1234– Enviar o sinal TERM (15) ao processo com PID 1234, pedindo-lhe que termine “silenciosamente”.kill -9 1234– Sinal KILL (9), encerra o processo imediatamente; use-o como último recurso.killall nombre_proceso– Encerrar todos os processos que tenham esse nome, por exemplokillall php-fpm.
A maneira usual de localizar o PID é com ps o top e então passe-o para um kill Com cuidado. Se não obedecer, então puxe o -9.
df e du: controlando o espaço em disco
Quando um servidor fica sem espaço, Tudo começa a dar errado.Bancos de dados que não podem ser gravados, logs que não crescem, serviços que travam constantemente. Para monitorar isso, você usa df y du.
df -h– Mostra o espaço usado e o espaço livre em cada sistema de arquivos montado, em um formato legível.df -h /var– Informações apenas dessa partição.du -sh /var/www/*– Tamanho de cada projeto web dentro desse percurso.du -h --max-depth=1 /– Quais diretórios raiz ocupam mais espaço?
Um comando muito prático para localizar. as pastas mais pesadas é algo como du -h --max-depth=1 /var | sort -hr | head -5, que lista os cinco maiores, ordenados do maior para o menor.
Comandos essenciais de rede
Ao trabalhar com servidores, domínios e tráfego web, você precisa saber se há conectividade, qual é o seu endereço IP, quais portas estão abertas e como o seu site responde.
ip, ifconfig, ping e rota
Sistemas modernos, o comando estelar é ip, Especialmente ip a (o ip addr), que exibe todas as interfaces de rede, seus IPs, status, etc. Onde anteriormente era usado ifconfigHoje é recomendado ip, Embora ifconfig Ainda existe em muitos sistemas através de pacotes. net-tools.
ip a– Todas as interfaces e IPs.ip addr show dev eth0– Detalhes de uma interface específica.ping google.com– Verifique se você resolveu o problema e chegou ao Google, mostrando os horários.ping -c 4 8.8.8.8– Envie apenas 4 pacotes para esse endereço IP.route -noip route show– Tabela de rotas, para ver de onde vem o tráfego.
Se um servidor "não estiver visível", os primeiros passos são sempre Faça ping no domínio, faça ping no endereço IP, verifique o endereço IP do servidor e seu gateway. com ip route.
netstat/ss e curl: portas abertas e resposta HTTP
Para ver o quê Quais portas estão abertas e quais processos estão em execução? Neles, você tem netstat (clássico) e ss (moderno, mais rápido):
ss -tuln– Portas TCP/UDP em modo de escuta sem resolução de nomes.ss -tlnp | grep :80– Há algum ruído sendo ouvido no porto 80?netstat -tuln– Equivalente em sistemas que o possuem.
Para testes rápidos como um site responde a partir do próprio servidor, nada como curl:
curl -I https://tu-dominio.com– Somente cabeçalhos HTTP (código de status, servidor, etc.).curl https://tu-dominio.com– Baixe o HTML bruto.
Combinando ping, ip, ss e curl, você pode diagnosticar praticamente qualquer problema básico de conectividade ou interrupção de serviço.
Gerenciamento de pacotes: instalação, atualização e limpeza de software.
Cada família de distribuição Linux possui seu próprio gerenciador de pacotes . Dominá-lo permite instalar e atualizar softwares sem ter que lidar com binários manualmente.
apt e apt-get no Debian/Ubuntu
Em Debian, Ubuntu e derivados, o padrão é apt (ou sua versão clássica) apt-get):
sudo apt update– Atualizar a lista de pacotes disponíveis.sudo apt upgrade– Atualize todos os pacotes instalados para a versão mais recente.sudo apt install nombre_paquete– Instalar um ou mais pacotes.sudo apt remove nombre_paquete– Desinstale o pacote, mas mantenha sua configuração.sudo apt purge nombre_paquete– Apaga tudo, inclusive as configurações.sudo apt autoremove– Remover dependências que não são mais utilizadas.
Você também tem apt-cache ou diretamente apt show prevenir Ver informações do pacote, suas dependências e versões:
apt show nginxapt search php
yum/dnf e pacman: outras famílias
Em sistemas baseados em Red Hat, como CentOS ou RHEL, você terá yum ou seu sucessor dnf:
sudo yum install httpd– Instale o Apache.sudo dnf update– Atualize tudo para as versões mais recentes.
No Arch Linux e derivados, o gerenciador é pacman:
sudo pacman -S gimp– Instale o GIMP.sudo pacman -Syu– Sincronizar e atualizar o sistema.
Embora a sintaxe mude, a filosofia é a mesma : atualizar índices, instalar pacotes, removê-los e limpar as dependências restantes.
Comprimir, descomprimir e transferir arquivos
O gerenciamento de arquivos grandes ou conjuntos de arquivos é bastante simplificado com arquivos compactados e com utilitários de download e cópia remotos.
alcatrão, zíper/abrir zíper: embalagem e compressão
Comando tar É o padrão no Linux para criar e extrair arquivos. tarballs (arquivos .tar, .tar.gz, .tar.bz2, etc.):
tar -czvf backup.tar.gz carpeta/– Crie um arquivo .tar.gz compactado com gzip.tar -xzvf backup.tar.gz– Extraia o conteúdo.tar -tzvf backup.tar.gz– Liste o conteúdo sem remover nada.
As opções mais comuns são c (criar), x (extrair), t (listar), v (verbose), f (arquivo), z (gzip), j (bzip2), J (xz).
Trabalhar com Arquivos ZIP (muito comum em ambientes Windows) você tem zip y unzip:
zip archivo.zip fichero1 fichero2unzip archivo.zip
wget, curl e scp: baixar e copiar entre máquinas
Além de navegar com curl, você pode usar wget Para baixar arquivos via HTTP ou FTP:
wget https://wordpress.org/latest.zip– Baixe a versão mais recente do WordPress.wget -c URL– Retomar um download interrompido.
Pára Copie arquivos com segurança entre seu computador e um servidor. via SSH você tem scp:
scp archivo.txt usuario@servidor:/ruta/destino/– Carregar um arquivo.scp -r carpeta usuario@servidor:/ruta/– Copia uma pasta recursivamente.scp usuario@servidor:/ruta/archivo.txt ./– Baixar do servidor.
Por trás de tudo isso está o SSH, que também é o que você usa para conectar ao terminal remoto (comando ssh usuario@servidor).
Automação, história e pequenos truques de produtividade
Depois de dominar o básico, o próximo passo é começar a combinar comandos e automatizar tarefas repetitivas . É aqui que o Linux realmente se destaca.
História, pseudônimos e qual: atalhos e referências rápidas
Com history Você pode visualizar os últimos comandos executados e reutilizá-los sem precisar escrevê-los novamente:
history– Lista com número da linha.!255– Execute o comando número 255 novamente.
Pára Criar atalhos temporários é alias:
alias ll="ls -lah"– Daquillequivalente als -lah.unalias ll– Remova o alias.
E se você quiser saber onde um programa está instalado E qual executável está sendo chamado, você está usando? which:
which php– Mostre o caminho para o PHP, por exemplo./usr/bin/php.which -a python– Todas as correspondências no CAMINHO.
Redirecionamentos e pipes: combinando comandos como um profissional
O verdadeiro poder da linha de comando vem do poder corrente pequenas ferramentasIsso é feito com dutos (|) E redireciona (>, >>, 2>, Etc.)
comando1 | comando2– A saída decomando1entra como uma entrada emcomando2.
Exemplo:ls -la | grep ".php"– Listar apenas os arquivos que contêm “.php”.ls > listado.txt– Salvar o resultado em um arquivo (sobrescrever).echo "línea" >> archivo.txt– Adicionar ao final de um arquivo.comando > todo.log 2>&1– Redireciona a saída normal e os erros para o mesmo arquivo.comando &> /dev/null– Enviar tudo para o “buraco negro”.
Com isso você pode fazer coisas incríveis, como contagem de erros 404 em um registro com um comando como grep " 404 " access.log | wc -lum limpar arquivos antigos com find y -delete.
Se você chegou até aqui, já possui um mapa bastante completo dos comandos básicos (e não tão básicos) do Linux usados diariamente em administração de sistemas, desenvolvimento e hospedagem: desde navegar por diretórios, gerenciar arquivos, permissões e processos, até monitorar a rede, instalar pacotes e automatizar tarefas combinando comandos com pipes e redirecionamentos; de agora em diante, toda vez que você abrir um terminal, ele não será mais uma tela preta intimidante, mas uma ferramenta que permite trabalhar mais rápido e com mais controle do que qualquer interface gráfica.