Se você está começando no mundo Linux, provavelmente já percebeu que é necessário usar o terminal para executar comandos linux, principalmente em servidores.
O principal motivo para usar a linha de comando em servidores e até em desktops é a possibilidade de executar tarefas avançadas e automatizadas.
Assim, saber usar a linha de comando fornece habilidades pra gerenciar sistemas linux e abre portas para áreas como DevOps e cloud computing.
Neste guia para iniciantes, você vai entender o que são comandos Linux, opções, argumentos e aprender a executar alguns dos comandos mais usados com exemplos práticos.
O que são comandos linux ?
Comandos linux são programas de computador que são executados na linha de comando a partir do terminal linux. Na linha de comando, ao digitar uma palavra e em seguida pressionar na tecla ENTER, o shell interpreta o código digitado e o executa.
Os comandos externos ficam armazenados em diretórios, já os comandos internos ficam dentro do próprio bash.
O shell bash tenta encontrar os comandos externos ou shell scripts em diretórios predefinidos para podê executá-lo.
Para visualizar os diretórios predefinidos, execute o seguinte comando:
echo $PATHNo comando anterior, echo é o comando e $PATH é o argumento passado ao comando e também uma variável. E o que é mostrado na tela é a saída do comando executado pelo shell.

A saída mostra o valor da variável de ambiente PATH, que é uma lista de diretórios onde o shell tenta localizar os comandos e scripts que são digitados sem seu caminho completo.
Para a maioria dos comandos é possível passar opções e argumentos.
Agora você pode se perguntar: Mas afinal de contas o que são opções e argumentos para os comandos linux ? Para ter a pergunta respondida continue lendo.
O que são opções para comandos linux ?
Opções são parâmetros especiais adicionados após um comando e são usados para modificar o comportamento padrão dos comandos.
Existem três formas de especificar opções para os comandos: sem o caractere hífen no início, com um único hífen no início e com dois hifens no início.
Alguns comandos não precisam de opções para serem executados, mas caso o comando use opções, cada comando pode ou não usar uma das três formas.
Veja os exemplos ao executar o comando dir sem opções e com uma opção:
dir # sem opções
dir -l # com uma opção
O comando dir foi executado duas vezes, listando o conteúdo do diretório corrente (EX: /etc/kernel).
Mas perceba que com a opção -l o comando dir exibe na tela mais informações, ou seja, mudou o comportamento padrão que é somente listar o conteúdo.
É importante saber que o código após o caractere “#” (jogo da velha) não é interpretado pelo shell.
O que são argumentos para comandos linux ?
Os argumentos de comandos linux são informações adicionais passadas logo após o comando para especificar sobre o que o comando deve agir ou como ele deve se comportar.
Por exemplo, a executar o comando:
dir -aA opção -l é um argumento, ela é passada após o comando e muda o comportamento padrão do comando dir, listando o conteúdo do diretório, mas mostrando mais detalhes.
Saiba que tudo o que especificado após o comando é um argumento (incluindo todas as opções), logo a opção -a é um argumento.
Mas nem todos os argumentos são opções, outro exemplo usando o comando dir:
dir -l /bootO diretório /boot é um argumento, mas não é uma opção, assim o comando dir deve agir sobre diretório /boot ao invés do diretório corrente. E a opção -l (outro argumento) especifica para o programa dir mostrar detalhes do conteúdo do diretório /boot.
Para alguns comandos é necessário passar um ou mais argumentos para executar uma operação.
Por exemplo, para o comando mkfs.ext4 criar um sistema de arquivos em um HD, SSD ou pendrive é necessário passar a localização do arquivo que identifica o dispositivo no sistema.
mkfs.ext4 /dev/sdd1Nesse exemplo, o comando mkfs.ext4 vai agir em /dev/sdd1 que é o argumento, criando um sistema de arquivos nele.
Quais são os principais comandos linux para iniciantes ?
Para iniciantes em linux é fundamental saber usar alguns comandos para interagir, obter informações e até diagnosticar problemas no sistema.
Nas seções a seguir tem uma lista com os 20 comandos linux essenciais que todo iniciante deveria saber usar.
1. Comando pwd
O primeiro da lista é o comando pwd (Print Working Directory), o objetivo do comando é exibir na tela a localização completa do diretório que está acessando atualmente.
pwdÉ um comando simples, mais de grande utilidade, pois a informação passada deixa o usuário situado em que diretório está atualmente trabalhando.
2. Comando cd
No linux, o comando cd (change directory) é essencial tanto para iniciantes quanto para profissionais experientes. Ele é usado para navegação, para alternar entre os diretórios do sistema.
Para usar o comando, execute cd seguido de um argumento, o argumento deve ser a localização do diretório que quer acessar. Por exemplo, para alternar do diretório atual e acessar /var/log, execute:
cd /var/logPara sair do diretório corrente do exemplo (var/log) e ir para /etc, execute:
cd /etcPara retornar para o diretório que estava acessando anteriormente use o caractere ‘–‘ (hífen). No exemplo o diretório atual é /etc e o diretório anterior é /var/log, para voltar a /var/log, execute:
cd -Caso queira acessar o diretório home da conta de usuário que está logado, execute o comando cd e passe como argumento o caractere ‘~‘ (til).
cd ~3. Comando ls
Listar arquivos é uma das tarefas mais executadas por quem usa a linha de comando. Um dos comandos do linux que é usado para listar/exibir o conteúdo de um diretório é o comando ls.
Ao executar somente o comando ls sem opções vai ser listado no diretório corrente todos os arquivos e diretórios, com exceção dos ocultos(que iniciam com o caractere ponto).
lsPara listar também os arquivos e diretórios ocultos execute o comando ls com a opção -a:
ls -a
Se precisar vê mais detalhes, como permissões e proprietários dos arquivos e diretório, use a opção -l:
ls -l
Explicação das colunas na saída do comando ls com a opção -l:
Primeira coluna: O primeiro caractere é o tipo de objeto e em seguida tem as permissões do objeto.
Veja na tabela a seguir para saber os tipo de objetos:
| Objeto | Descrição |
|---|---|
| – | É um arquivo comum, exemplo: imagens, vídeos, arquivos de texto, planilhas. |
| d | É um diretório. |
| c | É um arquivo especial de caractere, representa dispositivos como: teclados, mouses, impressoras. |
| b | É um arquivo especial de bloco, representa dispositivos de armazenamento: HDs, SSDs, pendrives. |
| p | É um arquivo especial named pipe, também conhecido como FIFO. |
| s | É um arquivo especial de socket, usado para comunicação entre processos do sistema. |
| l | É um Link simbólico. |
Segunda coluna: Nos sistemas de arquivos ext4 e xfs é o total de inodes que apontam para o arquivo. Para diretórios vai ser 2 somado ao número de subdiretórios. Isso ocorre porque um diretório sempre tem dois subdiretórios: o ‘.‘ (ponto) e também existe o ‘..‘ (dois pontos).
Terceira coluna: Usuário proprietário do objeto.
Quarta coluna: grupo proprietário do objeto.
Quinta coluna: Tamanho do objeto.
Sexta coluna: Data e hora de modificação.
Sétima coluna: O nome do objeto.
É possível combinar duas ou mais opções, por exemplo: a opção -l e a opção -h, veja o exemplo a seguir usando as duas opções para listar o conteúdo de /etc/default:
ls -lh /etc/defaultA opção -h é usada para mostrar o tamanho de arquivos e diretórios de uma forma mais humanizada, usando a formatação em kilobytes, megabytes, gigabytes e outras dependendo do tamanho do arquivo.
4. Comando clear
As vezes o terminal fica com a tela poluída com a saída de tantos comandos executados e é necessário o limpar todo esse código para que fique mais visível.
A utilidade do comando clear é limpar todo o código que está aparecendo na tela. Execute o comando:
clearUma outra forma de conseguir o mesmo resultado é usar a combinação de teclas CTRL+L (minúsculo ou MAIÚSCULO) para limpar o código que aparece na tela.
5. Comando echo
O comando echo é usado para visualizar valores de variáveis e exibir mensagens na tela.
Para usá-lo, execute o comando echo e passe como argumento a mensagem que quer exibir, a mensagem pode ficar entre aspas ou não.
echo comandos linux são essenciaisQuando a string passada como argumento é iniciada com o caractere cifrão, o shell entende que é uma variável, e se a variável existir exibe seu conteúdo:
echo $SHELL
6. Comando touch
Precisando criar um arquivo ? Então execute o comando touch seguido do nome do arquivo, veja o exemplo:
touch arquivo4.txtNesse exemplo, foi criado o arquivo chamado arquivo4.txt.
O comando touch também pode ser usado para alterar a data e hora de acesso e modificação de arquivos.
Por exemplo, para alterar a data e hora de modificação de um arquivo, execute o comando touch seguido do arquivo existente:
touch arquivo.txt7. Comando mkdir
Outro comando linux importante é o mkdir, ele cria diretórios. Para criar um diretório passe como argumento o nome do diretório. Por exemplo, para criar o diretório dir1 execute o comando:
mkdir dir1Por padrão, se a localização completa do diretório não for passada, o comando mkdir tenta criar o diretório na localização corrente.
Para criar em outra localização, por exemplo, criar um diretório chamado dir2 em /tmp, execute o comando:
mkdir /tmp/dir2AVISO
Para criar diretórios o usuário precisa ter permissão de acesso e escrita na localização em que o diretório será criado.
8. Comando rmdir
Aprendeu a criar diretórios, a pergunta é: como remover diretórios vazios ?
A resposta é: execute o comando rmdir.
Para remover diretórios vazios passe localização do diretório como argumento para o comando rmdir, por exemplo, para remover o diretório vazio /tmp/dir2, execute:
rmdir /tmp/dir2Se for passado somente o nome do diretório sem a localização completa, o comando rmdir tenta remover o diretório na localização atual.
rmdir dir1AVISO
Para remover diretórios vazios o usuário precisa ter permissão de acesso e escrita no diretório que contém o diretório vazio que será removido.
9. Comando rm
Para remover diretórios vazios ou não e também arquivos execute o comando rm.
Para remover um arquivo passe como argumento para o comando rm a localização do arquivo, por exemplo, para remover o arquivo /tmp/file1.txt, execute:
rm /tmp/file1.txtPara remover um diretório recursivamente, ou seja, remove o diretório e todos os arquivos que estão dentro e subdiretórios use a opção -r do comando rm. Exemplo, para remover /srv/config e tudo que tem dentro, execute:
rm -r /srv/configAVISO
É importante saber que o usuário precisa ter permissão de acesso e escrita para remover o conteúdo de diretórios.
Aprenda mais sobre o comando rm lendo a sua documentação no projeto gnu.
10. Comando cp
Para copiar arquivos e diretórios na linha de comando do linux execute o comando cp.
A sintaxe é:
cp [OPÇÕES] <ORIGEM> <DESTINO>A origem é o que será copiado e o destino é para onde será copiado o arquivo ou diretório.
Para copiar um arquivo chamado arquivo1.txt do diretório corrente e ao mesmo tempo renomear a copia, execute:
cp arquivo1.txt arquivo4.txtCaso precise copiar vários arquivos, passe a localização de cada e no fim informe o destino. Por exemplo, para copiar os arquivos: arquivo1.txt e arquivo4.txt para o diretório /tmp, execute:
cp arquivo1.txt arquivo4.txt /tmpÉ possível também preservar informações como as permissões do(s) arquivo(s) ou diretório(s) que serão copiados.
Ao copiar use a opção -p do comando cp. No exemplo a seguir é gerada uma cópia do arquivo file2.txt e é mantida as permissões:
cp -p file2.txt file3.txtPara copiar um diretório e tudo que tem dentro do mesmo passe a opção -r para o comando cp, por exemplo, para copiar /etc/systemd/system e tudo o que tem dentro para /srv, execute:
cp -r /etc/systemd/system /srvAVISO
Para copiar e gravar a cópia no destino é necessário o usuário ter permissão sobre o que será copiado e também permissão de acesso e gravação no destino.
11. Comando cat
O comando cat é usado com frequência para exibir na tela o conteúdo de arquivos. Para exibir o conteúdo do arquivo /proc/cpuinfo, execute:
cat /proc/cpuinfoVocê também pode concatenar o conteúdo de vários arquivos em um único arquivo usando o comando cat.
Para concatenar o conteúdo dos arquivos /proc/cpuinfo e /proc/devices em hardware.txt, execute:
cat /proc/cpuinfo /proc/devices > hardware.txtAgora visualize o conteúdo do novo arquivo, que vai ter o conteúdo de /proc/devices e /proc/cpuinfo:
cat hardware.txt12. Comando less
less é um comando que exibe na saída padrão(tela) o conteúdo de um arquivo, mas não edita arquivos. O less também possibilita paginar a saída de comandos através do PIPE.
Para visualizar o conteúdo do arquivo /etc/protocols, execute o comando:
less /etc/protocolosPara navegar no conteúdo que é exibido na tela, use as teclas:
| Teclas | O que faz |
|---|---|
| PageDown | Avança uma página. |
| PageUP | Voltar uma página. |
| End | Para ir para o final do conteúdo do arquivo. |
| Home | Para ir para o início do conteúdo do arquivo. |
| ↓ (seta para baixo) | Avança para próxima linha. |
| ↑ (seta para cima) | Volta para linha anterior. |
Para encerrar a execução do comando less saindo da paginação, clique na tecla q (minúsculo).
Para paginar a saída de um comando, execute o comando e passe a saída do mesmo para o comando less usando o PIPE.
Por exemplo, para paginar a saída do comando tar --help, facilitando a leitura, execute:
tar --help | lessAssim a saída do comando tar é enviada para entrada padrão do comando less e o comando less exibe o conteúdo, permitindo uma navegação no conteúdo de forma mais amigável.
13. Comando uptime
O comando uptime é usado para saber o tempo de funcionamento do sistema. Ao executá-lo sem opções ele exibe também a hora atual e quantos usuários estão logados no sistema.
uptimePara saber somente a quanto tempo o sistema está ativo, execute o comando uptime com a opção -p:
uptime -p14. Comando uname
O comando uname tem como objetivo exibir na tela informações do sistema e algumas informações do hardware.
Ao executar somente o comando sem opções é mostrado o kernel do sistema operacional.
unamePara saber a versão(release) do kernel execute o comando uname com a opção -r.
uname -rPara saber a arquitetura do hardware use a opção -m do comando uname.
uname -mÉ importante saber a arquitetura do hardware quando, por exemplo, é necessário baixar e instalar um programa, assim você vai obter o programa para arquitetura correta.
15. Comando apt
O apt é um dos comandos do linux que faz o gerenciamento de pacotes usando a linha de comando nas distribuições linux debian, ubuntu e derivadas.
Usando o apt você pode instalar programas armazenados nos repositórios. Por exemplo, para instalar um pacote chamado vim, execute:
apt install vimO install após o comando apt é a ação para instalar um ou mais pacotes.
Caso precise instalar dois ou mais pacotes, informe o nome de cada um como argumento, separando-os com espaço, veja o exemplo para instalar os pacotes xz-utils e tar:
apt install xz-utils tarPara instalar um arquivo de pacote .deb que baixou de um site na internet, recomendo a leitura desse passo-a-passo completo.
Para instalar atualizações disponíveis de pacotes atualmente instalados no sistema a partir dos repositórios, execute:
apt upgradeSe precisar desinstalar um pacote execute o comando apt remove seguido do(s) nome(s) do(s) pacote(s). Por exemplo, para remover o pacote vim, execute:
apt remove vim16. Comando dnf
DNF(Dandified YUM) é um gerenciador de pacotes, mas é usado em distribuições linux fedora, redhat e sistemas baseados.
Precisa instalar pacote(s) de software com o dnf ? então execute dnf install seguido do(s) nome(s) de pacote(s). Para instalar os pacotes epel-release e tar, execute o comando:
dnf install epel-release tarO comando dnf upgrade é usado para atualizar um ou uma lista de pacotes ou todos os pacotes instalados no sistema. Por exemplo, para atualizar somente o pacote tar, execute:
dnf upgrade tarSe precisar atualizar todos os pacotes instalados e que tem versões mais recentes nos repositórios, execute:
dnf upgradePara remover um ou mais pacotes execute o comando dnf remove seguido da lista de pacotes que serão removidos. Exemplo, para remover o pacote xz, execute:
dnf remove xz17. Comando dmesg
Qualquer iniciante no linux deve aprender mais a fundo sobre o sistema para diagnosticar problemas.
O comando dmesg exibe as mensagens do buffer do kernel linux, permitindo saber os dispositivos de hardware detectados e também investigar possíveis problemas.
Ao executar somente o comando dmesg é exibido uma longa sequência de informações desde o carregamento do kernel linux.
dmesgPara facilitar a leitura de todo o código pode usar em conjunto o comando less para paginar as informações:
dmesg | less18. Comando ping
Um dos comandos linux mais usados por administradores e que iniciantes devem aprender é o comando ping. O ping é um programa usado para testar a conectividade com um host de destino em uma rede.
Por exemplo, para testar conexão com o google.com.br, execute:
ping google.com.brPara encerrar a execução do comando utilize a combinação de teclas ctrl+c.
Por padrão, o comando ping envia pacotes infinitamente, para limitar a quantidade de pacotes enviados use a opção -c do comando ping. No exemplo, será enviado 5 pacotes para dlncloud.com.br.
ping -c 5 dlncloud.com.brCaso queira testar a conexão somente com IPv4 use a opção -4 do comando ping.
ping -c 5 -4 google.com.br
Se preferir testar a conexão somente com IPv6 use a opção -6 do comando ping.
ping -c 5 -6 google.com.br
19. Comando passwd
Um usuário iniciante precisa saber alterar sua senha na linha de comando e para essa tarefa o comando passwd pode ser usado.
Para alterar a senha do usuário que esta atualmente logado e usando a linha de comando, execute:
passwdIMPORTANTE
É possível alterar a senha de outras contas de usuário, mas para isso é necessário ter privilégios administrativos, ou seja, está logado com o usuário root ou com um usuário que pode usar o comando sudo.
Se estiver usando o usuário root, e precisa alterar a senha de outro usuário, passe como argumento o nome do usuário que a senha será alterada. No exemplo, será alterada a senha do usuário dlncloud.
passwd dlncloud20. Comando man
O comando linux man é essencial para usuários iniciantes e avançados, pois é com ele que é consultado o manual dos comandos, arquivos de configuração e manuais de outras partes do sistema.
Para consultar o manual do comando ping, por exemplo, passe como argumento o nome do comando para o comando man:
man pingNo linux, alguns comandos e arquivos tem o mesmo nome, por exemplo, no sistema existe o comando passwd e arquivo /etc/passwd. Nessa situação, para consultar o manual correto use as seções.
Por exemplo, para consultar o manual do comando passwd , passe como argumento o número 1 (Seção 1: Comandos shell ou programas executáveis) seguido do nome do comando:
man 1 passwdJá para consultar o manual do arquivo /etc/passwd, passe como argumento o número 5 (Seção 5: Formatos de arquivo e convenções) seguido do nome do arquivo:
man 5 passwdPara sair da página de manual clique na letra q.
Aprofunde seu Conhecimento
Existem milhares de comandos linux que podem ser usados no terminal e é lógico que não será ensinado todos nesse guia.
No blog já foi abordado outros comandos de grande utilidade, e para aprender mais sobre eles acesse a lista a seguir e tenha uma ótimo aprendizado:
| Comandos: rar e unrar | Arquivos RAR no linux: saiba como criar e extrair via terminal |
| Comandos: zip e unzip | Aprenda a usar o comando zip e unzip no linux com 10 Exemplos Essenciais |
| Comando tar | Comando tar no linux – Exemplos Práticos |
| Comandos: gzip, bzip2, xz e lzop | Como comprimir e descomprimir arquivos no linux |
| Comando sftp | Comando sftp: Guia Prático |
| Comandos: w, who e loginctl | 4 comandos para descobrir quem está logado no linux |
| Comando find | Encontre arquivos no linux com o comando find |
| Comando parted | Gerencie partições usando o comando parted |
| Comando fdisk | Crie, liste e exclua partições no linux com o comando fdisk |
| Shell Bash | Recursos do shell bash essenciais para profissionais de ti |
| Histórico de comandos | Aprenda a usar o histórico de comandos do shell bash |
| Comando chmod | Entenda como alterar as permissões no linux com o comando chmod. |
Conclusão
Para quem deseja começar a usar ou trabalhar com linux é essencial saber o que são comandos linux e conhecer os comandos básicos.
E saber usar a linha de comando é pré-requisito para quem trabalha em áreas de ti que usam linux, como DevOps.
Caso tenha alguma dúvida, sugestão ou elogio deixe seu comentário.

