Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Vá mais longe com a SHELL!

- Ricardo, tenho duas cartas idênticas a exceção de meu nome no final em uma delas. Como descubro rapidamente qual é delas contém meu nome?

- Ah! Mauri é simples: abra um terminal e digite... É... bem... hãããã...

É neste momento que nós entusiastas do Linux sentimos falta das linguagens (sim, senhoras e senhores, linguagem!) shell nativas no Linux (a versão mais comum é a Bash). O escopo desse artigo é mostrar o BBB da Shell (ou seja, o Básico do Básico do Básico). Se quiser saber mais, aprenda com o mestre Julio Cezar Neves.

Voltando...quando conversamos sobre a SHELL com alguém logo ouvimos 'É igual ao DOS né?'; Na realidade não, a SHELL é bem mais flexível e poderosa e nos permite desde a configuração/personalização do sistema bem como a automatização de processos(back-up's, controle de espaço em disco, etc..)
” A nota foi enviada por Ricardo(k2) (k2Θlinuxmail·org), que acrescentou este link da fonte para maiores detalhes.

Veja abaixo o restante do texto.




Um exemplo bobinho: supondo que temos um arquivo chamado 'a_vida_o_universo_e_tudo_mais.txt'(a extensão .txt não é obrigatória no Linux para designar um arquivo de texto, assim seu uso aqui é meramente didático) e gostaríamos de localizar a palavra 'Terra' no Capítulo I, usaríamos o seguinte comando:

$ cat a_vida_o_universo_e_tudo_mais.txt | grep Terra | more

e o resultado seria algo como:

$ Terra Pré-Histórica como resultado de uma complexa seq??ência de eventos envolvendo o fato

Ou seja, retorna a parte do texto que contém a palavra (em nosso caso 'Terra') ou string (seq??ência de caracteres) procurada.

Se quiser ter certeza de verdade de uma olhada no livro...

Mas como dito acima este exemplo é bobinho, vamos ver algo um pouco mais prático: identificar os processos do usuário ricardo:

$ ps aux | grep ricardo

e a saída seria a lista de todos os processo do usuário ricardo.

No entanto, para desfrutarmos de todo o poder da SHELL antes de mais nada, precisamos ver nossos 'comando em ação' (tá o trocadilho ficou horrível...):

CAT - Exibe o conteúdo de um arquivo na saída padrão(normalmente a tela); GREP - O 'Sherlock Holmes' da turma, localiza em uma string em um arquivo. Normalmente é usado para 'filtrar' a saída de outro comando;

LS - Lista o conteúdo do diretório corrente. Suas opções de uso (as 'flags') são enormes;

| - Pipe (ou tubo).É a 'cola' utilizada para encadear um comando ao outro.Com ele é possível criar scripts em poucos segundos;

>- Cria um arquivo vazio. Exemplo:

$ >ricardo

cria o arquivo ricardo;

>> - Adiciona o conteúdo no fim do arquivo especificado, caso o artigo não exista ele será criado. Exemplo:

$ meu nome >>ricardo

adiciona as palavras meu nome no final do arquivo ricardo.

Citei só alguns no caso os mais utilizados ao elaborar um script ou no encadeamento de comandos.

Existe uma infinidade de comandos úteis que combinados a outros geram uma infinidade ao quadrado de possibilidades.

Ah! Já ia esquecendo da solução para o problema da Mauri citado lá em cima...Uma opção seria:

$ diff carta.txt carta2.txt

Assumindo que os arquivos em questão fossem 'carta.txt' e 'carta2.txt'.

Mais esta é só uma maneira, com SHELL você tem 1001 forma de fazer cada coisa...Invente a sua!



Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de nemesis
na verdade...: "'É igual ao DOS né?'; Na realidade não, a SHELL é bem mais flexível e poderosa"

na verdade, o que as pessoas chamam de DOS é o command.com, seu "shell" ou interpretador de comandos. Um shell bem fraquinho e pobre de recursos, típico de microcomputadores da década de 1980. Mas que ainda é o mesmo que vem hoje no sistema!! :P

esse é o problema de se nivelar por baixo: as pessoas só conseguem comparar com o que há disponível no Windows, então quando se fala de console ou editores de texto e outros programas de linha-de-comando, ficam imaginando como o Linux é primitivo, pq na cabeça delas é tudo igual ao "DOS" e sua pobreza de recursos e dificuldade de interação...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004