Se você ainda está migrando do Windows para o Linux, presumo que o uso de interface de linha de comandos (CLI) é uma das coisas que mais o assusta e, ao mesmo tempo, a que você entende que influenciará de forma significativa no aprendizado. Por isso, aprender os comandos básicos do Linux é, normalmente, o primeiro passo para dominar o sistema.
Aos que ainda não sabem ao certo a que me refiro, recomendo que dê uma olhada neste artigo no qual explico a função do terminal — se estiver com tempo, depois de ler este artigo, confira este outro sobre o interpretador Z Shell. Ambos os conteúdos são complementares ao presente texto.
Resumindo em poucas palavras, trata-se de utilizar o prompt de comando para realizar tarefas com mais agilidade e possibilidades no Linux. A princípio soa amedrontadora a ideia de abrir mão da interface gráfica (GUI) para alguns processos, porém a adaptação pode ser feita aos poucos, visto que existem distros do Linux com mais ênfase em design, como o Mint.
Pensando em ajudá-lo nessa questão, elenquei uma série de comandos de nível básico para você começar a praticar. Ao longo do conteúdo, apresento outros códigos já abordados aqui no blog que são comuns na rotina de qualquer usuário, mas, por ora, recomendo que se atenha aos 25 comandos que mostro a seguir.
1. ls
O comando ls é utilizado para listar arquivos e diretórios do sistema. Se digitarmos ls no terminal sem adicionar nenhuma opção, serão exibidos na tela todos os itens em formato básico, ou seja, sem mais detalhes (tipo, tamanho, permissões etc.).
Se utilizarmos a opção -l, no entanto, veremos os detalhes mencionados acima e outras informações, tais como data e hora de modificação e o proprietário do arquivo / diretório. Exemplo:
ls -l.
Porém ainda há arquivos que não apareçam nos resultados por conta de eles serem ocultos. Como visualizá-los sem modificar as suas propriedades no gerenciador de arquivos? Basta digitar ls -a.
Muito simples, não é mesmo? Se quiser descobrir mais recursos existentes no comando, digite
ls --help.
2. cd
Um dos comandos básicos do Linux que mais utilizamos para explorar diretórios por meio do terminal é o Change Directory (comando cd). Como o nome já diz, ele nos permite navegar pelas pastas, mas de diferentes maneiras (vide cd –help).
Por exemplo, podemos acessar um diretório facilmente ao digitar o comando cd seguido do caminho desejado.
cd /home/user/Documents
E se quisermos voltar para o diretório em que estávamos antes de começar a explorar outros locais? Basta inserirmos a pasta atual mais cd -.
/home/user/Documents cd -
/usr/share
A princípio o comando cd é até desnecessário quando pensamos em uso habitual, ainda mais quando estamos acostumados com interface gráfica. Por isso, procure se colocar no lugar de um administrador de sistemas que precisa acessar pastas e arquivos utilizando comandos.
3. clear
Dependendo do processo e da quantidade de tarefas que realizamos no terminal, a tela pode ficar cheia de informações e, às vezes, o usuário novato reinicia o programa para limpá-la. Se você costuma fazer isso, experimente digitar o comando clear (sem qualquer complemento) para resolver o problema.
4. pwd
O comando pwd (Print Working Directory) é muito utilizado por administradores de sistemas para identificar o diretório atual. Ao acionarmos o comando, o terminal exibe o endereço completo do diretório começando pelo root. Exemplo:
pwd /home/user/Documents/Music/Rock/
Você pode utilizar outros diversos comandos para obter a informação, porém, sem dúvida alguma, nenhum deles é mais prático do que o pwd.
5. uname
Quer descobrir qual é a versão do seu kernel ou o hostname atual? Existe um meio de conseguir a resposta instantaneamente por meio do comando uname. Por exemplo, se digitarmos uname sem nenhuma opção, o sistema retornará o nome do kernel (Linux).
Como a maioria dos comandos, esse também disponibiliza várias opções para se conseguir resultados mais específicos, como processador, sistema operacional, plataforma de hardware etc. Vejamos alguns exemplos:
uname -i # nos informa a plataforma de hardware x86_64 uname -o # retorna o sistema operacional GNU/Linux uname -v # traz a versão do kernel #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019
6. logout
Também acionável pelo atalho Ctrl+D, o comando logout é um meio simples para sair do sistema sem deixar as credenciais ativas. Contudo, um administrador de sistemas pode ir além com esse comando básico a ponto de controlar o acesso em tempo real — com auxílio do comando pkill, no caso.
Suponha-se que você, sysadmin, queira fazer o logout de uma série de usuários (ou algum em específico). Primeiramente, é necessário estar logado como root. Em seguida, você usaria o comando pkill da seguinte maneira:
pkill -KILL -u [usuário] [usuário_2] [usuário_3]
Imaginemos que o usuário charles, supostamente, teve a sua conta invadida ao abrir um malware. Sendo assim, digitaríamos pkill -KILL -u charles para interromper a navegação pelo sistema.
7. reboot, poweroff e halt
Os sistemas baseados em Linux nos colocam à disposição os comandos reboot, halt e poweroff para reiniciar, interromper e desligar o computador, respectivamente. Enquanto o reboot dispensa apresentações, vale a pena nos atentarmos aos demais, pois ambos são confundíveis.
Por que utiliza-se o poweroff? Podemos entendê-lo como um comando para desligar a máquina abruptamente, ou seja, fazer com que todos os componentes sejam desligados de uma vez; é como pressionar o botão “ligar” por alguns segundos.
Evidentemente, não é a melhor prática para desligamento, devendo esta ser acionada somente quando necessário.
Já o comando halt faz com que todas as funções da CPU sejam encerradas. Trata-se de uma instrução enviada ao hardware. Resultado? O usuário é redirecionado ao single-user mode e, então, o computador é desligado.
8. shutdown
Por sua vez, o shutdown, um dos comandos básicos do Linux, é muito interessante, pois nos dá alternativas para o desligamento do computador.
Diferentemente dos comandos halt e poweroff (que também podem ser acionados via shutdown), ele realiza o processo da maneira mais adequada, e permite fazê-lo imediatamente ou de forma programada.
Quando usamos o tempo como parâmetro, segue-se o padrão Hora:Minutos, exemplo: shutdown 18:10. A programação é possível, também, para o poweroff (shutdown -p 18:10), halt (shutdown -H 19:40) e reboot (shutdown -r 00:00).
Observação: se no lugar do horário inserirmos a opção now, o processo ocorrerá instantaneamente.
9. who
Quando apresentei o comando logout, vimos como utilizar o pkill para interromper o login dos usuários, certo? O que deixei para explicar neste tópico, no entanto, é como descobrir quem está navegando pelo sistema. Isso é útil quando não sabemos as credenciais do usuário (o que é muito comum em grandes empresas).
Pois bem, conseguir a informação é muito simples, bastando o uso do comando who. O who exibe na tela os detalhes de todos os usuários atualmente logados no sistema e, também, oferece algumas opções extras, como o horário do último boot (who -b, –boot) e até mesmo o runlevel em que o sistema se encontra (who -r).
10. w
Numa linha semelhante ao who, temos o comando w, que nos permite obter informações dos usuários atualmente logados em mais detalhes. Ao acioná-lo, o terminal nos retorna o horário e o tempo de login e, também, o que cada um está fazendo no momento. Para limitar a abrangência a um só usuário, basta digitar w [user].
11. whoami
Who am I? Em português, a pergunta significa “quem sou eu”. Caso não saiba a sua identidade no sistema, só digitar whoami no terminal e o Linux fornecerá a resposta. O comando em si não fornece outras opções a não ser –version, que exibe a versão da ferramenta, e –help.
12. uptime
Também listado entre os comandos básicos do Linux, o uptime é de suma importância para administradores de sistemas. Em uma única linha, ele nos informa o horário atual, há quanto tempo o sistema operacional está rodando, quantos usuários estão logados, e o tempo médio de carregamento do sistema nos últimos 1, 5 e 15 minutos.
Sobre a métrica de carregamento, ela diz respeito ao número médio de processos que se encontram “executáveis” ou “ininterruptos”. O primeiro status se refere a programas que estão consumindo CPU (ou aguardando para isso), enquanto o segundo abrange processos que aguardam por acesso de entrada e saída.
13. cat
Como criar arquivos por meio do terminal? Existem diferentes modos para isso, sendo um deles o comando cat. Com o cat, podemos tanto criar um ou mais arquivos quanto ver o conteúdo de um arquivo existente, concatenar arquivos, entre outras coisas.
Vejamos como ler o conteúdo de um arquivo (/etc/passwd, no caso):
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
…
Você pode abrir quantos itens desejar; basta digitar o nome de cada um deles e o terminal exibirá os conteúdos imediatamente. Para criar um arquivo, digite:
cat >texto
Hello world!_ # perceba que o cat abriu um campo para você digitar; para fechá-lo, pressione Ctrl+D.
13. touch
Fato é que nem sempre criamos arquivos e inserimos conteúdos neles. Em casos assim, usar o cat não é a melhor opção, pois, como aprendemos acima, a ferramenta abre os campos automaticamente para o usuário digitar. Portanto o comando touch é a escolha mais apropriada nessas horas.
Supondo que o usuário queira gerar cinco arquivos de texto. Ele pode criá-los rapidamente usando o comando da seguinte maneira:
touch texto1 texto2 texto3 texto4 texto5
Digitando touch –help é possível consultar todas as opções existentes para o comando.
14. apt
Mais do que um simples comando, o apt é uma ferramenta-chave do Linux, mais precisamente distribuições baseadas em Debian, cuja função é auxiliar na instalação, atualização, remoção de software, inclusão / exclusão de repositórios etc.
Para conseguir utilizar o apt é necessário que se tenha permissões sudo. A sintaxe em si não é um obstáculo, ou seja, nada que a experiência de uso não resolva. Por exemplo, instalar programas usando o comando sudo apt install [programa] é das tarefas mais comuns no Linux.
Em meio ao processo de instalação, contudo, é possível que o sistema operacional ainda não disponha de todas as dependências para que o software a ser instalado funcione. De repente, você se depara com uma grande lista de coisas para instalar, o que pode levar o usuário a perder tempo.
Certo, mas quem disse que é preciso perder tempo? Utilize o comando sudo apt -f install e todo o trabalho será feito automaticamente. Havendo instalações desnecessárias em seu Linux, o apt não só informa: ele nos permite (e recomenda) usar o comando sudo apt –autoremove para limpeza automática.
15. man e –help
Os comandos man e –help funcionam como um manual de instruções para a ferramenta que você está utilizando no terminal. Por exemplo, se o usuário deseja saber as opções existentes para o comando sudo, ele pode digitar sudo –help e consultar a lista (vide exemplo, abaixo).
Portanto, sempre que estiver em dúvidas acerca do que (ou como) fazer com determinado comando, basta acionar um desses comandos básicos para expandir as possibilidades. Sem dúvida alguma, eles são essenciais para o usuário novato, pois é um meio de se obter a informação instantaneamente.
Acima, você conheceu 25 comandos básicos do Linux que todo e qualquer usuário precisa dominar. Pesquisando pelos arquivos do blog, é possível acessar mais dicas como essas, mas vou adiantar o seu lado fazendo algumas sugestões de leitura:
- comandos git mais utilizados para gerenciar repositórios do GitHub;
- 6 exemplos do comando ifconfig;
- 10 formas de usar o comando find;
- dicas de gerenciamento de processos usando o comando kill;
- instalar, remover e atualizar pacotes .deb com o dpkg; e
- 10 comandos Linux bastante recorrentes.
Quer saber o que fazer para aprender os comandos mais rapidamente sem deixar nada passar em branco? Acesse a página Profissionais Linux e descubra como dominar o sistema operacional de uma vez por todas!