Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Linux Curso Basico
Apostila Linux Curso Basico
Linux
Introduo
Matt Welsh
Phil Hughes
David Bandel
Boris Beletsky
Sean Dreilinger
Robert Kiesling
Henry Pierce
Gleydson Mazioli da Silva
CONTEDO
CONTEDO ............................................................................................................... 4
1. INTRODUO..................................................................................................... 8
1.1
SOBRE ESTE LIVRO ............................................................................................ 8
1.2
UMA BREVE HISTRIA DO LINUX ...................................................................... 9
1.3
RECURSOS DO SISTEMA ................................................................................... 11
1.4
RECURSOS DE SOFTWARE................................................................................ 12
1.4.1 FERRAMENTAS E LINGUAGENS DE PROGRAMAO.......................................... 13
1.4.2 INTRODUO AO SISTEMA X-WINDOWS ......................................................... 14
1.4.3 INTRODUO S REDES.................................................................................. 15
1.4.4 TELECOMUNICAES E SOFTWARES DE BBS................................................... 16
1.4.5 WORLD WIDE WEB ........................................................................................ 16
1.4.6 INTERFACE COM O MS-DOS........................................................................... 16
1.4.7 OUTRAS FERRAMENTAS ................................................................................. 17
1.5
QUESTES DE COPYRIGHT .............................................................................. 17
1.6
O PROJETO E A FILOSOFIA DO LINUX.............................................................. 18
1.7
DIFERENAS ENTRE O LINUX E OUTROS SISTEMAS OPERACIONAIS................. 20
1.7.1 PORQUE USAR O LINUX?................................................................................. 20
1.7.2 LINUX VS WINDOWS ...................................................................................... 20
1.7.3 LINUX VS OUTRAS IMPLEMENTAES DE UNIX .............................................. 21
1.8
EXIGNCIAS DE HARDWARE ............................................................................ 21
1.8.1 PLACA-ME E CPU ........................................................................................ 21
1.8.2 EXIGNCIAS DE MEMRIA .............................................................................. 22
1.8.3 CONTROLADORES DE DISCO RGIDO ............................................................... 22
1.8.4 ESPAO EM DISCO.......................................................................................... 22
1.8.5 OUTROS DISPOSITIVOS ................................................................................... 22
1.9
FONTES DE INFORMAO SOBRE O LINUX ....................................................... 23
1.9.1 DOCUMENTAO ONLINE .............................................................................. 23
1.9.2 LINUX NA WEB .............................................................................................. 23
1.9.3 LIVROS E OUTROS TRABALHOS PUBLICADOS.................................................... 23
1.9.4 GRUPOS DE DISCUSSO DA USENET ................................................................ 24
1.9.5 LISTAS DE E-MAIL POR INTERNET .................................................................... 24
1.10 BUSCANDO AJUDA SOBRE LINUX...................................................................... 25
2 TUTORIAL SOBRE LINUX ............................................................................. 27
2.1
INTRODUO ................................................................................................... 27
2.2
CONCEITOS BSICOS DO LINUX....................................................................... 27
2.2.1 CRIANDO UMA CONTA .................................................................................... 28
2.2.2 LOGANDO ...................................................................................................... 28
2.2.3 CONSOLES VIRTUAIS...................................................................................... 28
LINUX -Curso
LINUX
CursoBsico
Bsico
1. INTRODUO
O Linux possivelmente o mais importante software livre produzido
desde o Space War ou, mais recentemente, o Emacs. Ele evoluiu para um
sistema operacional completo para negcios, educao e uso pessoal. O Linux
no esta mais restrito ao universo de hackers que ficam horas na frente de um
monitor (embora muitos de seus usurios se enquadrem neste grupo).
O Linux um sistema operacional UNIX que executa em uma variedade
de plataformas, principalmente computadores pessoais com processadores
80386 ou seus sucessores. Ele suporta uma vasta gama de softwares, como o
TeX, o Sistema X-Windows, o compilador GNU C/C++, e o TCP/IP. uma
implementao verstil e confivel do UNIX, distribuda livremente nos termos
da Licena Geral de Uso GNU (GNU General Public License).
O Linux pode transformar qualquer computador 386 ou superior em uma
estao de trabalho que coloca em suas mos todo o poder e flexibilidade do
UNIX. Empresas instalam Linux em suas redes de computadores, e usam o
sistema operacional para gerenciar sistemas financeiros e hospitalares,
ambientes de computao distribuda e telecomunicaes. Universidades do
mundo inteiro utilizam o Linux para ministrar cursos de definio e
implementao de sistemas operacionais. Entusiastas por computadores usam
o Linux em casa para programao, como ferramenta de produtividade, e uma
infinidade de outros usos.
O que torna o Linux to diferente de outras opes de sistema
operacional que ele uma implementao gratuita do UNIX. Ele foi e ainda
est sendo desenvolvido cooperativamente por um grupo de voluntrios,
principalmente atravs da Internet, que trocam cdigos, relatam bugs e
resolvem problemas em um ambiente aberto. Todos so bem vindos ao
esforo de desenvolvimento do Linux. Tudo que necessrio o interesse em
mexer em uma implementao do UNIX e algum conhecimento de
programao.
1.1
1.2
10
1.3
Recursos do Sistema
11
1.4
Recursos de Software
12
Muitos
13
15
1.5
Questes de Copyright
17
1.6
19
1.7
1.8
Exigncias de Hardware
21
1.9
23
25
26
2.1
Introduo
Se voc for novo no UNIX e Linux, pode estar um pouco intimidado pelo
tamanho e aparente complexidade do sistema na sua frente. Este captulo no
entra em grandes detalhes nem trata de tpicos avanados. Ao invs disso,
queremos que voc comece colocando a mo na massa.
Assumimos muito pouco sobre o que voc j sabe, exceto talvez que
voc tenha alguma familiarizao com computadores, e com MS-DOS.
Entretanto, mesmo que voc nunca tenha usado o MS-DOS, deve ser capaz de
entender tudo exposto aqui. primeira vista, o Linux se parece bastante com o
MS-DOS -- mesmo porque, partes do MS-DOS foram modeladas no sistema
operacional CP/M, que por sua vez foi modelado no UNIX. No entanto, s as
caractersticas mais superficiais do Linux lembram o MS-DOS. Mesmo que
voc seja completamente novo ao mundo do PC, este tutorial deve ajud-lo.
E, antes de comearmos: no tenha medo de experimentar. O sistema
no morde.Voc no pode destruir alguma coisa ao trabalhar no sistema. O
Linux tem segurana embutida que previne usurios "normais" de danificarem
arquivos essenciais ao sistema. Mesmo assim, a pior coisa que pode
acontecer que voc apague alguns ou todos os seus arquivos e tenham que
reinstalar o sistema. Assim, por agora voc no tem nada a peder.
2.2
27
2.2.2 Logando
No momento do login, voc vai ver um prompt parecido com:
mousehouse login:
Entre seu nome de usurio e pressione <Enter>. Nosso heri, larry, iria
digitar:
mousehouse login: larry
Password:
A seguir, entre sua senha. Os caracteres que voc entrar no sero
mostrados na tela, por isso digite-os com cuidado. Se voc errar sua senha,
vai ver a mensagem "Login incorrect" e deve tentar novamente.
Uma vez que tenha entrado com sucesso o nome de usurio e senha,
voc entrou oficialmente no sistema e est livre para perambular.
28
29
2.2.5 Logout
Antes de nos aprofundarmos ainda mais, temos que lhe contar como dar
logout (sair) do sistema. No prompt do shell, use o comando "exit" para dar
logout. H outras formas ainda, mas esta a que envolve menos riscos.
31
2.2.10
Tanto com o tcsh quanto com o bash, voc pode especificar o diretrio
home com um caracter til (~). Por exemplo, o comando:
/home/larry# more ~/papers/history-final
equivalente a
/home/larry# more /home/larry/papers/history-final
O shell substitui o caracter ~ pelo nome do seu diretrio home.
Voc tambm pode especificar diretrios home de outros usurios com o
caracter ~. O caminho "~karl/letters" traduzido para "/home/karl/letters" pelo
shell (se /home/karl for o diretrio home do karl). Usar o til como usar um
atalho. No h um diretrio chamado "~" - s uma mozinha oferecida pelo
shell.
2.3
33
ls /etc
ftpusers
getty
gettydefs
group
inet
init
lpc
magic
motd
mount
mtab
mtools
rc.new
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
shells
startcons
swapoff
swapon
syslog.conf
syslog.pid
35
Note que o arquivo termcap foi renomeado para sells. Voc tambm
pode usar o comando mv para mover um arquivo para um diretrio
completamente novo.
Nota: o mv e o cp vo sobreescrever o arquivo destino que tiver o
mesmo nome sem pedir por confirmao. Tome cuidado quando mover um
arquivo em outro diretrio. Pode j existir um nome igual no mesmo diretrio,
que voc ir sobreescrever!
37
38
2.4
Esta seo introduz alguns dos comandos bsicos mais teis num
sistema UNIX, incluindo aqueles que foram discutidos nas sees anteriores.
Note que opes usualmente comeam com "-", e na maioria dos casos
voc pode especificar mais de uma opo em um nico "-". Por exemplo, ao
invs de usar o comando "ls -l -F", voc pode usar "ls -lF".
Ao invs de listar todas as opes para cada comando, vamos
apresentar somente os comandos teis ou importantes por agora. De fato, a
maioria dos comandos tem muitas opes que voc nunca vai usar. Voc
pode usar o man para ver as pginas de manual para cada comando, que
listam todas as opes disponveis.
Note tambm que muitos desses comandos tm como parmetros uma
lista de arquivos ou diretrios, marcados nesta tabela como "arquivo1 ...
arquivoN". Por exemplo, o comando cp recebe como parmetro uma lista de
arquivos para copiar, seguida de um arquivo ou diretrio destino. Quando
estiver copiando mais de um arquivo, o destino deve ser um diretrio.
39
3.1 O comando ls
Mostra informao sobre os nomes de arquivos e diretrios.
Sintaxe:
ls [opes] [caminho/arquivo] [caminho1/arquivo1] ...
onde:
? caminho/arquivo:
Diretrio/arquivo que ser listado.
? caminho1/arquivo1:
Outro Diretrio/arquivo que ser listado.
Podem ser feitas vrias listagens de uma s vez.
? opes: Modificam o comportamento do comando
o -a
Lista todos os arquivos (inclusive os ocultos) de um
diretrio.
o -l
Usa o formato longo para listagem de arquivos.
Lista as permisses, data de modificao, donos, grupos, etc.
o -F
Insere um caracter aps arquivos executveis ('*'),
diretrios ('/'), soquete ('='), link simblico ('@') e pipe ('|'). Seu
uso til para identificar de forma fcil tipos de arquivos nas
listagens de diretrios.
o --color=PARAM Mostra os arquivos em cores diferentes,
conforme o tipo de arquivo. PARAM pode ser:
? never nunca lista em cores (mesma coisa de no
usar o parmetro --color).
? always sempre lista em cores conforme o tipo de
arquivo.
? auto
somente colore a listagem se estiver em um
terminal.
A listagem pode ser classificada usando-se as seguintes opes:
? -f
No ordena, e usa -au para listar os arquivos.
40
-r
-c
-X
-U
3.2 O comando cd
Muda o diretrio de trabalho atual. necessrio ter a permisso de
execuo para entrar no diretrio.
Sintaxe:
cd [diretorio]
onde:
diretorio - diretrio para onde se deseja mudar. "." se refere ao diretrio
corrente, ".." ao diretrio superior na hierarquia, e ~ o diretrio padro do
usurio. Se nenhum diretrio for especificado, ~ assumido.
Exemplos:
cd retorna ao diretrio padro do usurio.
cd /
muda para o diretrio raiz.
cd /etc
muda para o diretrio /etc.
cd retorna ao diretrio anteriormente acessado.
cd ..
sobe um diretrio na hierarquia.
onde:
? caminho Caminho onde o diretrio ser criado.
? diretrio Nome do diretrio que ser criado.
? opes: Modificam o comportamento do comando:
41
onde:
? caminho Caminho do diretrio que ser removido.
? diretrio Nome do diretrio que ser removido.
Para remover diretrios que contenham arquivos, use o comando rm
com a opo -r (para maiores detalhes, veja rm, Seo 9.3).
Exemplos:
rmdir /home/larry/test
rmdir test1 test2
dentro do diretrio atual.
42
43
?
?
?
?
?
/etc
/etc contm uma srie de arquivos de configurao do sistema. Isto
inclui o /etc/passwd (a base de dados de usurios), o /etc/rc (instrues de
inicializao do sistema), etc.
/sbin
/sbin usado para armazenar programas esenciis do sistema, usados
pelo administrador do sistema.
/home
/home contm os diretrios "home" dos usurios.
Por exemplo,
/home/larry o diretrio do usurio "larry". Em um sistema recm instalado,
esse diretrio estar vazio.
/lib
/lib contm as imagens das bibliotecas compartilhadas. Esses arquivos
contm cdigo que muitos programas compartilham. Ao invs de cada
programa ter uma cpia prpria das funes compartilhadas, elas so
guardadas em um lugar comum, o /lib. Isso faz com que os programas
executveis sejam menores e reduzam o espao usado em disco.
/proc
/proc um "sistema de arquivos virtual". Os arquivos que esto no /proc
residem verdadeiramente na memria, e no no disco. Esses arquivos se
referem a vrios processos que rodam no sistema e permitem obter informao
sobre programas e processos que esto rodando num dado momento.
Falaremos mais sobre isso na seo 3.11.1.
/tmp
Muitos programas tm necessidade de gerar alguma informao
temporria e de guardar essa informao em um arquivo temporrio. O lugar
para esses arquivos o /tmp.
/usr
44
45
46
5.1 O comando rm
Remove arquivos. Tambm pode ser usado para apagar diretrios,
vazios ou no. Note que no UNIX quando um arquivo removido, ele no
mais recupervel (como no MS-DOS, onde voc pode usar o "undelete", ou no
Windows, com a lixeira).
Sintaxe:
rm [opes] [caminho][arquivo/diretrio]
onde:
? caminho:
Localizao do arquivo que deseja apagar. Se
omitido, assume que o arquivo esteja no diretrio atual.
? arquivo/diretrio:
Arquivo/diretrio que ser apagado.
? opes:
Modificam o comportamento do comando:
o -i, --interactive Confirma antes de remover, esta
ativada por padro.
o -f, --force
Remove os arquivos sem confirmao.
o -r, --recursive Usado para remover arquivos em subdiretrios. Esta opo tambm pode ser usada para remover
sub-diretrios.
Exemplos:
rm teste.txt
Remove o arquivo teste.txt do diretrio atual.
rm *.txt
Remove todos os arquivos do diretrio atual que terminam
com .txt.
rm *.txt teste.novo
Remove todos os arquivos do diretrio atual
que terminam com .txt e tambm o arquivo teste.novo.
rm -rf /tmp/teste/*
Remove todos os arquivos e sub-diretrios do
diretrio /tmp/teste mas mantm o sub-diretrio /tmp/teste.
rm -rf /tmp/teste
Remove todos os arquivos e sub-diretrios do
diretrio /tmp/teste, inclusive /tmp/teste.
5.2 O comando cp
Copia arquivos.
Sintaxe:
cp [opes] [origem] [destino]
onde:
? origem Arquivo que ser copiado. Podem ser especificados mais
de um arquivo para ser copiado usando "Curingas" (veja Curingas,
Seo 2.12).
Acreinfo - Consultoria e Servios de Informtica
47
5.3 O comando mv
Move ou renomeia arquivos e diretrios. O processo semelhante ao
do comando cp mas o arquivo de origem apagado aps o trmino da cpia.
Sintaxe:
mv [opes] [origem] [destino]
Onde:
? origem: Arquivo/diretrio de origem.
? destino: Local onde ser movido ou novo nome do arquivo/diretrio.
48
Exemplos:
mv teste teste1
mv teste /tmp
5.4 O comando ln
Cria um novo link para arquivos e diretrios. O link o mecanismo
usado para fazer referncia a um arquivo ou diretrio.
Sintaxe:
ln [opes] [origem] [link]
Onde:
? origem: Diretrio ou arquivo de onde ser feito o link.
? link:
Nome do novo link que ser criado.
? opes: Modificam o comportamento do comando:
o -s Cria um link simblico. Usado para criar ligaes com o
arquivo/diretrio de destino.
o -d Cria um hard link para diretrios. Somente o root pode
usar esta opo.
Existem 2 tipos de links: simblicos e rgidos.
?
?
?
?
49
?
?
ln -s /dev/ttyS1 /dev/modem
Cria
o
link
simblico
/dev/modem para o arquivo /dev/ttyS1.
ln -s /tmp ~/tmp
Cria um link ~/tmp para o diretrio /tmp.
Onde
? diretrio/arquivo:
Localizao do arquivo que se deseja
visualizar o contedo.
? opes:
Modificam o comportamento do comando:
o -n, --number
Mostra o nmero das linhas
enquanto o contedo do arquivo mostrado.
o -s, --squeeze-blank
No mostra mais que uma linha
em branco entre um pargrafo e outro.
O comando cat trabalha com arquivos texto. Use o comando zcat para
ver diretamente arquivos compactados com gzip.
Exemplo:
cat /usr/doc/copyright/GPL
?
?
diretrio/arquivo:
Localizao do arquivo que se deseja
visualizar o contedo
opes:
Modificam o comportamento do comando:
o -s [string] Usa o [string] como separador de registros.
Exemplo:
tac /usr/doc/copyright/GPL
50
Onde:
? arquivo: o arquivo que ser paginado.
Para visualizar diretamente arquivos texto compactados pelo gzip
(.gz) use o comando zmore.
Exemplos:
more /etc/passwd
cat /etc/passwd | more
Onde:
? arquivo: o arquivo que ser paginado.
Para visualizar diretamente arquivos texto compactados pelo gzip
(.gz) use o comando zless.
Exemplos:
less /etc/passwd
cat /etc/passwd | less
Onde:
? arquivo: o arquivo que ser mostrado.
? opes: Modificam o comportamento do comando:
o -c [numero] Mostra o [numero] de bytes do inicio do
arquivo.
51
Onde:
? arquivo: o arquivo que ser mostrado.
? opes: Modificam o comportamento do comando:
o -c [numero]
Mostra o [numero] de bytes do final do
arquivo.
o -[numero]
Mostra o [numero] de linhas do final do
arquivo. Caso no seja especificado, mostra as 10 ltimas
linhas.
Exemplos:
tail teste.txt
tail -n 20 teste.txt
Onde:
? arquivos: Arquivos que tero sua data/hora modificados.
? opes: Modificam o comportamento do comando:
o -a, --time=atime
Faz o touch mudar somente a
data e hora do acesso ao arquivo.
o -m, --time=mtime
Faz o touch mudar somente a
data e hora da modificao.
o -c, --no-create
No cria arquivos vazios, caso
os arquivos no existam.
o -t MMDDhhmm[AA.ss]
Usa Minutos (MM), Dias (DD),
Horas (hh), minutos (mm) e opcionalmente o Ano (AA) e
52
5.12 O comando wc
Conta o nmero de palavras, bytes e linhas em um arquivo ou entrada
padro. Se as opes forem omitidas, o wc mostra a quantidade de linhas,
palavras, e bytes.
Sintaxe:
wc [opes] [arquivo]
Onde:
? arquivo: Arquivo que ser verificado pelo comando wc.
? opes: Modificam o comportamento do comando:
o -c, --bytes Mostra os bytes do arquivo.
o -w, --words Mostra a quantidade de palavras do arquivo.
o -l, --lines Mostra a quantidade de linhas do arquivo.
A ordem da listagem das estatsticas nica, e modificando a posio
das opes no modifica a ordem que os dados so listados.
Exemplo:
wc /etc/passwd
Mostra a quantidade de linhas, palavras e letras
(bytes) no arquivo /etc/passwd.
wc -w /etc/passwd
Mostra a quantidade de palavras.
wc -l /etc/passwd
Mostra a quantidade de linhas.
wc -lw /etc/passwd Mostra a quantidade de linhas e palavras.
Onde:
53
Exemplos
sort texto.txt - Organiza o arquivo texto.txt em ordem crescente.
sort texto.txt -r - Organiza o contedo do arquivo texto.txt em ordem
decrescente.
cat texto.txt | sort - Faz a mesma coisa que o primeiro exemplo, s
que neste caso a sada do comando cat redirecionado a entrada padro do
comando sort.
sort -f texto.txt - Ignora diferenas entre letras maisculas e
minsculas durante a organizao.
sort +1 -3 texto.txt - Organiza o arquivo texto.txt usando como
referncia a segunda at a quarta palavra (segundo ao quarto campo) que
constam naquela linha.
sort -t : +2 -3 passwd - Organiza o arquivo passwd usando como
referncia a terceira at a quarta palavra (terceiro ao quarto campo). Note que
54
Onde:
? diretrio1/arquivo1 diretrio2/arquivo2
Arquivos /diretrios que
sero comparados.
Normalmente usado como primeiro
arquivo/diretrio o mais antigo e o mais novo como segundo.
? Opes:
o -lines [num] Gera a diferena com [num] linhas de
contexto. Por padro o diff gera um arquivo com 2 linhas que
o mnimo necessrio para o correto funcionamento do patch.
o -a Compara os dois arquivos como arquivos texto.
o -b Ignora espaos em branco como diferenas.
o -B Ignora linhas em branco inseridas ou apagadas nos
arquivos.
o -I Ignora diferenas entre maisculas e minsculas nos
arquivos.
o -H Usa anlise heurstica para verificar os arquivos.
o -N Em uma comparao de diretrios, se o arquivo apenas
existe em um diretrio, trata-o como presente mas vazio no
outro diretrio.
o -P Em uma comparao de diretrios, se o arquivos apenas
existe no segundo diretrio, trata-o como presente mas vazio
no primeiro diretrio.
o -q Mostra somente se os dois arquivos possuem diferenas.
No mostra as diferenas entre eles.
o -r Compara diretrios e sub-diretrios existentes.
o -S [nome]
Inicia a comparao de diretrios pelo arquivo
[nome]. til quando cancelamos uma comparao.
o -t Aumenta a tabulao das diferenas encontradas.
o -u Usa o formato de comparao unificado.
55
56
6 PERMISSES DE ARQUIVOS
6.1
6.2
57
6.3
Dependncias de Permisses
6.4
Modificando permisses
dono.
59
7.1
Links Rgidos
O comando "ln" usado para criar mltiplos links para um arquivo. Por
exemplo, digamos que voc tenha um arquivo chamado "foo" em um diretrio.
Usando "ls -i", voc pode ver o nmero do "inode" para este arquivo.
/home/larry#
22192 foo
/home/larry#
ls
-i
foo
ln
foo
bar
Com o "ls -i", voc pode ver que os dois arquivos tem o mesmo inode.
/home/larry# ls
22192 bar 22192
/home/larry#
-i foo
foo
rm
foo
somente o link chamado foo excludo, bar ainda vai existir. Um arquivo
realmente excludo do sistema somente quando no h mais links para ele.
Usualmente, arquivos s tem um link. Assim, usando o comando "rm" exclui o
arquivo. Entretanto, se um arquivo tem mltiplos links, usando o comando "rm"
excluir somente um link. Para excluir o arquivo, voc tem que excluir todos os
links para o mesmo.
O comando "ls -l" mostra o nmero de links para um arquivo (entre
outras informaes).
/home/larry#
-rw-r--r-- 2
60
ls -l foo bar
root root
12 Aug
5 16:51 bar
root root
12 Aug
5 16:50 foo
7.2
Links Simblicos
ln
-s
foo
bar
Voc estar criando um link simblico chamado "bar" que aponta para o
arquivo "foo". Se voc usa o "ls -i", voc ver que os dois arquivos tm, de
fato, inodes diferentes.
/home/larry# ls -i foo
22195 bar 22192 foo
/home/bar#
bar
ls
-l foo
1 root
1 root
bar
root
root
3 Aug
12 Aug
61
8 COMANDOS DE BUSCA
Onde:
? Expresso:
Expresso regular que ser procurada no texto. Se
tiver mais de 2 palavras voc deve identifica-la com aspas "" caso
contrrio o grep assumir que a segunda palavra o arquivo!
? Arquivo: Arquivo onde ser feita a procura.
? Opes:
o -A [nmero] Mostra o [nmero] de linhas aps a linha
encontrada pelo grep.
o -B [nmero] Mostra o [nmero] de linhas antes da linha
encontrada pelo grep.
o -f [arquivo] Especifica que o texto que ser localizado,
esta no arquivo [arquivo].
o -h, --no-filename No mostra os nomes dos arquivos
durante a procura.
o -i, --ignore-case Ignora diferena entre maisculas e
minsculas no texto procurado e arquivo.
o -n, --line-number Mostra o nome de cada linha
encontrada pelo grep.
o -U, --binary Trata o arquivo que ser procurado como
binrio.
Se no for especificado o nome de um arquivo ou se for usado um hfen
"-", grep procurar a string no dispositivo de entrada padro. O grep faz sua
pesquisa em arquivos texto. Use o comando zgrep para pesquisar diretamente
em arquivos compactados com gzip, os comandos e opes so as mesmas.
Exemplos:
grep "capitulo" texto.txt
ps ax | grep inetd
grep "capitulo" texto.txt -A 2 -B 2
Onde:
? Diretrio: Inicia a procura neste diretrio, percorrendo seu subdiretrios.
? opes/expresso:
o -name [expresso]
Procura pelo nome [expresso] nos
nomes de arquivos e diretrios processados.
o -depth
Processa os sub-diretrios primeiro antes de
processar os arquivos do diretrio principal.
o -maxdepth [num]
Faz a procura at [num] sub-diretrios
dentro do diretrio que est sendo pesquisado.
o -mindepth [num] No faz nenhuma procura em diretrios
menores que [num] nveis.
o -mount, -xdev No faz a pesquisa em sistemas de arquivos
diferentes daquele de onde o comando find foi executado.
o -amin [num]
Procura por arquivos que foram acessados
[num] minutos atrs. Caso for antecedido por "-", procura por
arquivos que foram acessados entre [num] minutos atrs at
agora.
o -atime [num]
Procura por arquivos que foram acessados
[num] dias atrs. Caso for antecedido por "-", procura por
arquivos que foram acessados entre [num] dias atrs e a data
atual.
o -gid [num]
Procura por arquivos que possuam a
identificao numrica do grupo igual a [num].
o -group [nome] Procura por arquivos que possuam a
identificao de nome do grupo igual a [nome].
o -uid [num]
Procura por arquivos que possuam a
identificao numrica do usurio igual a [num].
o -user [nome]
Procura por arquivos que possuam a
identificao de nome do usurio igual a [nome].
o -inum [num]
Procura por arquivos que esto localizados no
inodo [num].
o -links [num]
Procura por arquivos que possuem [num] links
como referncia.
o -mmin [num]
Procura por arquivos que tiveram seu
contedo modificado h [num] minutos. Caso for antecedido
por "-", procura por arquivos que tiveram seu contedo
modificado entre [num] minutos atrs at agora.
o -mtime [num]
Procura por arquivos que tiveram seu
contedo modificado h [num] dias. Caso for antecedido por "", procura por arquivos que tiveram seu contedo modificado
entre [num] dias atrs at agora.
o -nouser Procura por arquivos que no correspondam a
identificao do usurio atual.
63
Exemplos:
which ls
which shutdown
which which
Exemplos:
whereis ls
whereis cd
65
9 USANDO O EDITOR VI
Um editor de textos um programa usado para editar arquivos que so
compostos de textos: uma carta, um programa C, ou um arquivo de
configurao do sistema. Ainda que existam vrios desses editores disponveis
para o Linux, o nico que voc garantidamente vai encontrar em qualquer UNIX
ou sistema Linux, o vi (do ingls, "visual editor"). O vi no o editor mais
fcil de usar, nem muito auto-explicativo. Entretanto, como o vi to comum
em sistemas UNIX/Linux, e muitas vezes necessrio, ele merece um pouco de
nossa ateno.
Sua escolha por um editor mais uma quest pessoal de gosto e estilo.
Muitos usurios preferem o barroco, auto-explicativo e poderoso Emacs - um
editor com mais funes que qualquer outro programa no mundo UNIX. Por
exemplo, o Emacs tem o seu prprio dialeto da linguagem de programao
LISP embutido, e tem muitas outras extenses (uma das quais um tipo Eliza um programa de inteligncia artificial). No entanto, como o Emacs e seus
arquivos de suporte so relativamente grandes, ele no pode ser instalado em
alguns sistemas. O vi, por outro lado, pequeno e poderoso, mas mais difcil
de usar. Entretanto, uma vez que voc saiba lidar com ele, ser muito fcil.
Esta seo apresenta uma introduo ao vi - no vamos discutir todas
os seus atributos, somente aqueles que voc precisa saber para comear a
us-lo. Voc pode verificar a pgina de manual do vi se estiver interessado em
aprendar mais sobre o editor e suas funes. Alternativamente, voc pode ler
o livro Learning the vi Editor, da editora OReilly and Associates, ou Vi Tutorial,
da Specialized Systems Consultants (SSC) Inc.
9.1
Conceitos.
9.2
Iniciando o vi
para editar o arquivo "test". Voc deve ver algo parecido com:
~
~
~
~
~
~
~
"test"
[New file]
9.3
Inserindo texto
67
~
~
Digite quantas linhas voc quiser (pressionando <Enter> depois de cada
uma). Voc pode corrigir erros com a tecla <Back Space>.
Para terminar o modo de insero e retornar ao modo de comando,
pressione <Esc>.
No modo de comando voc pode usar as setas para mover pelo arquivo.
(Se voc tem somente uma linha de texto, e tentar usar as teclas para cima e
para baixo, vai sentir que vi vai tocar um bip).
H muitas maneiras de inserir um texto que no o comando "i". O
comando "a" insere um texto comeando aps a posio atual do cursor, ao
invs de na posio atual do cursor. Por exemplo, use a seta da esquerda
para mover o cursor entre as palavras "good" e "men".
~
~
~
~
~
~
~
9.4
Apagando texto
69
9.5
Modificando texto
Usando "R" para editar um texto como usar "i" ou "a", mas o "R"
sobreescreve, ao invs de inserir.
O comando "r" (minsculo) substitui o caracter sob o cursor. Por
exemplo, mova o cursor para o incio da palavra "Now" e pressione "r", depois
"C", voc ver:
COW
~
~
~
~
~
~
~
Nota: em teclados programados para o portugus, voc ter que
pressionar "~" seguido da tecla de espao para ter o mesmo efeito.
9.6
71
9.7
COW
~
~
~
~
~
~
:_
No modo de ltima linha, certos comandos extendidos esto disponveis.
Um deles o "q!", que sai do vi sem salvar. O comando ":wq" salva o arquivo e
sai do vi. O comando "ZZ" (do modo comando, sem os ":") equivalente a
":wq". Se o arquivo no foi modificado desde a ltima vez que foi salvo, o
comando s sai, preservando a data de modificao da ltima mudana.
Lembre-se que voc deve pressionar <Enter> depois de um comando entrado
no modo de ltima linha.
Para salvar o arquivo sem sair do vi, use ":w".
9.8
Para editar outro arquivo, use o comando ":e". Por exemplo, para parar
a edio do arquivo "test" e editar o arquivo "foo" no lugar, use o comando:
72
COW
~
~
~
~
~
~
:e foo_
Se voc usa ":e" sem salvar o primeiro arquivo, voc vai receber a
mensagem de erro:
No write since last change (":edit!" overrides)
que significa que o vi no quer editar outro arquivo at que voc salve o
primeiro. Neste ponto, voc pode usar ":w" para salvar o arquivo original, e
depois o ":e", ou pode usar o comando:
COW
~
~
~
~
~
~
:e!
foo_
O sinal "!" diz ao vi que voc realmente quer fazer isso - editar o novo
arquivo sem salvar as mudanas do primeiro.
9.9
foo.txt
73
ls -F
COW
letters/
misc/
papers/
~
~
Voc tambm pode rodar um comando do shell de dentro do vi sem que
o texto seja inserido no arquivo em edio. Por exemplo, se usar o comando
:! ls -F
9.11 Ajuda no vi
O vi no fornece muita ajuda interativa (a maioria dos programas Linux
tambm no), mas voc sempre pode ler a pgina do manual para o vi. O vi
uma fachada para o editor "ex", que manipula muitos dos comandos do modo
de ltima linha do vi. Assim, alm de ler a pgina de manual para o vi, veja
tambm para o "ex".
Voc tambm pode usar o comando ":help" para ver uma ajuda dos
comandos bsicos na tela.
74
75
11 O SHELL
76
77
78
79
11.3.2
Digamos que voc queira mandar a sada do sort para um arquivo, para
gravar sua lista de compras no disco. O shell permite que voc redirecione a
sada padro para um arquivo usando o smbolo ">". Veja como funciona:
/home/larry/papers# sort > shopping-list
bananas
carrots
apples
{Ctrl-D}
/home/larry/papers#
Como voc pode notar, o resultado do comando sort no mostrado,
mas sim gravado num arquivo chamado shopping-list. Vamos dar uma olhada
no arquivo:
/home/larry/papers# cat shopping-list
apples
bananas
carrots
/home/larry/papers#
Agora voc pode ordenar sua lista de compras e salv-la tambm! Mas
vamos supor que voc esteja armazenando a lista original no ordenada no
80
11.3.3
81
11.3.4
Usando pipes
lista:
Agora redirecione a sada do comando ls num arquivo chamado arquivo/home/larry/papers# ls > arquivo-lista
/home/larry/papers# sort -r arquivo-lista
notes
masters-thesis
history-final
english-list
/home/larry/papers#
Assim voc gravou a sada do ls num arquivo, e ento rodou "sort -r"
nesse arquivo. Mas isso incmodo e usa um arquivo temporrio para gravar
os dados do ls.
A soluo usar pipes. Essa uma caracterstica do shell que conecta
uma srie de comandos. A stdout do primeiro comando enviada para a stdin
do segundo comando. Neste caso, queremos mandar a stdout do ls para a
stdin do sort. Use o smbolo "|" para criar um pipe, como segue:
/home/larry/papers# ls | sort -r
notes
masters-thesis
history-final
english-list
/home/larry/papers#
Esse comando menor e mais fcil de digitar.
82
11.4.1
83
85
11.4.2
Alm de scripts de shell que voc cria, h uma srie de scripts que o
shell usa para certos propsitos. Os mais importantes so os scripts de
inicializao, que so scripts executados pelo shell quando voc d login.
Os scripts de inicializao so bem simples. Entretanto, eles inicializam
seu ambiente executando comandos automaticamente quando voc loga. Se
voc sempre usa o comando "mail" para verificar seus e-mails quando entra,
voc pode colocar esse comando no script de inicializao para execut-lo
automaticamente.
Tanto o bash quanto o tcsh fazem distino entre um login shell e
outras invocaes do shell. Um login shell o shell chamado quando voc
entra no sistema. Usualmente o nico shell que voc usa. Entretanto, se
voc chama um shell de dentro do vi, por exemplo, voc inicia uma nova
instncia do shell, que no seu shell de login. Alm disso, cada vez que voc
roda um script de shell, voc automaticamente inicia outra instncia do shell
para executar o script.
Os arquivos de inicializao usados pelo bash so: /etc/profile
(configurado pelo administrador do sistema e executado por todos os usurios
do bash no momento do login), $HOME/.bash_profile (executado por uma
sesso de login do bash), e $HOME/.bashrc (executado por todas as instncias
do bash que no sejam de login). Se o .bash_profile no est presente, o
".profile" usado no lugar.
O tcsh usa os seguintes scripts de inicializao: /etc/csh.login
(executado por todos os usurios do tcsh no momento do login),
$HOME/.tcshrc (executado no momento do login e a cada nova instncia do
86
87
12 CONTROLE DE TAREFAS
88
89
91
92
93