Sistemas operacionaisTutoriais

7 comandos do terminal que fazem coisas curiosas e úteis

O terminal Linux é algo com muito mais recursos do que se possa imaginar, existem várias coisas curiosas que é possível fazer através dele, desde ouvir músicas e ver vídeos até algumas coisas menos úteis, mas ainda assim divertidas.

Nós preparamos para você um curso especial de Bash para você ficar ninja no terminal, mas isso não quer dizer que todas as dicas tenham acabado, muito pelo contrário, temos aqui mais 7 dicas para você usar no seu terminal e quem sabe ter um pouco mais de produtividade com ele.

Se você quiser mais algumas dicas grátis em vídeo clique aqui e confira a jornada épica do Tiago, desenvolvedor da Canonical que nos ajudou a bolar o curso.

Vamos lá então, hora de aprender alguns comandos novos!

1 – wc (word count) 

Esse comando serve para você contar quantas palavras, caracteres e linhas existem dentro de um determinado arquivo de texto, o seu uso é muito simples. Se não passar opção nenhuma ele informa as 3 contagens, mas você pode especificar se quer somente linhas com -l, somente palavras com -w ou somente caracteres com -c. Veja alguns exemplos:

 wc /etc/hosts
wc -l /etc/hosts
wc -w /etc/hosts
wc -c /etc/hosts

2 – arecord e aplay

São comandos do pacote alsa-utils que, além de outras coisas, permitem que você grave e toque sons diretamente no terminal.

O comando “arecord -f cd” por padrão imprime no stdout* o resultado da gravação de áudio (um arquivo .wav) a partir de um microfone disponível, e isto vai sujar a tela com dados binários, por isso usamos a funcionalidade de redirecionamento* do bash para jogar o conteúdo para um arquivo. Veja que no exemplo o arquivo criado “meu_podcast” não contém a extensão .wav. Isto é proposital pois usaremos o mesmo arquivo para explicar o próximo comando. Veja o exemplo:

arecord -f cd 1> meu_podcast

E para tocar o arquivo basta utilizar o comando aplay:

aplay meu_podcast

3 – file

No linux as extensões dos arquivos são opcionais, portanto nem sempre é possível dizer qual é o tipo de arquivo só olhando o seu nome.

Para isso podemos usar o comando file (do pacote chamado file no Ubuntu), que analisa o interior do arquivo e tenta nos dizer qual tipo ele é. ex:

file meu_podcast

O resultado pode ser algo parecido com isso:

meu_podcast: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz

Ou outro exemplo:

file /bin/bash

Que vai trazer um resultado assim:

/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=0428e4834e687e231fa865562d32fbb64ce45577, stripped

4 – head e tail

São comandos para respectivamente listar as primeiras e últimas linhas de um arquivo, ou do conteúdo recebido na entrada padrão (stdin*). Head vem do inglês “cabeça” e tail “cauda”.

O parâmetro -n indica o número de linhas. Se o parâmetro -n não for passado, os comandos assumem que serão 10 linhas.

head -n 5 /etc/hosts
head /etc/hosts
tail -n 2 /etc/hosts
tail /etc/hosts

O seguinte comando mostra como o head e o tail podem ser usados em um exemplo mais complexo, como em uma pipeline* do bash.

ps aux | tail -n 7

5 – du

O comando “du” nos ajuda a descobrir quanto de espaço um diretório/pasta está ocupando no disco.

Mas para ele ser realmente útil é preciso de algumas opções extras.

O comando seguinte permite que o “du” crie um sumário de cada um dos diretórios na raiz do sistema. Isto claro que pode demorar um pouco, afinal ele vai percorrer todo o disco e gerar um resumo em megabytes.

sudo du -m --max-depth=1 /

Vamos supor que você descubra que o diretório /home está ocupando muito espaço, então você pode começar uma verdadeira “caça às bruxas” e procurar o diretório que está roubando seu espaço em disco:

sudo du -m --max-depth=1 /home

E assim por diante.

6 – cal

O comando “cal” nos mostra um calendário do mês atual direto no terminal:

cal

A saída vai ser algo parecido com isto:

WI7XOsmMvYvD e5ybx1yIRqsz6MpW2c3kMhFE5RMQWJ1NA1z1vNP3cxxEwFSxPzfnVPKCMAiI 1ftNbgfvBeUD m9tKGsSdAFoIgI kq 60N4 n08Q4N ZPs1cZ3Rp8aCd12jBLT

Mas o comando cal também pode mostrar o calendário completo de um ano com o comando -y.

Mostrando o ano atual:

cal -y

Mostrando algum outro ano:

cal -y 2017

Aproveite a saída e veja em que dia da semana cai o seu aniversário no ano que vem.

7 – history

O comando history é um comando interno no bash. (builtin*). Ele serve para imprimir pra você os comandos anteriores já executados na linha de comando.

É basicamente um histórico que o Bash mantém, assim como os navegadores guardam os sites que você já visitou.

history

Se você não está familiarizado com estes termos de linha de comando (stdin, stdout, pipeline, builtin, redirecionamentos, etc) e quer aprender mais sobre terminal e sobre o interpretador Bash (que é o padrão do Linux, independente da distro), veja esta apresentação do curso dominando o terminal Linux, onde passamos mais 3 dicas sobre linha de comando que vão facilitar sua vida.

Quer mais dicas? Tem vídeo de quarenta minutos no nosso canal sobre isso, confira.

Até a próxima!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!