{"id":106,"date":"2017-04-04T10:00:00","date_gmt":"2019-11-04T11:00:28","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2019\/11\/500-comandos-do-linux\/"},"modified":"2026-09-08T07:56:01","modified_gmt":"2026-09-08T10:56:01","slug":"500-comandos-do-linux","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/en\/2017\/04\/500-comandos-do-linux\/","title":{"rendered":"Mais de 500 comandos do Linux"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro folheando um livro de comandos e apontando para uma linha, ao lado do terminal\" src=\"\/wp-content\/uploads\/2026\/09\/500-comandos-v2.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<p>Decorar comando n\u00e3o \u00e9 o objetivo \u2014 <strong>saber que ele existe<\/strong> \u00e9. Este guia \u00e9 a refer\u00eancia r\u00e1pida do terminal Linux organizada por tarefa: voc\u00ea bate o olho, acha a fam\u00edlia certa e vai fundo no <code data-no-translation=\"\">man<\/code>. No fim h\u00e1 o PDF com mais de 500 comandos, para baixar e consultar offline.<\/p>\n<h2>Antes de tudo: como descobrir o resto sozinho<\/h2>\n<p>Quatro comandos que substituem metade das buscas no Google:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">man tar              # o manual completo, a fonte da verdade\ntar --help           # o resumo, quando o man \u00e9 longo demais\napropos compress     # procura comando pela descri\u00e7\u00e3o, quando voc\u00ea n\u00e3o sabe o nome\ntype -a ls           # o que \u00e9 isso? alias, builtin, bin\u00e1rio? onde est\u00e1?<\/code><\/pre>\n<p>E o mais \u00fatil que n\u00e3o vem instalado: o <strong>tldr<\/strong>, que mostra exemplos pr\u00e1ticos em vez de sintaxe formal.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo apt install tldr    # ou: sudo dnf install tealdeer \/ sudo pacman -S tealdeer\ntldr tar<\/code><\/pre>\n<h2>Navegar e mexer em arquivos<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">pwd                        # onde estou\ncd \/var\/log                # ir para o diret\u00f3rio\ncd -                       # voltar ao diret\u00f3rio anterior\nls -lah                    # listar: longo, ocultos, tamanho leg\u00edvel\nls -lt                     # ordenar pelo mais recente\ntree -L 2                  # \u00e1rvore de diret\u00f3rios, 2 n\u00edveis\n\ncp origem destino          # copiar\ncp -a pasta\/ \/backup\/      # copiar preservando tudo (dono, data, links)\nmv antigo novo             # mover ou renomear\nrm -i arquivo              # remover perguntando antes\nrm -rf pasta\/              # remover recursivo e sem perguntar (cuidado)\nmkdir -p a\/b\/c             # criar a \u00e1rvore inteira\nln -s \/opt\/app\/bin\/app \/usr\/local\/bin\/app   # link simb\u00f3lico\n\ntouch arquivo              # criar vazio ou atualizar a data\nstat arquivo               # metadados: inode, permiss\u00e3o, tr\u00eas datas\nfile arquivo               # que tipo de arquivo \u00e9 este, de verdade\nreadlink -f link           # para onde o link aponta, resolvido\nbasename \/a\/b\/c.txt        # c.txt\ndirname  \/a\/b\/c.txt        # \/a\/b<\/code><\/pre>\n<h2>Ver e editar texto<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">cat arquivo                # despejar o conte\u00fado\nless arquivo               # paginar (q sai, \/ busca, G vai ao fim)\nhead -n 20 arquivo         # primeiras 20 linhas\ntail -n 50 arquivo         # \u00faltimas 50\ntail -f \/var\/log\/syslog    # acompanhar em tempo real\nwc -l arquivo              # contar linhas\n\nnano arquivo               # editor simples\nvim arquivo                # editor do sysadmin (:wq salva e sai)\n\ndiff -u antigo novo        # diferen\u00e7a entre dois arquivos\ncomm -3 a.txt b.txt        # o que est\u00e1 em um e n\u00e3o no outro (arquivos ordenados)\ntee arquivo                # escrever na tela E no arquivo ao mesmo tempo\nsudo tee \/etc\/x.conf       # o truque para escrever em arquivo de root com pipe<\/code><\/pre>\n<h2>Procurar<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">find \/var -name \"*.log\"                    # por nome\nfind . -type f -size +100M                 # arquivos maiores que 100 MB\nfind . -mtime -1                           # modificados nas \u00faltimas 24h\nfind . -name \"*.tmp\" -delete               # achar e apagar\nfind . -type f -print0 | xargs -0 grep -l \"senha\"   # nomes com espa\u00e7o, sem quebrar\n\ngrep -rn \"erro\" \/var\/log                   # recursivo, com n\u00famero de linha\ngrep -i \"warning\" arquivo                  # ignorando mai\u00fascula\ngrep -v \"^#\" \/etc\/ssh\/sshd_config          # tirar coment\u00e1rios\ngrep -c \"404\" access.log                   # contar ocorr\u00eancias\ngrep -A3 -B3 \"falhou\" log                  # com 3 linhas de contexto\n\nlocate nginx.conf                          # busca no \u00edndice (rode updatedb antes)\nwhich python3                              # onde est\u00e1 o bin\u00e1rio do PATH\nwhereis python3                            # bin\u00e1rio, fonte e manual<\/code><\/pre>\n<h2>Processar texto: o poder real do shell<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">cut -d: -f1 \/etc\/passwd                    # coluna 1, separador \":\"\nsort arquivo | uniq -c | sort -rn          # contar e ranquear ocorr\u00eancias\ntr 'a-z' 'A-Z' &lt; arquivo                   # trocar caractere\nsed 's\/antigo\/novo\/g' arquivo              # substituir (na sa\u00edda)\nsed -i.bak 's\/antigo\/novo\/g' arquivo       # substituir no arquivo, com backup\nawk '{print $1, $9}' access.log            # imprimir colunas\nawk '$9 == 404 {print $7}' access.log      # filtrar por coluna e imprimir outra\nawk '{soma+=$1} END {print soma}' nums     # somar uma coluna\npaste a.txt b.txt                          # colar arquivos lado a lado\ncolumn -t arquivo                          # alinhar em colunas\njq '.items[].name' dados.json              # o awk do JSON<\/code><\/pre>\n<p>O combo que resolve a maioria das an\u00e1lises de log: <code data-no-translation=\"\">grep<\/code> filtra, <code data-no-translation=\"\">awk<\/code> escolhe a coluna, <code data-no-translation=\"\">sort | uniq -c | sort -rn<\/code> ranqueia.<\/p>\n<h2>Permiss\u00f5es e propriedade<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">chmod 644 arquivo          # dono l\u00ea\/escreve, resto s\u00f3 l\u00ea\nchmod 755 script.sh        # execut\u00e1vel para todos\nchmod +x script.sh         # s\u00f3 ligar o bit de execu\u00e7\u00e3o\nchmod -R g+w pasta\/        # recursivo, d\u00e1 escrita ao grupo\n\nchown usuario:grupo arquivo\nchown -R www-data:www-data \/var\/www\n\numask 022                  # permiss\u00e3o padr\u00e3o dos arquivos novos\ngetfacl arquivo            # ACLs, quando chmod n\u00e3o basta\nsetfacl -m u:joao:rw arquivo\n\nsudo comando               # rodar como root\nsudo -u www-data comando   # rodar como outro usu\u00e1rio\nvisudo                     # editar o sudoers com valida\u00e7\u00e3o de sintaxe<\/code><\/pre>\n<h2>Compactar e arquivar<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">tar czf pacote.tar.gz pasta\/       # criar (c) gzip (z) arquivo (f)\ntar xzf pacote.tar.gz              # extrair\ntar tzf pacote.tar.gz              # listar sem extrair\ntar xzf pacote.tar.gz -C \/destino  # extrair em outro lugar\ntar cJf pacote.tar.xz pasta\/       # xz: comprime mais, demora mais\n\nzip -r pacote.zip pasta\/\nunzip pacote.zip\ngzip arquivo \/ gunzip arquivo.gz\nzcat log.gz | grep erro            # ler comprimido sem descompactar<\/code><\/pre>\n<p>O mnem\u00f4nico do <code data-no-translation=\"\">tar<\/code>: <em>c<\/em>riar, e<em>x<\/em>trair, lis<em>t<\/em>ar.<\/p>\n<h2>Processos<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">ps aux                     # todos os processos\nps aux | grep nginx        # filtrar\npgrep -a nginx             # PIDs e linha de comando\ntop                        # monitor interativo cl\u00e1ssico\nhtop                       # a vers\u00e3o civilizada (instale)\nbtop                       # a vers\u00e3o bonita (instale)\n\nkill 1234                  # pedir para terminar (SIGTERM)\nkill -9 1234               # matar sem chance de limpeza (\u00faltimo recurso)\npkill -f \"python script\"   # matar pelo padr\u00e3o da linha de comando\nkillall nginx\n\nnice -n 10 comando         # rodar com prioridade baixa\nrenice -n 5 -p 1234        # mudar prioridade de processo em execu\u00e7\u00e3o\n\nnohup comando &            # continua depois que voc\u00ea desloga\ncomando &                  # em segundo plano\njobs \/ fg \/ bg             # gerenciar os jobs do shell\nlsof -p 1234               # arquivos abertos pelo processo\nlsof -i :80                # quem est\u00e1 usando a porta 80<\/code><\/pre>\n<h2>Disco e sistemas de arquivos<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">df -h                      # espa\u00e7o livre por parti\u00e7\u00e3o\ndu -sh *                   # tamanho de cada item do diret\u00f3rio atual\ndu -sh * | sort -rh | head # os maiores primeiro\nncdu \/var                  # explorador de espa\u00e7o interativo (instale)\n\nlsblk -f                   # discos, parti\u00e7\u00f5es e sistemas de arquivos\nblkid                      # UUID e tipo de cada parti\u00e7\u00e3o\nmount \/dev\/sdb1 \/mnt       # montar\numount \/mnt                # desmontar\nfindmnt                    # o que est\u00e1 montado, em \u00e1rvore\n\nfdisk -l                   # particionamento (MBR\/GPT)\nmkfs.ext4 \/dev\/sdb1        # formatar\nfsck \/dev\/sdb1             # checar (s\u00f3 com a parti\u00e7\u00e3o desmontada)\nsmartctl -a \/dev\/sda       # sa\u00fade do disco (pacote smartmontools)<\/code><\/pre>\n<h2>Usu\u00e1rios e grupos<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">whoami \/ id \/ groups\nadduser joao               # criar usu\u00e1rio (interativo, Debian\/Ubuntu)\nusermod -aG sudo joao      # adicionar ao grupo \u2014 o -a \u00e9 obrigat\u00f3rio\npasswd joao                # trocar senha\ndeluser joao               # remover\nsu - joao                  # virar outro usu\u00e1rio\nlast                       # \u00faltimos logins\nw                          # quem est\u00e1 logado agora e fazendo o qu\u00ea<\/code><\/pre>\n<h2>Pacotes<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\"># Debian \/ Ubuntu\napt update &amp;&amp; apt upgrade\napt install pacote\napt remove pacote \/ apt purge pacote\napt search termo \/ apt show pacote\napt list --installed\ndpkg -l | grep nome        # o que est\u00e1 instalado\ndpkg -S \/usr\/bin\/ls        # de qual pacote veio este arquivo\n\n# Fedora \/ RHEL \/ Rocky\ndnf install pacote \/ dnf remove pacote\ndnf search termo \/ dnf info pacote\nrpm -qa | grep nome\nrpm -qf \/usr\/bin\/ls\n\n# Arch\npacman -Syu \/ pacman -S pacote \/ pacman -Rns pacote\npacman -Qs termo \/ pacman -Qo \/usr\/bin\/ls\n\n# universais\nsnap list \/ flatpak list<\/code><\/pre>\n<h2>Rede<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">ip a                       # endere\u00e7os das interfaces (substitui ifconfig)\nip r                       # tabela de rotas\nip link set eth0 up\n\nss -tulpn                  # portas em escuta e processos (substitui netstat)\nss -tn state established   # conex\u00f5es abertas\n\nping -c4 1.1.1.1\ntraceroute exemplo.com \/ mtr exemplo.com\ndig exemplo.com +short     # consulta DNS\ndig @1.1.1.1 exemplo.com MX\nhost exemplo.com\n\ncurl -I https:\/\/exemplo.com                    # s\u00f3 os cabe\u00e7alhos\ncurl -s -o \/dev\/null -w '%{http_code}n' URL   # s\u00f3 o c\u00f3digo HTTP\ncurl -fLO https:\/\/exemplo.com\/arquivo.tar.gz   # baixar mantendo o nome\nwget -c https:\/\/exemplo.com\/grande.iso         # baixar com retomada\n\nnmap -p 1-1000 servidor    # varredura de portas (s\u00f3 onde voc\u00ea tem autoriza\u00e7\u00e3o)\ntcpdump -i eth0 port 80    # capturar pacote\nnc -zv servidor 22         # a porta est\u00e1 aberta?<\/code><\/pre>\n<h2>SSH e transfer\u00eancia<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">ssh usuario@servidor\nssh -p 2222 usuario@servidor\nssh-keygen -t ed25519      # gerar par de chaves\nssh-copy-id usuario@servidor   # instalar a chave p\u00fablica l\u00e1\n\nscp arquivo usuario@servidor:\/destino\/\nscp -r pasta\/ usuario@servidor:\/destino\/\n\nrsync -avz --progress origem\/ usuario@servidor:\/destino\/\nrsync -avz --delete origem\/ \/backup\/    # espelhar (apaga o que sumiu na origem)\n\nssh -L 8080:localhost:80 usuario@servidor   # t\u00fanel local\nssh -D 1080 usuario@servidor                # proxy SOCKS<\/code><\/pre>\n<p>A barra final em <code data-no-translation=\"\">rsync<\/code> muda tudo: <code data-no-translation=\"\">origem\/<\/code> copia o conte\u00fado, <code data-no-translation=\"\">origem<\/code> copia a pasta.<\/p>\n<h2>systemd e servi\u00e7os<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">systemctl status nginx\nsystemctl start|stop|restart|reload nginx\nsystemctl enable --now nginx      # habilitar no boot e iniciar agora\nsystemctl disable nginx\nsystemctl list-units --type=service --state=running\nsystemctl daemon-reload           # depois de editar uma unit\nsystemctl cat nginx               # ver a unit inteira\nsystemctl edit nginx              # sobrescrever sem tocar no original\n\nsystemd-analyze blame             # o que est\u00e1 demorando no boot\njournalctl -u nginx -f            # log do servi\u00e7o, ao vivo\njournalctl -p err -b              # s\u00f3 erros, deste boot\njournalctl --since \"1 hour ago\"\njournalctl --disk-usage \/ journalctl --vacuum-time=7d<\/code><\/pre>\n<h2>Sistema e desempenho<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">uname -a                   # kernel e arquitetura\nhostnamectl                # hostname, SO, kernel, virtualiza\u00e7\u00e3o\nuptime                     # tempo ligado e carga\nfree -h                    # mem\u00f3ria\nvmstat 1                   # CPU, mem\u00f3ria, I\/O a cada segundo\niostat -x 1                # I\/O por disco (pacote sysstat)\nsar -u 1 5                 # hist\u00f3rico de CPU\nlscpu \/ lsmem \/ lspci \/ lsusb \/ lsmod\ndmesg -T | tail -50        # mensagens do kernel com data\nsensors                    # temperatura (pacote lm-sensors)<\/code><\/pre>\n<h2>Agendamento<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">crontab -e                 # editar o cron do usu\u00e1rio\ncrontab -l                 # listar\n# min hora dia m\u00eas diadasemana comando\n# 0 3 * * *  \/opt\/backup.sh      \u2192 todo dia \u00e0s 3h\n\nat 22:00                   # executar uma \u00fanica vez (Ctrl-D encerra)\nsystemd-run --on-active=30m \/opt\/script.sh   # timer descart\u00e1vel\nsystemctl list-timers                        # timers do systemd<\/code><\/pre>\n<h2>O shell em si<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">history | grep ssh         # o que eu digitei mesmo?\n!!                         # repetir o \u00faltimo comando\nsudo !!                    # repetir o \u00faltimo com sudo\n!$                         # \u00faltimo argumento do comando anterior\nCtrl-R                     # busca reversa no hist\u00f3rico\nCtrl-A \/ Ctrl-E            # in\u00edcio \/ fim da linha\nCtrl-L                     # limpar a tela\nCtrl-C \/ Ctrl-Z            # interromper \/ suspender\n\ncomando1 | comando2        # pipe: sa\u00edda de um vira entrada do outro\ncomando &gt; arquivo          # redirecionar sa\u00edda (sobrescreve)\ncomando &gt;&gt; arquivo         # acrescentar\ncomando 2&gt; erros.txt       # redirecionar s\u00f3 o erro\ncomando &amp;&gt; tudo.txt        # sa\u00edda e erro juntos\ncomando1 &amp;&amp; comando2       # s\u00f3 roda o segundo se o primeiro deu certo\ncomando1 || comando2       # s\u00f3 roda o segundo se o primeiro falhou\n\nalias ll='ls -lah'         # atalho (ponha no ~\/.bashrc para durar)\nexport VAR=valor\necho $PATH\nwatch -n2 'df -h'          # repetir um comando a cada 2 segundos\ntimeout 10 comando         # matar se passar de 10 segundos\nyes | comando              # responder \"sim\" para tudo\nscreen \/ tmux              # sess\u00e3o que sobrevive \u00e0 queda do SSH<\/code><\/pre>\n<h2>A gera\u00e7\u00e3o nova de ferramentas<\/h2>\n<p>Substitutos modernos que valem a instala\u00e7\u00e3o \u2014 mais r\u00e1pidos, com sa\u00edda mais leg\u00edvel e padr\u00f5es melhores:<\/p>\n<table>\n<thead>\n<tr>\n<th>Cl\u00e1ssico<\/th>\n<th>Moderno<\/th>\n<th>Ganho<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code data-no-translation=\"\">grep<\/code><\/td>\n<td><code data-no-translation=\"\">rg<\/code> (ripgrep)<\/td>\n<td>Muito mais r\u00e1pido; ignora <code data-no-translation=\"\">.git<\/code> and <code data-no-translation=\"\">.gitignore<\/code> sozinho<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">find<\/code><\/td>\n<td><code data-no-translation=\"\">fd<\/code><\/td>\n<td>Sintaxe humana: <code data-no-translation=\"\">fd \".log$\"<\/code><\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">cat<\/code><\/td>\n<td><code data-no-translation=\"\">bat<\/code><\/td>\n<td>Cor por sintaxe e n\u00famero de linha<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">ls<\/code><\/td>\n<td><code data-no-translation=\"\">eza<\/code><\/td>\n<td>Cores, \u00edcones, status do git<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">du<\/code><\/td>\n<td><code data-no-translation=\"\">dust<\/code> \/ <code data-no-translation=\"\">ncdu<\/code><\/td>\n<td>Mostra onde o espa\u00e7o foi, visualmente<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">df<\/code><\/td>\n<td><code data-no-translation=\"\">duf<\/code><\/td>\n<td>Tabela leg\u00edvel por tipo de montagem<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">top<\/code><\/td>\n<td><code data-no-translation=\"\">btop<\/code><\/td>\n<td>Gr\u00e1fico de CPU, mem\u00f3ria, rede e disco<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">cd<\/code><\/td>\n<td><code data-no-translation=\"\">zoxide<\/code><\/td>\n<td>Aprende os diret\u00f3rios que voc\u00ea usa<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">man<\/code><\/td>\n<td><code data-no-translation=\"\">tldr<\/code><\/td>\n<td>Exemplos pr\u00e1ticos em vez de sintaxe formal<\/td>\n<\/tr>\n<tr>\n<td>\u2014<\/td>\n<td><code data-no-translation=\"\">fzf<\/code><\/td>\n<td>Busca difusa em qualquer lista; casa com <code data-no-translation=\"\">Ctrl-R<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Cinco h\u00e1bitos que evitam desastre<\/h2>\n<ol>\n<li><strong>Teste o <code data-no-translation=\"\">rm<\/code> with <code data-no-translation=\"\">ls<\/code> antes.<\/strong> Rode o mesmo padr\u00e3o com <code data-no-translation=\"\">ls<\/code>; se a lista estiver certa, troque por <code data-no-translation=\"\">rm<\/code>.<\/li>\n<li><strong>Cuidado com o espa\u00e7o.<\/strong> <code data-no-translation=\"\">rm -rf \/home\/user \/tmp<\/code> apaga duas coisas, n\u00e3o uma.<\/li>\n<li><strong>Sempre <code data-no-translation=\"\">-i<\/code> or <code data-no-translation=\"\">--dry-run<\/code> quando o comando \u00e9 destrutivo<\/strong> \u2014 the <code data-no-translation=\"\">rsync<\/code> tem <code data-no-translation=\"\">-n<\/code>, o <code data-no-translation=\"\">find<\/code> tem <code data-no-translation=\"\">-print<\/code> antes do <code data-no-translation=\"\">-delete<\/code>.<\/li>\n<li><strong>Copie o arquivo de configura\u00e7\u00e3o antes de editar:<\/strong> <code data-no-translation=\"\">cp x.conf x.conf.bak<\/code>. Custa um segundo.<\/li>\n<li><strong>Valide antes de recarregar:<\/strong> <code data-no-translation=\"\">nginx -t<\/code>, <code data-no-translation=\"\">apachectl configtest<\/code>, <code data-no-translation=\"\">visudo<\/code>, <code data-no-translation=\"\">named-checkconf<\/code>. Servi\u00e7o que n\u00e3o sobe \u00e0s tr\u00eas da manh\u00e3 sempre foi editado sem validar.<\/li>\n<\/ol>\n<h2>Baixe o guia completo em PDF<\/h2>\n<p>A apostila em portugu\u00eas com mais de 500 comandos explicados, gratuita e livre para compartilhar:<\/p>\n<ul>\n<li><a href=\"\/dl\/guia_500_comandos_Linux.pdf\">Guia + de 500 Comandos Linux (PDF)<\/a><\/li>\n<\/ul>\n<p>\u00datil para iniciante, para quem est\u00e1 no meio do caminho e tamb\u00e9m para quem j\u00e1 \u00e9 avan\u00e7ado e precisa relembrar. E, antes de sair executando como root, a frase de sempre: <strong>&#8220;com grandes poderes v\u00eam grandes responsabilidades&#8221;<\/strong>.<\/p>\n<p>Para continuar: a <a href=\"\/en\/2017\/04\/serie-servidores-linux\/\">S\u00e9rie Servidores Linux<\/a> aplica boa parte disso na pr\u00e1tica, e um <a href=\"\/en\/2026\/09\/assistentes-de-ia-no-terminal-linux\/\">assistente de IA no terminal<\/a> explica qualquer um destes comandos na hora em que voc\u00ea travar.<\/p>","protected":false},"excerpt":{"rendered":"<p>Decorar comando n\u00e3o \u00e9 o objetivo \u2014 saber que ele existe \u00e9. Este guia \u00e9 a refer\u00eancia r\u00e1pida do terminal Linux organizada por tarefa: voc\u00ea bate o olho, acha a fam\u00edlia certa e vai fundo no man. No fim h\u00e1 o PDF com mais de 500 comandos, para baixar e consultar offline. Antes de tudo: &#8230; <a title=\"Mais de 500 comandos do Linux\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2017\/04\/500-comandos-do-linux\/\" aria-label=\"Read more about Mais de 500 comandos do Linux\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[8,9,10,4],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-linux","tag-cli","tag-dev","tag-dicas","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":4,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/106\/revisions"}],"predecessor-version":[{"id":1152,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/106\/revisions\/1152"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}