22
SHELL BASH - Guia de utilização - Nível debutante Junho 2014 SHELL BASH - Guia de utilização - Nível debutante Introdução Convite aos membros Kioskea II. O que é a shell ? III. Como acessar a linha de comando IV. Os consoles virtuais Exemplo: Acessar o console a partir da interface gráfica V. Conexão a um console virtual Exemplo : VI. Na chamada do comando do shell após conexão VII. Retornar ao modo gráfico a partir do console virtual VIII. O ambiente Shell IX.Variáveis de ambiente a conhecer Exemplo de afixagem : X. Arquivos de configuração XI. Por que utilizar a linha de comando? XII. Noções do comando Exemplo: o comando ls XIII. Onde se encontram os comandos? Exemplo: busca da existência do comando com which XIV. A documentação (As páginas « man ») Exemplos: XV. A estrutura de uma página de man XVI. Algumas regras para compreender SYNOPSYS e/ou OPTIONS XVII. Comandos de base XVIII. Execução de um comando Exemplo: lançamento do Firefox após uma linha de comando XIX. Trocar de identidade (mudar de usuário) XX. A raiz XXI. Os diretório "." e ".." XXII. Onde estou ? (posição na arborescência) XXIII. O caminho absoluto Exemplo : XXIV. O caminho relativo Exemplo : o diretório corrente. Exemplo : o diretório parente .. XXV.Como se deslocar na arborescência XXVI. Histórico XXVII. A finalização automática dos comandos Exemplo: comando tal utilizando o caminho absoluto ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB XXVIII. Edição de arquivos (vi,vim) Etapa I - CONSELHO Etapa II - Abertura do arquivo Etapa III - Edição do arquivo Etapa IV - Fim da edição do arquivo Etapa V -Gravação das modificações e sair de "vi" XXIX. O alias XXX. Os redirecionamentos e os pipelines Os redirecionamentos Exemplos de redirecionamentos: Os pipelines

Shell Bash Guia de Utilizacao Nivel Debutante 973 Ler4no

Embed Size (px)

DESCRIPTION

Guia de utilização do bash.

Citation preview

  • SHELL BASH - Guia de utilizao - Nvel debutanteJunho 2014

    SHELL BASH - Guia de utilizao - Nvel debutanteIntroduo

    Convite aos membros KioskeaII. O que a shell ?III. Como acessar a linha de comandoIV. Os consoles virtuais

    Exemplo: Acessar o console a partir da interface grficaV. Conexo a um console virtual

    Exemplo :VI. Na chamada do comando do shell aps conexoVII. Retornar ao modo grfico a partir do console virtualVIII. O ambiente ShellIX.Variveis de ambiente a conhecer

    Exemplo de afixagem :X. Arquivos de configuraoXI. Por que utilizar a linha de comando?XII. Noes do comando

    Exemplo: o comando lsXIII. Onde se encontram os comandos?

    Exemplo: busca da existncia do comando com whichXIV. A documentao (As pginas man )

    Exemplos:XV. A estrutura de uma pgina de manXVI. Algumas regras para compreender SYNOPSYS e/ou OPTIONSXVII. Comandos de baseXVIII. Execuo de um comando

    Exemplo: lanamento do Firefox aps uma linha de comandoXIX. Trocar de identidade (mudar de usurio)XX. A raizXXI. Os diretrio "." e ".."XXII. Onde estou ? (posio na arborescncia)XXIII. O caminho absoluto

    Exemplo :XXIV. O caminho relativo

    Exemplo : o diretrio corrente.Exemplo : o diretrio parente ..

    XXV.Como se deslocar na arborescnciaXXVI. HistricoXXVII. A finalizao automtica dos comandos

    Exemplo: comando tal utilizando o caminho absolutols /u + TAB + b + TAB + ta + TAB + TAB + i + TAB

    XXVIII. Edio de arquivos (vi,vim)Etapa I - CONSELHOEtapa II - Abertura do arquivoEtapa III - Edio do arquivoEtapa IV - Fim da edio do arquivoEtapa V -Gravao das modificaes e sair de "vi"

    XXIX. O aliasXXX. Os redirecionamentos e os pipelines

    Os redirecionamentosExemplos de redirecionamentos:Os pipelines

  • Exemplos de pipelineXXXI. Os metacarteres do shellXXXII. Truques e DicasXXXIII. Midnight Commander (clone mc)XXXIV. Error: command not found

    Exemplo : Ls no lugar de lsXXXV. Erro: Nenhum arquivo ou diretrio deste tipoXXXVI. Erro: Permisso recusadaXXXVII. Conselhos de redao

    Exemplo : supresso da raiz por causa de um simples espaoUm outro exemplo com o espao

    XXXVIII. Executar um script

    Introduo

    Convite aos membros KioskeaEu convido os membros contribuintes Kioskea, a fazer correes necessrias bem como modificar ou integrar coisas teis por umdebutante em linha de comando (evitando coisa complicadas este no o objetivo). Eu convido tambm os membros no contribuintes dokioskea , a me relatar eventuais erros e suas sugestes atravs do frum Mensagens privadas. Obrigada O objetivo deste tutorial o depermitir a um debutante da linha de comando de ter sucesso nesta tarefa. Longe de ser completo, este pequeno tutorial permitir a vocconhecer o Shell como software e no como uma linguagem de programao. Eu vou tentar ser o mais breve possvel nos nveis de cadacaptulo (explicaes concisas e claras), porm este tutorial risca de ser longo. E por isso a idia de vrios captulos. No necessriopercorrer o tutorial do incio ao fim. Voc pode acessar diretamente o captulo que lhe interessar em funo de sua necessidade.

    II. O que a shell ?Para ter uma explicao exata eu recomendo visitar este site SHELL Shell um programa que se encontra no diretrio/bin. Distinguem-sediversos Shells - le /bin/sh shell Bourne - le /bin/bash Bourne Again SHell - le /bin/csh C shell - le /bin/ksh Korn shell - le /bin/tcsh Cshell atualizado em espanhol - le /bin/zsh/ Z shell em espanhol A continuidade deste tutorial trata unicamente do shell bash que aShell padro para as distribuies GNU-LINUX. Shell permite executar comandos, explorar a arborescncia do sistema, criar, editar esuprimir arquivos, etc.

    III. Como acessar a linha de comandoPara acessar a linha de comando, possvel utilizar um http://pt.wikipedia.org/wiki/Terminal_(inform%C3%A1tica) (xterm, kterm, gterm) ouento Console. kterm - um terminal emulador multi-lnguas baseado no xterm. As principais diferenas entre kterm e xterm so:

    A possibilidade de tratar o texto multilnguas codificado em ISO2022 em ingls, * mostrar o texto colorido (Verr man kterm).Para faz-lo, duas possibilidades so oferecidas:

    utilizar o menu da rea de trabalho (Gnome, Kde, etc.). Trata-se do mtodo aconselhado.utilizar o menu lanar uma aplicao. Na janela aberta, digitar o nome do terminal e validar. A janela lanar uma aplicao pode serAlt+F2Utilizar os consoles virtuais (tem seis).

    IV. Os consoles virtuaisO console virtual (tty1 tty6) um ecr negro onde uma chamada de comando aparece da forma login : A partir a interface grfica, possvel conectar-se a um console virtual utilizando a combinao das teclas Ctrl+Alt+FN, onde N um nmero de 1 6

    Exemplo: Acessar o console a partir da interface grficaCTRL+ALT+F3 Estando em um console virtual, a navegao entre as diferentes consoles virtuais se faz com a combinao das teclasAlt+FN, onde N um nmero de 1 6

    V. Conexo a um console virtualNo campo login:, digitar a identificao (login) do usurio, depois validar pressionando Enter, o campo Password: se afixar. Digitar a senhado utilisador e validar.

    A senha no est afixada no ecr por razes de segurana. O fato de no ver no ecr aquilo que voc digita, no motivo de

  • inquietao.

    Se a senha vlida, um campo de comando deve afixar-se, indicando que a conexo se completou

    Exemplo :

    VI. Na chamada do comando do shell aps conexoA chamada do comando (ou prompt) do shell tem a seguinte forma : nome@mquina ~ $

    nom - representa o identificador do usurio conectadomquina- representa o nome da mquina~ um atalho que significa o diretrio pessoal /home/usurio$ significa que voc est conectado enquanto usurio

    Se no lugar do $ o signo/carter # aparece, ento voc est conectado como super usurio. (Root).em espanhol Tenha presente que ossistemas Gnu/Linux utilizam por conveno # para root e $ para um usurio outro que o root.em espanhol Este comportamento pode mudartrocando a varivel do ambiente PS1, mas isto desaconselhado!

    VII. Retornar ao modo grfico a partir do console virtualPara retornar ao modo grfico a partir do console virtual, utilizar a combinao das teclas ALT+F7

    VIII. O ambiente ShellAps conexo, o usurio est conectado em seu ambiente. Isto significa que Shell coloca disposio variveis de ambiente, quer dizer umrecipiente memria no qual os dados so armazenados. Para afixar o contedo de uma varivel de ambiente, o comando echo$NOM_VARIABLE pode ser utilizado. (eco $NOME_VARIVEL) O nome das variveis de ambiente por conveno em maisculas, preciso respeitar a regra.

    IX.Variveis de ambiente a conhecerHOME, USER, GROUPS, UID, PWD, SHELL, PATH, HOSTNAME

    HOME contm o diretrio do usurioUSER contm o login do usurioPWD contm o diretrio correnteSHELL contm o nome do shell de conexoPATH contm a lista dos diretrios onde se encontram as chamadas que o usuario pode executarHOSTNAME contm o nome da mquinaHISTSIZE contm o tamanho mximo dos comandos executveis contidos no arquivo do histricoPS1 contm os parmetros de afixagem da chamada do comando (o prompt)

    Exemplo de afixagem :

  • O comando set permite afixar as variveis e seu contedo.

    X. Arquivos de configuraoNo momento da conexo, em um console virtual ou na abertura de um terminal em modo grfico, shell utiliza informaes que encontram-seem certos (.bashrc, .bash_profile, etc)

    O comportamento do shell pode ser modificado editando estes arquivos.* O arquivo .bashrc por exemplo utilizado no captulo sobre osclones. Naquilo que concerne a configurao de seu shell, voc deve esperar um pouco, no ser para logo. Voc vai aprender a faz-locom o tempo, ento seja paciente.

    XI. Por que utilizar a linha de comando?Muitas solues so dadas em linha de comando, no por que GNU/Linux no tem uma interface grfica mas somente certas tarefas, que autilizao da linha de comando no se mostre bem mais prtica e mais potente que o famoso mouse.

    XII. Noes do comandoUm comando um arquivo executvel. A execuo de um comando pode ser diferente dependendo do caso. Os comandos utilizados sodados a ttulo de exemplo ; ento no obstine-se em compreend-los, se voc encontrar problemas com alguns deles. Os comandos de basesero detalhados ulteriormente.

    Exemplo: o comando ls

  • O comando ls afixa o contedo de um diretrio. man ls para mais detalhes.sem argumento e sem opo

    sem argumento com uma ou diversas opes

    com argumento

    com argumento e com um ou diversas opes

  • XIII. Onde se encontram os comandos?Os comandos, que voc pode executar a partir de seu terminal, encontram-se em certos diretrios de seu sistema. A varivel PATH (emportugus : caminho ) contm uma lista de diretrios que contm os comandos acessveis. Para ter acesso todos os comandos necessrio geralmente ser Usurio root. Para encontrar o lugar de um comando utiliza-se "whereis" (em portugus "onde est"):

    Ou ento "which" (em portugus o qual, a qual, o qu, quem, aquilo que qual ) :

    A diferena entre whereis et whichwhereis - busca de arquivos executveis, as fontes e as pginas do manual de um comando.which - busca em uma varivel PATH os arquivos executveis

    Exemplo: busca da existncia do comando com which1. O usurio yogi pequisa se o comando iptables existe no sistema, o resultado para ele NON

    2. Verifica-se como root [/faq/images/4801-ka6QDn5Y56sG2E8N.png [Image: /faq/images/4801-ka6QDn5Y56sG2E8N-s-.pngpx|]] Narealidade o comando iptables existe no sistema no/sbin. O diretrio/sbin no se ncontrando no PATH do usurio yogi, bem normal quewhich no d um resultado. Em resumo whereis mais garantido.

    XIV. A documentao (As pginas man )Ao em linha de comando man comando man N comando N - O nmero da pgina man (voc o ver no alto a esquerda) Como regra geral na parte SEE ALSO de uma pgina man

  • , voc encontrar a lista dos comandos que aconselhado consultar tendo relao direta com o comando sobre o qual voc est lendo omanual.

    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

    XV. A estrutura de uma pgina de man

  • COMMAND(1) Manual do usurio Linux COMMAND(1)

    NAME comando - resumo da ao do comando

    SYNOPSYS

    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

    XVI. Algumas regras para compreender SYNOPSYS e/ou OPTIONS- Todo texto isokado, sem [] (colchete []), {} (chave{}), (setas"), digita-se tal e qual aparecem - O texto entre colchetes [] facultativo - O texto entre chaves {} contm escolhas a fazer. As escolhas so separadas por | (pipe) ou por uma vrgula , comando -{a|b}quer dizer comando -a ou comando -b mas no comando -ab-O texto entre setas deve ser substitudo pelo texto apropriado -os parnteses (...), utilizados por parmetros como os nomes de arquivos - Os colchetes [] e as setas podem ser combinados [] - facultativo mas se voc utiliz-los dever escrever o nome do arquivo - Os colchetes [] e as chaves podero ser combinados [--opo={a|b|c}]

    XVII. Comandos de base

  • cat - L (concatne) um ou diversos arquivos, afixagem na sada standard cd - ChangeDdirectory, muda o diretrio chmod - CHangeMODe -muda o modo de acesso (permisses de acesso) de um ou diversos arquivos chown - CHangeOWNer - muda o proprietrio de um ou de diversos arquivos cp - copia arquivos crontab - planificao de tarefas cut - Retira partes precisas do texto em cada linha do arquivo date -Afixa a data de acordo com o formato solicitado dd - DevicetoDevice - Recopia octeto por octeto tudo ou parte de um perifrico (habitualmente de armazenagem) em um outro perifrico. df - afixagem da quantidade do espao livre em todos os sistemas de arquivos du - DiksUsage - a utilizao do disco echo - Afixa o texto na sada standard (no ecr) exit - Para a execuo do shell find - procura de arquivos fsck - FileSystemChecK - verificao da integralidade do sistema de arquivos grep - busca em um ou diversos arquivos as linhas que correspondem um motivo. groupadd- Integrar um grupo de usurios gunzip - descompresso de arquivos gzip - compresso de arquivos head - afixa as primeiras linhas (por padro 10) de um arquivo help - afixa uma ajuda para comandos internos de bash kill - envia um sinal um processo less - programa a afixagem do ecr ln - criao de links ls - lista do contedo dos diretrios man - afixa as pginas do manual mkdir - MaKeDIRdirectory - cria umdiretrio mkfs - MaKeFileSystem - criao de sistemas de arquivos more - afixagem do ecr mount - monta um sistema de arquivos mv - desloca, nomeia novamente um arquivo ps - afixa os precessos com execuo em andamento pwd - Print name of current/wworking dDirectory - afixa o caminho completo do diretrio corrente rm - supresso de arquivos rmdir -Remove empty directories - supresso de um dossier vazio tail - afixa as 10 ltimas linhas de um arquivo tar - criao de arquivos su - Ssustitute User identity ou Switch U - substitui a identidade de um usurio uname - Afixa as informaes sobre o sistema. useradd - integra um usurio whereis - localiza um comando

    XVIII. Execuo de um comandoExiste diversas maneiras de executar um comando.

    utilzando simplesmente seu nomeutilizando o caminho absolutoutilizando o caminho relativoutilizando clones (prtica para os comandos empregados seguidamente e que so longos)

    Um comando pode ser executado no plano de fundo utilizando o signo & e depois o nome do comando. A execuo de um comando emplano de fundo permite retornar ao shell depois da execuo.

    Exemplo: lanamento do Firefox aps uma linha de comando

  • XIX. Trocar de identidade (mudar de usurio)De seu shell voc tem a possibilidade de substituir a identidade de um outro usuario existente no seu sistema, inclusive o usurio "root". Paratanto voc tem disposio o comando su ou su - Olhe utilizar o comando su para mais detalhes

    XX. A raizNos sistemas da famlia Unix, a raiz representa o top da arborescncia dos diretrios. Ela representada pelo signo/carter / (slash) esignifica "root" (raiz em portugus) Todos os diretrios de seu sistema so ligados uma raiz de maneira direta ou indireta.

    XXI. Os diretrio "." e "..". Indique o diretrio corrente.. indique o diretrio parente

  • XXII. Onde estou ? (posio na arborescncia)Uma coisa muito importante a saber quando se est conectado no shell, onde que estamos na arborescncia. O comando pwd(PrintWorkingDdirectory) afixa sua localizao na arborescncia.

    XXIII. O caminho absolutoO caminho representa a arborescncia completa de arquivos, partindo da raiz.

    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.

    XXIV. O caminho relativoO caminho relativo para acessar um arquivo a arborescncia dada sua localizao no shell. Utiliza-se as notaes . e/ou .. . nos permitedescer na arborescncia do diretrio corrente Nos permite num primeiro momento subir em arborescncia.. nos permite num primeiromomento subir em arborescncia com o objetivo de atingir outros diretrios.

    Exemplo : o diretrio corrente.O arquivo b.txt encontra-se no /home/user/doc/text Voc encontra-se em /home/user O caminho relativo para b.txt est ./doc/text/b.txt

    Exemplo : o diretrio parente ..O arquivo b.txt encontra-se em /home/user/doc/text Voc encontra-se em /home/user/ascii O caminho relativo para b.txt est../doc/text/b.txt

    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 / )

    XXV.Como se deslocar na arborescnciaPara se deslocar na arborescncia utilizar o comando cd cd /caminho/para/diretrio Com pwd voc pode verificar sua nova localizao na

  • raiz

    XXVI. HistricoOs comandos executados esto registrados no histrico. A varivel HISTSIZE contm o nmero mximo dos comandos a registrar. Vocpode acessar o histrico com o comando historyhistory [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

    XXVII. A finalizao automtica dos comandosDigitar um comando em um terminal nem sempre coisa fcil. Apesar disto, tranqilize. O shell permite a finalizao automtica (digita-se porexemplo 1 ou 2 letras e o software completa todo o comando) dos comandos.

    Exemplo: comando tal utilizando o caminho absoluto- Isto supe que eu deva digitar /usr/bin/tail A finalizao automtica nos permite fazer economias com respeito a escrita do comando e aomesmo tempo a segurana da sintaxe. A finalizao automtica se obtm utilizando a tecla TAB Para tanto vamos comear com o 1carter...

    Eu digito J /u e pressiono sobre TABO shell vai completar e vai escrever /usr/Neste momento eu integro um b ento eu estou com/usr/bEu pressiono novamente sobre TAB e eu terei /usr/bin/Neste momento eu integro ta,ento eu terei /usr/bin/taEu pressiono 2 vezes sobre TAB

    O shell no meu sistema encontra 4 correspondentestac tack tail taskselEu vou continuar e eu vou integrar um iassim terei /usr/bin/taiEu pressiono novamente TABe eu obtenho /usr/bin/tail

    ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB

  • bem verdade que na explicao tem-se a impresso que longo. Tranqilize, bastante rpido, mesmo se voc digitar com somente umdedo:-)

    XXVIII. Edio de arquivos (vi,vim)O editor vi Muito til, sobretudo quando se tem um problema com o modo grfico.

    Etapa I - CONSELHOBackup do arquivo original, utiliza-se o comando "cp (copie) acompanhamento do arquivo fonte propriamente dito seguido do arquivo alvo(aqui inexistente)

    Etapa II - Abertura do arquivo

  • Etapa III - Edio do arquivo- pressione a tecla ipara passar ao modo insero No canto esquerdo voc ver --INSERO-- -utilize as flechas (direita, esquerda, alto,baixo) ou Pg Suiv. e Pg Prec. Para navegar pelo arquivo - A insero dos sinais faz-se acima do cursor com o deslocamento direita docursor -A tecla supresso permite suprimir o sinal encontrando-se acima do cursor

    Etapa IV - Fim da edio do arquivoPressione a tecla Escap assim que voc terminou a edio --INSERO-- vai desaparecer

    Etapa V -Gravao das modificaes e sair de "vi"- pressione a tecla : (voc dever v-los aparecer no canto esquerdo abaixo a esquerda) - escrevawq (para WriteQuit) - pressione em "Enter"Voltar ao terminal

  • Eis aqui referente edio com "vi" ou "vim"

    XXIX. O aliasA utilizao de alias muito prtico para os comandos longos que so utilizados regularmente. Isto evita de redigit-los. A utilizaoexcessiva de alias pode provocar o esquecimento dos comandos e de suas opes. Compete voc gerenciar a utilizao dos alias. Os aliasns 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, digitefonte /home/user/.bashrcPara integrar imediatamente os alias O comando aliasafixa os alias existentes

    XXX. Os redirecionamentos e os pipelinesPrimeiro inicia-se com uma pequena explicao referente aos descriptadores das entradas - sadas":

    tudo aquilo que se escreve no shell chama-se STDIN (STandarDINput)tudo aquilo que voc v no ecr pode ser :

    STDOUT (STandarDOUTput)STDERR (STandarDERRor)

    Estes descriptadores so numerados como abaixo descritos : 0: entrada standard (STDIN) ecr

    2: sada erros (STDERR) ----------------> ecr

    Os redirecionamentosO que redirecionar? a possibilidade de dirigir o resultado de um comando utilizando outras destinaes do que aquelas dosdescriptadores standards. Para realizar um redirecionamento utiliza-se: comando > arquivo - redirecionamento em modo de escrita para oarquivo 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 doarquivo 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 noexistir

  • -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 doarquivo 2, se o arquivo 2 no existir, ele ser criado [/faq/images/4801-MqSkG3izTP2mexRk.png [Image: /faq/images/4801-MqSkG3izTP2mexRk-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 pipelinescomando1 | 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&

    Os comandos se executam simultaneamente -A dependncia &&

    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 executade 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

    XXXI. Os metacarteres do shellPara facilitar a apreenso dos comandos o shell disponibiliza meta caracteres, chamados igualmente caracteres genricos ou coringas.* - corresponde a qualquer carter e nmero de carter ? - corresponde a um s carter [...] - corresponde a um carter entre colchetes Com os colchetes pode-se tambm utilizar intervalos.[0-9] - Todo o carter compreendido entre 0 e 9 [a-zA-Z] - toda a letra comprendida no intervalo (minscula e maiscula)

    XXXII. Truques e Dicascd : voltar ao diretrio pessoal cd - : voltar ao diretrio precedente (unicamente se voc executou um cd)

    Ctrl+l : apagar o ecr Ctrl+c : interrupo de um comando Ctrl+z : suspender( pausa) um comando CTRL+t : correo de digitao invertendo duas letras Ctrl+a : ir ao incio da linha Ctrl+e : ir ao final da linha Ctrl+s : interrupo da sada do terminal (mascarar a digitao) Ctrl+q : anular a interrupo da sada (mascarar a digitao) Ctrl+u : apagar tudo esquerda do cursor Ctrl+w : apagar a palavra esquerda do cursor Ctrl+k : apagar a palavra direita do cursor Ctrl+y : colar a digitao precedente Ctrl+d : apaga o atual carter, se a linha estiver vazia desconexo

    Alt+b : se desloca para frente, palavra por palavra na linha de comando. Alt+f : se desloca para trs palavra por palavra na linha de comando. Alt+d : apaga a palavra seguinte Alt+t : troca a palavra corrente com a palavra precedente Alt+c : coloca em maisculo a corrente letra , o resto todo da palavra em minsculo, depois se desloca palavra seguinte Alt+l : coloca em maiscula a partir da corrente letra at o final da palavra, depois desloca-se palavra seguinte Alt+u : coloca em minscula a partir da corrente letra at o final da palavra depois se desloca palavra seguinte

    Alt+Backspace : apaga a palavra precedente (equivalente Ctrl+w)

    XXXIII. Midnight Commander (clone mc)Midnight Commander - gerenciador em linha de comando em ingls e uma captura de ecr Este utilitrio permite navegar, criar, editar,suprimir, etc. Com mc voc pode modificar os direitos, mudar de proprietrio, fazer buscas, conectar-se um servidor ftp, etc... mc pode serutilizado como explorador

  • XXXIV. Error: command not foundLeia este tutorial (Chapitre IV.3) variveis de ambiente PATH Um outra origem deste erro : voc no respeitou a forma dos caracteres

    Exemplo : Ls no lugar de ls

    XXXV. Erro: Nenhum arquivo ou diretrio deste tipoErro afixado pelo shell quando voc tenta executar um comando num arquivo que no existe no caminho precisado. Solues -Encontre oarquivo com o comando find para saber se ele existe no disco afim, se o caso, de conhecer seu verdadeiro caminho.

    XXXVI. Erro: Permisso recusada um problema de direitos de acesso. Leia este tutorial Direito de acesso

    XXXVII. Conselhos de redaoO shell bastante exigente na redao dos comandos. Os caracteres que tem um sentido especial para o shell devem ser dissipados paraobter o carter literal. Caracteres que tem um sentido especial para o shell :

    o espaoo ponto e vrgula ;o slash /o anti-slash \o carter | (pipe)o esperluate &o ponto .as apstrofes simples ( ' ) e duplas ( " )

    De maneira geral, deve-se observar atentivamente os caracteres no alfabeto numricos. 1. sensibilidade ao engano de digitao doscaracteres Se o comando chama-se lsesteja seguro que exatamente igual seno Ls no funcionar Igualmente para o nome de arquivose/ou diretrios. 2. o espao Pegue o exemplo de um arquivo que se chama: nome arquivo.txt Se voc digitar ls -l meu arquivo.txt para ver osatributos deste arquivo, cuidado pois voc no obter o resultado desejado. Por que? Por causa daquilo que o shell vai ler : Afixar os atributosdos arquivos nome e arquivo.txt Para obrigar shell afixar aquilo que se deseja, utiliza-se aquilo que ele nos disponibiliza. ls -l mome\arquivo.txt - sintaxe ok (o ante-slash permite ler o espao como um carter e no como um separador de argumentos de comando) ls - 'meuarquivo.txt' - sintaxe ok (as apstrofes simples tratam cada carter de forma literal) QUESTO : Como possvel ler uma apstrofe simplesde maneira literal entre 2 apstrofes simples? O espao tem tambm como papel separar os argumentos em linha de comando. Um simplesespao utilizado em um lugar errado pode ser fatal para todo o sistema.

    Exemplo : supresso da raiz por causa de um simples espaoCenrio : O root quer suprimir uma certa pasta. Para tanto ele vai utilizar o comando rmcom as opes f (fora) e R (recursivo). A pasta suprimir chama-se a_suprimir e encontra-se em /home/yogi/a_suprimir a. comando correto

  • b. comando incorreto (erro de digitao) => sistema suprimido

    Explicao : Voc observar que no 2 caso, por engano eu digitei um espao entre / e home. O que acontece? O shell vai pensar que ocomando rm deve ser suprimido, antes a raiz / e depois home/yogi/a_suprimir. Devo dizer que voc acabou de apagar todos os dados de seusistema. Que "home/yogi/a_suprimmir" no existe, pouco importa, seu sistema no existe mais. ASSIM ATENO QUILO QUE VOCDIGITAR NO SHELL!!! Uma soluo para evitar tudo isto de UTILIZAR A COMPLETUDE dos comandos. Se voc digita / e em seguida atecla TAB 2 vezes, diversas escolhas se afixaro no ecr. Normalmente so os diretrios da raiz: boot,bin...home...,var. Voc ter somenteque acrescentar um h para home e de novo TAB 2 vezes e assim por adiante TOME O TEMPO DE LER ESTAS ADVERTNCIAS PARANO ARREPENDER-SE DEPOIS!!!

    Um outro exemplo com o espaoPara reconhecer o espao com sendo um carter e no como um separador de parmetros preciso proteger- (colocar um anti-slash nafrente) Criar um arquivo que se chama "aa bb"

    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 oarquivo bb Por que obtivemos isto ? Pois o shell, quando digitamostouch 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 carterliteral. Alis, o comando ls -l mostrar claramente a existncia do arquivo aa bb No lugar do anteislash voc pode utilizar as apstrofessimples touch 'aa bb' O que se pode aprender com isto? Cada vez que voc utilizar caracteres no alfabeto numricos, tais como $,i -slashrou ento coloque-os entre apstrofes simples. 3. Os comandos longos que utilizam mais de uma linha Se o comando torna-se muito longovoc pode passar para a linha seguinte utilizando o carter \

    XXXVIII. Executar um scriptexecutar um script shell Trdauo feita por Ana SpadariEste documento, intitulado SHELL BASH - Guia de utilizao - Nvel debutante a partir de Kioskea (pt.kioskea.net) est disponibilizado sob a licena Creative Commons.Voc pode copiar, modificar cpias desta pgina, nas condies estipuladas pela licena, como esta nota aparece claramente.