Você está na página 1de 22

SHELL BASH - Guia de utilizao - Nvel debutante

Junho 2014

SHELL BASH - Guia de utilizao - Nvel debutante


Introduo
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 grfica
V. Conexo a um console virtual
Exemplo :
VI. Na chamada do comando do shell aps conexo
VII. Retornar ao modo grfico a partir do console virtual
VIII. O ambiente Shell
IX.Variveis de ambiente a conhecer
Exemplo de afixagem :
X. Arquivos de configurao
XI. Por que utilizar a linha de comando?
XII. Noes do comando
Exemplo: o comando ls
XIII. Onde se encontram os comandos?
Exemplo: busca da existncia do comando com which
XIV. A documentao (As pginas man )
Exemplos:
XV. A estrutura de uma pgina de man
XVI. Algumas regras para compreender SYNOPSYS e/ou OPTIONS
XVII. Comandos de base
XVIII. Execuo de um comando
Exemplo: lanamento do Firefox aps uma linha de comando
XIX. Trocar de identidade (mudar de usurio)
XX. A raiz
XXI. 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 arborescncia
XXVI. Histrico
XXVII. A finalizao automtica dos comandos
Exemplo: comando tal utilizando o caminho absoluto
ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB
XXVIII. Edio de arquivos (vi,vim)
Etapa I - CONSELHO
Etapa II - Abertura do arquivo
Etapa III - Edio do arquivo
Etapa IV - Fim da edio do arquivo
Etapa V -Gravao das modificaes e sair de "vi"
XXIX. O alias
XXX. Os redirecionamentos e os pipelines
Os redirecionamentos
Exemplos de redirecionamentos:
Os pipelines

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.

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-se
diversos Shells <cdigos> - le /bin/sh shell Bourne - le /bin/bash Bourne Again SHell - le /bin/csh C shell - le /bin/ksh Korn shell - le /bin/tcsh C
shell atualizado em espanhol - le /bin/zsh/ Z shell em espanhol </code> A continuidade deste tutorial trata unicamente do shell bash que a
Shell padro para as distribuies GNU-LINUX. Shell permite executar comandos, explorar a arborescncia do sistema, criar, editar e
suprimir arquivos, etc.

III. Como acessar a linha de comando


Para acessar a linha de comando, possvel utilizar um http://pt.wikipedia.org/wiki/Terminal_(inform%C3%A1tica) (xterm, kterm, gterm) ou
ento 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 ser
Alt+F2
Utilizar os consoles virtuais (tem seis).

IV. Os consoles virtuais


O 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 grfica


CTRL+ALT+F3 Estando em um console virtual, a navegao entre as diferentes consoles virtuais se faz com a combinao das teclas
Alt+FN, onde N um nmero de 1 6

V. Conexo a um console virtual


No campo login:, digitar a identificao (login) do usurio, depois validar pressionando Enter, o campo Password: se afixar. Digitar a senha
do 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 conexo


A chamada do comando (ou prompt) do shell tem a seguinte forma : nome@mquina ~ $
nom - representa o identificador do usurio conectado
mquina- 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 os
sistemas Gnu/Linux utilizam por conveno # para root e $ para um usurio outro que o root.em espanhol Este comportamento pode mudar
trocando a varivel do ambiente PS1, mas isto desaconselhado!

VII. Retornar ao modo grfico a partir do console virtual


Para retornar ao modo grfico a partir do console virtual, utilizar a combinao das teclas ALT+F7

VIII. O ambiente Shell


Aps conexo, o usurio est conectado em seu ambiente. Isto significa que Shell coloca disposio variveis de ambiente, quer dizer um
recipiente 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 conhecer


HOME, USER, GROUPS, UID, PWD, SHELL, PATH, HOSTNAME
HOME contm o diretrio do usurio
USER contm o login do usurio
PWD contm o diretrio corrente
SHELL contm o nome do shell de conexo
PATH contm a lista dos diretrios onde se encontram as chamadas que o usuario pode executar
HOSTNAME contm o nome da mquina
HISTSIZE contm o tamanho mximo dos comandos executveis contidos no arquivo do histrico
PS1 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 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.

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 a
utilizao da linha de comando no se mostre bem mais prtica e mais potente que o famoso mouse.

XII. Noes do comando


Um comando um arquivo executvel. A execuo de um comando pode ser diferente dependendo do caso. Os comandos utilizados so
dados a ttulo de exemplo ; ento no obstine-se em compreend-los, se voc encontrar problemas com alguns deles. Os comandos de base
sero 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 (em
portugus : 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 which


whereis - 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 which


1. 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|]] Na


realidade o comando iptables existe no sistema no/sbin. O diretrio/sbin no se ncontrando no PATH do usurio yogi, bem normal que
which 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 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

XV. A estrutura de uma pgina de man

COMMAND(1)

Manual do usurio Linux

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

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
[<nome arquivo>] - 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 comando


Existe diversas maneiras de executar um comando.
utilzando simplesmente seu nome
utilizando o caminho absoluto
utilizando o caminho relativo
utilizando 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 em
plano 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". Para
tanto voc tem disposio o comando su ou su - Olhe utilizar o comando su para mais detalhes

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.

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 absoluto


O 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 relativo


O caminho relativo para acessar um arquivo a arborescncia dada sua localizao no shell. Utiliza-se as notaes . e/ou .. . nos permite
descer na arborescncia do diretrio corrente Nos permite num primeiro momento subir em arborescncia.. nos permite num primeiro
momento 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 arborescncia


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

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

XXVII. A finalizao automtica dos comandos


Digitar um comando em um terminal nem sempre coisa fcil. Apesar disto, tranqilize. O shell permite a finalizao automtica (digita-se por
exemplo 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 ao
mesmo tempo a segurana da sintaxe. A finalizao automtica se obtm utilizando a tecla TAB Para tanto vamos comear com o 1
carter...
Eu digito J /u e pressiono sobre TAB
O shell vai completar e vai escrever /usr/
Neste momento eu integro um b ento eu estou com/usr/b
Eu pressiono novamente sobre TAB e eu terei /usr/bin/
Neste momento eu integro ta,ento eu terei /usr/bin/ta
Eu pressiono 2 vezes sobre TAB
O shell no meu sistema encontra 4 correspondentes
tac tack tail tasksel
Eu vou continuar e eu vou integrar um i
assim terei /usr/bin/tai
Eu pressiono novamente TAB
e 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 um
dedo:-)

XXVIII. Edio de arquivos (vi,vim)


O editor vi Muito til, sobretudo quando se tem um problema com o modo grfico.

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)

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 do
cursor -A tecla supresso permite suprimir o sinal encontrando-se acima do cursor

Etapa IV - Fim da edio do arquivo


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

XXX. Os redirecionamentos e os pipelines


Primeiro 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) <---------------- teclado
Processo

1: sada standard (STDOUT) ---------------> ecr


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

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
&

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

XXXI. Os metacarteres do shell


Para 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 Dicas


cd : 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 ser
utilizado como explorador

XXXIV. Error: command not found


Leia 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 tipo


Erro afixado pelo shell quando voc tenta executar um comando num arquivo que no existe no caminho precisado. Solues -Encontre o
arquivo 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 redao


O shell bastante exigente na redao dos comandos. Os caracteres que tem um sentido especial para o shell devem ser dissipados para
obter o carter literal. Caracteres que tem um sentido especial para o shell :
o espao
o 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 dos
caracteres Se o comando chama-se lsesteja seguro que exatamente igual seno Ls no funcionar Igualmente para o nome de arquivos
e/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 os
atributos deste arquivo, cuidado pois voc no obter o resultado desejado. Por que? Por causa daquilo que o shell vai ler : Afixar os atributos
dos 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 - 'meu
arquivo.txt' - sintaxe ok (as apstrofes simples tratam cada carter de forma literal) QUESTO : Como possvel ler uma apstrofe simples
de maneira literal entre 2 apstrofes simples? O espao tem tambm como papel separar os argumentos em linha de comando. Um simples
espao utilizado em um lugar errado pode ser fatal para todo o sistema.

Exemplo : supresso da raiz por causa de um simples espao


Cenrio : 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 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!!!

Um outro exemplo com o espao


Para reconhecer o espao com sendo um carter e no como um separador de parmetros preciso proteger- (colocar um anti-slash na
frente) 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 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 \

XXXVIII. Executar um script


executar um script shell Trdauo feita por Ana Spadari
Este 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.