Escolar Documentos
Profissional Documentos
Cultura Documentos
Junho 2014
Exemplos de pipeline
XXXI. Os metacarteres do shell
XXXII. Truques e Dicas
XXXIII. Midnight Commander (clone mc)
XXXIV. Error: command not found
Exemplo : Ls no lugar de ls
XXXV. Erro: Nenhum arquivo ou diretrio deste tipo
XXXVI. Erro: Permisso recusada
XXXVII. Conselhos de redao
Exemplo : supresso da raiz por causa de um simples espao
Um outro exemplo com o espao
XXXVIII. Executar um script
Introduo
Convite aos membros Kioskea
Eu convido os membros contribuintes Kioskea, a fazer correes necessrias bem como modificar ou integrar coisas teis por um
debutante em linha de comando (evitando coisa complicadas este no o objetivo). Eu convido tambm os membros no contribuintes do
kioskea , a me relatar eventuais erros e suas sugestes atravs do frum Mensagens privadas. Obrigada O objetivo deste tutorial o de
permitir a um debutante da linha de comando de ter sucesso nesta tarefa. Longe de ser completo, este pequeno tutorial permitir a voc
conhecer o Shell como software e no como uma linguagem de programao. Eu vou tentar ser o mais breve possvel nos nveis de cada
captulo (explicaes concisas e claras), porm este tutorial risca de ser longo. E por isso a idia de vrios captulos. No necessrio
percorrer o tutorial do incio ao fim. Voc pode acessar diretamente o captulo que lhe interessar em funo de sua necessidade.
inquietao.
Se a senha vlida, um campo de comando deve afixar-se, indicando que a conexo se completou
Exemplo :
Exemplo de afixagem :
X. Arquivos de configurao
No momento da conexo, em um console virtual ou na abertura de um terminal em modo grfico, shell utiliza informaes que encontram-se
em certos (.bashrc, .bash_profile, etc)
O comportamento do shell pode ser modificado editando estes arquivos.* O arquivo .bashrc por exemplo utilizado no captulo sobre os
clones. Naquilo que concerne a configurao de seu shell, voc deve esperar um pouco, no ser para logo. Voc vai aprender a faz-lo
com o tempo, ento seja paciente.
Exemplo: o comando ls
com argumento
Ou ento "which" (em portugus o qual, a qual, o qu, quem, aquilo que qual ) :
, voc encontrar a lista dos comandos que aconselhado consultar tendo relao direta com o comando sobre o qual voc est lendo o
manual.
Exemplos:
1.execuo do comando man crontab
2.o convite do comando ( o prompt) vai desaparecer e a pgina man ser afixada
Olhe a parte SEE ALSO e voc ver as pginas que so aconselhadas para consultar. Isto quer dizer que pode-se digitar: man 5 crontab
man 8 cron 3. a tecla q para sair da pgina man e voltar chamada do comando (prompt)
Para obter a descrio resumida de um comando, utiliza-se a opo "-f" man -f comando
whatis comando Para conhecer as rubricas que existem na apresentao da palavra chave, a "-k" : man -k comando
COMMAND(1)
COMMAND(1)
NAME
comando - resumo da ao do comando
SYNOPSYS
<sintaxe completa do comando>
DESCRIPTION
Explicaes relativas a execuo do comando
OPTIONS
Lista das opes e o qu elas fazem
FILES
Os arquivos utilizados pelo comando
SEE ALSO
Comando_prima(1), comamco-irmo(5), etc.
BUGS
Os bugs existentes no comando
AUTHOR
O nome do autor
XX. A raiz
Nos sistemas da famlia Unix, a raiz representa o top da arborescncia dos diretrios. Ela representada pelo signo/carter / (slash) e
significa "root" (raiz em portugus) Todos os diretrios de seu sistema so ligados uma raiz de maneira direta ou indireta.
Exemplo :
O arquivo b.txt encontra-se no /home/user/doc/text Voc se encontra no /home/user/ascii O caminho absoluto para b.txt
/home/user/doc/text/b.txt
Qualquer que seja a localizao na arborescncia a utilizao do caminho absoluto o mais seguro para acessar o arquivo desejado.
O diretrio ascii encontra-se em /home/yogi ento escrevendo .. eu vou utilizar o diretrio parente /home/yogi como ponto de partida depois,
em seguida, eu vou em doc/text (note que eu no disse /doc/text - que teria o doc da raiz / )
raiz
XXVI. Histrico
Os comandos executados esto registrados no histrico. A varivel HISTSIZE contm o nmero mximo dos comandos a registrar. Voc
pode acessar o histrico com o comando history
history [n] | less
n - a opo "n" permite afixar os "n" ltimos comandos (facultativo)
less - o comando less permite navegar no histrico
As flechas alto e baixo lhe permitem navegar no histrico.
!n - permite executar o comando correspondente ao nmero "n" na lista sem ter de redigit-la
bem verdade que na explicao tem-se a impresso que longo. Tranqilize, bastante rpido, mesmo se voc digitar com somente um
dedo:-)
Etapa I - CONSELHO
Backup do arquivo original, utiliza-se o comando "cp (copie) acompanhamento do arquivo fonte propriamente dito seguido do arquivo alvo
(aqui inexistente)
XXIX. O alias
A utilizao de alias muito prtico para os comandos longos que so utilizados regularmente. Isto evita de redigit-los. A utilizao
excessiva de alias pode provocar o esquecimento dos comandos e de suas opes. Compete voc gerenciar a utilizao dos alias. Os alias
ns os escreveremos no arquivo .bashrc da seguinte maneira: (veja o captulo XXVIII Edio de arquivos (vi, vim)) alias nome='comando'
Assim que o arquivo /home/user/.bashrc estiver editado, digite
fonte /home/user/.bashrc
Para integrar imediatamente os alias O comando aliasafixa os alias existentes
Os redirecionamentos
O que redirecionar? a possibilidade de dirigir o resultado de um comando utilizando outras destinaes do que aquelas dos
descriptadores standards. Para realizar um redirecionamento utiliza-se: comando > arquivo - redirecionamento em modo de escrita para o
arquivo O arquivo ser criado se ele no existir Seu contedo ser substitudo pelo novo arquivo se o arquivo j existe comando >> arquivo
- redirecionamento em modo adicionar para o arquivo O arquivo ser criado se ele no existir O resultados ser adicionado no final do
arquivo comando< fichier - o comando l a partir do arquivo
Exemplos de redirecionamentos:
- enviar o contedo do arquivo 1 no arquivo 2 Se o arquivo 2 existe seu contedo de origem ser suprimido, o arquivo 2 ser criado se ele no
existir
-enviar o contedo do arquivo 1 para o arquivo 2 - modo adicionar Se o arquivo 2 existe, o contedo do arquivo 1 ser adicionado no final do
arquivo 2, se o arquivo 2 no existir, ele ser criado [/faq/images/4801-MqSkG3izTP2mexRk.png [Image: /faq/images/4801MqSkG3izTP2mexRk-s-.pngpx|]] -busque na raiz o arquivo chamado arquivo .txt, os erros ao invs de serem enviados para STDERR (o ecr)
sero enviados para /dev/null (espcie de lixeira sem fim)
- procure na raiz o arquivo chamado.txt, os erros ao invs de serem enviados para STDERR (o ecr) sero enviados ao arquivo erros.txt
Os pipelines
comando1 | comando2 - o resultado do comando1 utilizado pelo comando2
comando1 & comando2 -os comandos so executados simultaneamente, comando1 executando-se no plano de fundo
comando1 && comando2 -se o comando1 se completar o comando2 executado
comando1 || comando2 - o comando2 executa-se somente se o comando1 abortado
comando1; comando2 - os comandos so executados na ordem
Exemplos de pipeline
- O tubo | (pipe)
Num primeiro momento eu executo perl -ne 'print unless /^\s*$/' guideshell com o objetivo de afixar, no ecr, as linhas vazias eliminadas.
Ao invs de afixar no ecr eu utilizo | para passar o resultado ao comando wcque vai contar o nmero de linhas deste arquivo - O paralelismo
&
Voc notar que no 1 caso os dois comandos executam-se. Mas no 2 caso eu fao voluntariamente um erro de sintaxe para 1 comando.
O shell nem v o 2 comando e ele pra nos dizendo que ech no um comando conhecido. - A alternativa ||
No 1 caso voc observar que somente o 1 comando executou-se. No 2 caso o shell afixa um erro para o 1 comando mas ele executa
de qualquer forma o 2. - O seqenciamento:
eco a executa-se Eu espero 1 segundo eco b executa-se Eu espero 2 segundos eco c executa-se
Exemplo : Ls no lugar de ls
Explicao : Voc observar que no 2 caso, por engano eu digitei um espao entre / e home. O que acontece? O shell vai pensar que o
comando rm deve ser suprimido, antes a raiz / e depois home/yogi/a_suprimir. Devo dizer que voc acabou de apagar todos os dados de seu
sistema. Que "home/yogi/a_suprimmir" no existe, pouco importa, seu sistema no existe mais. ASSIM ATENO QUILO QUE VOC
DIGITAR NO SHELL!!! Uma soluo para evitar tudo isto de UTILIZAR A COMPLETUDE dos comandos. Se voc digita / e em seguida a
tecla TAB 2 vezes, diversas escolhas se afixaro no ecr. Normalmente so os diretrios da raiz: boot,bin...home...,var. Voc ter somente
que acrescentar um h para home e de novo TAB 2 vezes e assim por adiante TOME O TEMPO DE LER ESTAS ADVERTNCIAS PARA
NO ARREPENDER-SE DEPOIS!!!
Note que o resultado obtido no est conforme com aquilo que se desejava. Vamos ver somente um arquivo aa bb e no o arquivoaa e o
arquivo bb Por que obtivemos isto ? Pois o shell, quando digitamos
touch aa bb
, Entendeu que era necessrio criar um arquivo aa e um arquivo bb. Corrigindo isto :
Agora voc vai dizer : Mas no foi criado aa bb mas aa\ bb !!! Na realidade voc criou aa bb O carter \ permite o espao como um carter
literal. Alis, o comando ls -l mostrar claramente a existncia do arquivo aa bb No lugar do anteislash voc pode utilizar as apstrofes
simples touch 'aa bb' O que se pode aprender com isto? Cada vez que voc utilizar caracteres no alfabeto numricos, tais como $,i -slashr
ou ento coloque-os entre apstrofes simples. 3. Os comandos longos que utilizam mais de uma linha Se o comando torna-se muito longo
voc pode passar para a linha seguinte utilizando o carter \