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!
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")