Pular para o conteúdo principal

Terminal para apressados (preguiçosos, talvez?)

As interfaces gráficas são atraentes pela facilidade de uso mas o processo de comunicação escolhe-aponta-clica-arrasta é normalmente bem mais lento que digitar um comando num terminal.

No Linux existem vários interpretadores de comandos, também conhecidos com shell. Neste artigo as dicas foram testadas no Bash, embora a maioria possa funcionar em outros interpretadores como o sh ou zsh, csh, ksh e tcsh.

O shell pode ser usados de duas formas:
  1. digitando-se comandos diretamente em um terminal de comandos; ou
  2. executando um arquivo previamente gravado, chamado de shell script, que contenha uma série de comandos.
A segunda forma é extremamente poderosa e abrangente, entretanto, a primeira forma será objeto desse artigo.

A figura seguinte ilustra alguns comandos que reduzem a quantidade de teclas digitadas, acelerando seu trabalho e reduzindo o esforço ;-)

Vamos exercitar?

Se quiser testar os comandos usados nos exemplos seguintes, troque o nome do usuário usado aqui (richard), pelo seu nome de usuário.

Se ainda não tiver feito, abra um terminal de comandos.
Obs.: Para configurar uma bela e útil abertura do seu terminal, clique aqui.

Completa pra mim / Me leva para ...

Execute os comandos conforme a tabela a seguir:

Digite...
Para ir ao diretório…
cd /h<TAB>richard/Dow<TAB> /home/richard/Downloads
cd /etc /etc
cd - /home/richard/Downloads
cd - /etc
cd .. /
cd /home/richard
cd - /
cd ~ /home/richard
cd - /
cd $HOME /home/richard
Observações:
Tecla <TAB> → autocompleta comandos
cd → muda de diretorio
cd - → retorna ao último diretório
cd .. → sobe um diretório
cd → vai para o diretório home do usuário
cd ~ → vai para o diretório home do usuário
cd $HOME → vai para o diretório home do usuário

Já usei esse comando ...

Imagine que você já tenha usado um comando longo, como, por exemplo:
for i in `seq 1 20`; do linux_logo -L $i; echo "L=$i";sleep 1; done
Ao digitar <Ctrl>+R, o prompt do terminal muda para:
(reverse-i-search)`':
e o texto que for digitado em seguida será utilizado para uma busca pela lista de comandos digitados anteriormente. Assim você poderia digitar "linux" e o último comando contendo "linux" será exibido. Continue pressionando <Ctrl>+R para navegar na lista de comandos com a palavra "linux".

Travou ou tá demorando?

  • Caso um comando esteja demorando, tecle <Ctrl>+c para encerrar
  • Caso uma janela esteja travada, tecle xkill e depois clique na janela para encerrá-la 

Aproveitando...

  • Imagine que você digitou apt-get install gnuplot mas se esqueceu de digitar o sudo na frente para obter privilégios de administrador (root). Basta digitar:
    sudo !!
    e o terminal executará o comando sudo apt-get install gnuplot.
  • Em seguida você deseja ver uma descrição do pacote gnuplot. basta digitar
    apt-cache show !$
    e o terminal irá executar o comando apt-cache show gnuplot

Copiar/Colar

Você já percebeu que o comando <Ctrl>+c é interpretado como um comando para abortar um processo em execução e não como um atalho para copiar. Normalmente, os terminais de comando utilizam os seguintes atalhos para copiar e colar, respectivamente: <Ctrl>+<Shift>+C e <Ctrl>+<Shift>+v
Ah, o comando para colar no Linux é normalmente implementado pressionando-se a roda do mouse. ;-)

E vamos ficando por aqui!

Comentários

Postagens mais visitadas deste blog

Matemática no terminal de comandos

Precisa fazer um cálculo rápido sem ter que abrir nenhuma aplicação gráfica como, por exemplo, uma planilha de cálculo? O terminal de comandos do Linux é ideal para esses casos. Para cálculos com ponto flutuante usando somente o terminal de comandos temos diversas opções como o comando bc , por exemplo. O comando bc (basic calculator) é utilizado para cálculos com precisão arbitrária e possui a vantagem de já vir instalado em qualquer distribuição Linux, portanto, sem a necessidade de instalar nada! Além do bc, as linguagens de programação de modo geral são ricas em recursos matemáticos e algumas podem ser executadas interativamente no terminal.  Neste artigo mostraremos exemplos de cálculos usando o bc , gnuplot , Python , Scilab, R , Julia, bash e zsh . Operadores matemáticos Para realizarmos os cálculos, precisamos saber a sintaxe básica e que símbolos são usados para representar os operadores matemáticos. Soma, subtração, mu...

Encontrar texto em arquivos pdf

Problema : Você tem zilhões de artigos (papers) em pdf mas quer saber se uma certa sequência de texto (palavra ou frase) está escrita neles. Por exemplo, suponhamos que a frase a ser pesquisada é "fitting" Solução 1: via pdfgrep (mais recomendada)     No terminal de comandos, (trocando "richard" pelo seu nome do usuário), digite: $  find ~ -name '*.pdf' -exec pdfgrep -H -i 'fitting' {} \; Para indicar quantas ocorrências em cada pdf: find ~ -name '*.pdf' -exec pdfgrep -c -H -i 'fitting' {} \; | awk -v FS=":" -v OFS="\t" '$2>0 { print $2, $1 }' | sort -hr Para mostrar somente a primeira ocorrência no pdf: $  find ~ -name '*.pdf' -exec pdfgrep -H -i -m 1 'fitting' {} \; Solução 2: via pdftotext     Nota: pode apresentar mensagens de erro quando há problemas na conversão para texto     No terminal de comandos digite: $  find ~ -name '*.pdf' -exec sh -c 'pdftotext "{}"...

QBASIC no Linux

Problema:   Você encontrou um diretório com antigos programas feitos em QBASIC e quer rodá-los no Linux. Como fazer? Estratégia: 1) Obtenha um emulador do DOS, por exemplo, o dosbox 2) Obtenha o QBASIC na versão desejada 3) Faça o emulador DOS considerar o diretório onde se encontra o executável do QBASIC como drive C: Como fazer?   Supondo que está usando o Ubuntu ou Mint e afins, os 3 passos da estratégia podem ser assim implementados: * Passo 1: Abra um terminal de comandos e digite (após o $) $ sudo apt-get install dosbox * Passo 2: Caso você só tenha os arquivos fonte e não tenha o compilador QBASIC, você poderá baixá-lo daqui . Se já tiver o QBASIC, vá direto ao próximo passo. * Passo 3: 3.1) Deixe o QBASIC em ~/qbasic (só uma sugestão). No meu caso, eu não precisei baixar pois eu já tinha uma pasta com a seguinte estrutura:  /home/richard/Laboratorio/programacao/qbasic Nesse caso eu criei um link de ~/qbasic apontando para o local c...