• Nenhum resultado encontrado

Introdu¸c˜ao ao Unix

N/A
N/A
Protected

Academic year: 2022

Share "Introdu¸c˜ao ao Unix"

Copied!
43
0
0

Texto

(1)

Introdu¸c˜ ao ao Unix

Agostinho de Medeiros Brito J´unior ambj@leca.ufrn.br

Natal 1998

(2)

1 Unix 4

1.1 Introdu¸c˜ao . . . 4

1.2 Conceitos sobre a estrutura do Unix . . . 4

1.2.1 Acesso ao hardware . . . 4

1.2.2 Processos em Unix . . . 5

1.2.3 Arquivos . . . 5

1.2.4 Diret´orios de usu´arios . . . 5

1.2.5 Usu´arios do sistema Unix . . . 6

2 Conceitos iniciais no Unix 7 2.1 Introdu¸c˜ao . . . 7

2.2 Entrada, sa´ıda e identifica¸c˜ao de usu´arios . . . 7

2.2.1 Logging in . . . 7

2.2.2 Mudan¸ca de senha . . . 8

2.2.3 Executando comandos . . . 8

2.2.4 Ajuda on-line . . . 9

2.2.5 Identificando usu´arios . . . 10

2.2.6 Saindo do sistema . . . 10

3 Arquivos e Diret´orios no Unix 11 3.1 Introdu¸c˜ao . . . 11

3.2 Manipula¸c˜ao de diret´orios . . . 11

3.2.1 Navegando entre diret´orios . . . 11

3.2.2 Permiss˜oes de arquivos . . . 12

3.2.3 Criando e destruindo diret´orios . . . 13

3.3 Manipula¸c˜ao de arquivos . . . 14

3.3.1 Criando e listando arquivos . . . 14

3.3.2 Copiando, movendo e removendo arquivos . . . 14

3.3.3 Procurando coisas no Unix . . . 16

3.3.4 Ordenando o conte´udo de um arquivo . . . 17

3.3.5 Links . . . 17

3.3.6 Imprimindo arquivos . . . 19

3.3.7 Arquivando e compactando arquivos . . . 19

3.3.8 Utilizando o conjunto de ferramentas mtools . . . 22

2

(3)

Introdu¸ao ao Linux - cAgostinho Brito 1998 3

4 Processos em Unix 23

4.1 Introdu¸c˜ao . . . 23

4.2 Visualizando processos em Unix . . . 23

4.3 Foregrounde Background . . . 24

4.4 Finalizando processos . . . 24

4.4.1 Pipelines . . . 25

4.4.2 Redirecionamento . . . 26

5 Unix em Redes TCP/IP 27 5.1 Introdu¸c˜ao . . . 27

5.2 TCP/IP . . . 27

5.3 Conceitos b´asicos sobre Internet . . . 27

5.4 Aplicativos de redes . . . 29

5.4.1 Correio Eletrˆonico . . . 29

5.4.2 Transferˆencia de arquivos . . . 31

5.4.3 Emula¸c˜ao de Terminal Remoto . . . 32

5.4.4 Conversando pela Internet . . . 33

5.4.5 Verificando se uma m´aquina est´a ativa com ping . . . 33

6 Edi¸c˜ao de textos com joe 35 6.1 Introdu¸c˜ao . . . 35

6.2 O editor de textos joe . . . 35

7 O ambiente gr´afico X Window 38 7.1 Introdu¸c˜ao . . . 38

7.2 Iniciando e Finalizando o X Window . . . 38

7.3 Executando aplicativos . . . 39

7.4 Usando o mouse . . . 39

7.5 A ´area de trabalho . . . 39

7.6 Definindo o Display . . . 41

7.7 Permitindo que m´aquinas remotas acessem o servidor X local . . . 41

(4)

Unix

1.1 Introdu¸ c˜ ao

Unix ´e o sistema operacional mais popular e difundido no mundo, especiamente em ambientes de rede distribu´ıdos, devido `a sua grande base de suporte e distribui¸c˜ao existentes. Foi originalmente criado em meados de 1970 como um sistema multi-tarefa para opera¸c˜ao em minicomputadores emainframes. Hoje, o Unix ´e a pedra fundamental de m´aquinas de grande e m´edio porte, tais como IBMs, DECs e Suns, suportando ambientes e aplicativos poderosos que exigem muito dos sistemas em que operam.

O sistema Unix permite a aloca¸c˜ao de recursos em m´aquinas, tais como CPU, mem´oria principal e de massa, console, impressoras, modems, scanners e diversos outros perif´ericos existentes. Tem caracter´ısticas multi-usu´ario, permitindo que v´arias pessoas utilizem os recursos da m´aquina de forma seletiva, e multi-tarefa, pois uma ou mais tarefas podem ser executadas ao mesmo tempo em um mesmo processador.

Por ter sido o Unix um sistema escrito em linguagem C, diversas implementa¸c˜oes suas podem ser encontradas, tais como: AIX, para IBM, SunOS e Solaris, para esta¸c˜oes SUN, e Linux, para m´aquinas IBM/PC e compat´ıveis.

Neste documento ser˜ao apresentados conceitos b´asicos sobre o sistema Unix e comentados os programas de uso mais comum nas tarefas di´arias realizadas por um usu´ario.

1.2 Conceitos sobre a estrutura do Unix

1.2.1 Acesso ao hardware

O cora¸c˜ao de um sistema Unix ´e o seu kernel. O kernel´e a parte do sistema que possibilita o acesso aos recursos da CPU, `a mem´oria principal e aos perif´ericos existentes na m´aquina.

Desse modo, toda e qualquer a¸c˜ao que a m´aquina realiza ´e coordenada pelo kernel, atrav´es de chamadas do mesmo (chamadas de sistema). Estas chamadas podem ser realizadas di- retamente das aplica¸c˜oes, atrav´es de shells (interpretadores de comando) ou por interm´edio de bibliotecas, como mostra a Figura 1.1.

4

(5)

Introdu¸ao ao Linux - cAgostinho Brito 1998 5

Shells Aplicações

Bibliotecas

Chamadas do sistema

Núcleo Hardware

Figura 1.1: Estrutura b´asica do Unix

1.2.2 Processos em Unix

No Unix, todas as atividades dos usu´arios s˜ao feitas atrav´es de processos, sequˆencias ´unicas de eventos que ocorrem em uma m´aquina, onde cada processo possui um n´umero identificador.

1.2.3 Arquivos

Tudo em Unix ´e tratado como arquivo, incluindo diret´orios, que s˜ao tipos especiais de ar- quivos. Todas as comunica¸c˜oes com dispositivos de entrada e sa´ıda, incluindo perif´ericos s˜ao realizadas com o envio e/ou recebimento de dados para o arquivo do dispositivo. Por exemplo, todas as comunica¸c˜oes com o acionador de disco flex´ıvel de 3,5” s˜ao realizadas atrav´es do arquivo /dev/fd0, caso o drive A: da m´aquina seja de 3,5”.

No Unix, al´em dos arquivos tradicionalmente conhecidos, existe um outro tipo de arquivo:

o link, que consiste em um apontador para um outro arquivo existente no sistema. Sua natureza ser´a discutida no decorrer deste documento.

Cada arquivo possui um conjunto de atributos que indicam as classes de usu´arios que podem visualiz´a-los ou alter´a-los, acrescentando o conceito de PRIVACIDADE, inexistente no sistema MS-DOS.

1.2.4 Diret´ orios de usu´ arios

Cada usu´ario tem liberdade para atuar dentro de diret´orios pr´oprios chamados dehome dirs.

Neste diret´orio, o usu´ario tem o direito de criar os seus subdiret´orios e arquivos pessoais e atribuir permiss˜oes a estes arquivos para que possam ser acessados ou n˜ao por determina- dos grupos de usu´arios. No home dir tamb´em ficam situados arquivos de configura¸c˜ao e personaliza¸c˜ao de programas de uso geral dos usu´arios do sistema.

(6)

1.2.5 Usu´ arios do sistema Unix

Ao contr´ario de um sistema MS-DOS tradicional, onde todos os usu´arios podem enxergar, alterar e instalar os arquivos que quiserem ao seu belprazer, no Unix isto n˜ao ´e poss´ıvel, salvo poucas exce¸c˜oes. Existem dois tipos b´asicos de usu´arios: o administrador, tamb´em chamado de root ou superusu´ario, a quem s˜ao irrestritos os privil´egios, e o usu´ario normal, que possui o direito de atuar apenas em diret´orios pr´oprios (por exemplo, seu home dir), n˜ao podendo alterar ou afetar arquivos de outros usu´arios do sistema.

O administrador de sistemas ´e respons´avel, entre outras coisas, pela inclus˜ao ou exclus˜ao de usu´arios normais, designa¸c˜ao de espa¸co em disco, instalar e configurar novos softwares e hardwares e eliminar eventuais problemas que possam ocorrer nos softwares do sistema.

Seus privil´egios devem ser protegidos de modo a evitar a intrus˜ao e o uso inapropriado do sistema por usu´arios mal-intencionados ou inexperientes.

(7)

Cap´ıtulo 2

Conceitos iniciais no Unix

2.1 Introdu¸ c˜ ao

Este cap´ıtulo se destina a introduzir os conceitos b´asicos envolvidos na opera¸c˜ao de um ambiente Unix, tais como entrar no sistema, uso de senha e movimenta¸c˜ao entre diret´orios.

2.2 Entrada, sa´ıda e identifica¸ c˜ ao de usu´ arios

2.2.1 Logging in

O sistema Unix, devido `a sua caracter´ıstica multi-usu´ario, necessita de um mecanismo de controle de acesso ao sistema, evitando que alguns usu´arios manipulem indevidamente o diret´orio de outros ou at´e mesmo que pessoas alheias a um sistema tente invadi-lo.

A identifica¸c˜ao do usu´ario no Unix ´e feita durante o processo de login (entrada no siste- ma). Atrav´es de umusername, ´unico para cada pessoa, e de uma senha (password), de conhe- cimento ´unico do usu´ario, o processo de login verifica se a combina¸c˜ao username/password

´

e v´alida. Caso o seja, o processo de login ´e terminado e o usu´ario estar´a apto a executar comandos no sistema.

A SENHA DEVE SER DE CONHECIMENTO ´UNICO DO USU ´ARIO!

O processo de login funciona com a entrada do username e da senha pelo usu´ario, tal como mostram as linhas a seguir:

maquina login: aluno password:

Last login: Mon Mar 31 12:31:13 from localhost Linux 2.0.35.

maquina:~$

Caso o usu´ario erre sua senha, uma nova requisi¸c˜ao de login ´e mostrada na tela, possibi- litando que a entrada dos dados corretos1.

1Observe que a password n˜ao ´e mostrada durante o processo de login, para evitar que outros a vejam.

7

(8)

maquina login: aluno password:

login incorrect maquina login:

Um cuidado que deve ser tomado no Unix ´e com a distin¸c˜ao pelo sistema entre caracteres mai´usculos e min´usculos. Desse modo, a palavra Maria ´e diferente de MaRIa ou maRia.

Portanto, deve-se prestar sempre aten¸c˜ao nos caracteres que s˜ao escritos na tela de modo a evitar confus˜oes e transtornos.

2.2.2 Mudan¸ ca de senha

E sempre recomend´´ avel mudar constantemente a senha. Muitas vezes, quando um usu´ario acessa o sistema de uma m´aquina externa ao mesmo, a conex˜ao pode estar sendo monitorada por um terceiro usu´ario mal intencionado. De posse da sua senha, este usu´ario poderia, por exemplo, ler suas correspondˆencias pessoais ou, na pior das hip´oteses, utilizar a sua conta para fins indevidos.

A mudan¸ca de senha no Unix ´e feita com o comando passwd. O programa passwd solicita ao usu´ario que entre com a senha antiga e depois com a nova. Para evitar erros de digita¸c˜ao, a nova senha deve ser repetida, como mostra o exemplo a seguir.

maquina:~$ passwd

Changing password for aluno Enter old password:

Enter new password:

Re-type new password:

Password changed maquina:~$

2.2.3 Executando comandos

Existem diversas maneiras de executar comandos em Unix. A mais simples ´e digitar o nome do comando seguido de <ENTER>. Os comandos tamb´em podem ser executados em seq¨uˆencia, como em

maquina:~$ ls; pwd; finger aluno; whoami

Os comandos podem tamb´em ser executados em segundo plano (background), bastando para isto que o caracter & seja acrescentado ao final do comando. Com isto, o comando ser´a executado e a linha de comando ficar´a livre para o usu´ario executar outros comandos concomitantemente `aqueles executados em background.

Al´em disso, os comandos podem ser executados empipeline, onde a sa´ıda de um programa

´

e lan¸cada na entrada e outro. O pipeline de comandos ´e indicado com o caracter |, como mostra o exemplo a seguir.

(9)

Introdu¸ao ao Linux - cAgostinho Brito 1998 9

maquina:~$ ls | grep txt exemplo1.txt

exemplo2.txt faq.txt maquina:~$

Neste exemplo, a lista de todos os arquivos do diret´orio/home/aluno´e lan¸cada na entrada do comando grep txt, que mostra as linhas que combinam com o padr˜ao’txt’.

Os programas executados via linha de comando s˜ao interpretados pelas chamadas shells do sistema, semelhantes ao programa command.comdo DOS. As shellsdo Unix possuem um hist´orico dos comandos utilizados em uma sess˜ao de login e podem ser visualizados atrav´es do comando history. Ao chamar o comando history, ´e exibida na tela a lista dos ´ultimos comandos executados pelo usu´ario precedidos do n´umero de ordem do comando e da hora em que cada um foi executado.

Caso o usu´ario deseje executar novamente um mesmo comando ´e necess´ario apenas cha- mar nashelluma referˆencia ao comando desejado com o caracter “!”, como mostra o exemplo a seguir, onde o comando de ordem 73 ´e, no caso, ls.

maquina:~$ !73 ls

documentos/ exemplo2.txt faq.txt exemplo1.txt financas/ linux1.gif maquina:~$

2.2.4 Ajuda on-line

O Unix possui um conjunto de ferramentas muito poderosas que ajudam o usu´ario a sanar grande parte de suas d´uvidas em rela¸c˜ao ao uso de comandos no sistema: as chamadas man pages. As man pages s˜ao documentos que detalham o uso de cada comando e descrevem os v´arios parˆametros que podem ser passados aos comandos no momento de sua execu¸c˜ao. As man pages podem ser acessadas pelo uso do comando man, de sintaxe

man [op¸c˜oes][se¸c˜ao] nome do comando onde:

op¸c˜oes s˜ao conjuntos de op¸c˜oes que podem ser passadas ao comando man.

section especifica a se¸c˜ao do manual que o usu´ario deseja visualizar.

Exemplo de utiliza¸c˜ao do comando man:

maquina:~$ man man

Neste exemplo, o sistema fornece informa¸c˜oes ao usu´ario sobre o uso do comando man.

E comum encontrar no Unix referˆ´ encia a comandos expressa sob a forma “man (1)”, por exemplo. Esta nota¸c˜ao indica que a documenta¸c˜ao do comando referenciado poder´a ser encontrada na se¸c˜ao 1 do manual.

(10)

2.2.5 Identificando usu´ arios

Muitas vezes ´e conveniente saber a lista de usu´arios logados em uma determinada m´aquina, ou em um terminal. Isto pode ser feito atrav´es de dois comandos no Unix: who ewhoami.

O comandowho exibe a lista de usu´arios logados numa esta¸c˜ao.

maquina:~$ who

aluno tty0 Feb 4 11:52 (:0.0) maquina:~$

O comando whoami, por sua vez, exibe o login do usu´ario que est´a logado no terminal onde o comando whoami foi executado.

maquina:~$ whoami aluno

maquina:~$

Os comandos who e whoami, entretanto, n˜ao mostram muitas informa¸c˜oes sobre os usu´arios que est˜ao em uma m´aquina. Informa¸c˜oes mais detalhadas sobre o usu´ario podem ser obtidas utilizando o comando finger, cujo uso do finger ´e simples, bastando apenas executar o comando seguido do nome do usu´ario, como mostra o exemplo a seguir.

maquina:~$ finger aluno

Login: aluno Name: aluno

Directory: /home/aluno Shell: /bin/bash Last login Tue Feb 4 14:09 (EDT) on tty0 from localhost No mail.

No Plan.

maquina:~$

Caso a informa¸c˜ao procurada seja de um usu´ario n˜ao pertencente ao grupo local, pode-se acrescentar no parˆametro do finger o nome do dom´ınio ou m´aquina onde o usu´ario possui a sua conta, como em finger joao@engcomp.ufrn.br.

2.2.6 Saindo do sistema

No Unix, as sess˜oes de login no sistema iniciadas pelo usu´ario s˜ao finalizadas atrav´es do comando logout, como mostra o exemplo a seguir.

maquina:~$ logout

Welcome to Linux 2.0.35.

maquina login:

(11)

Cap´ıtulo 3

Arquivos e Diret´ orios no Unix

3.1 Introdu¸ c˜ ao

Neste cap´ıtulo, ser˜ao discutidas as tarefas b´asicas de manipula¸c˜ao de diret´orios e arquivos no Unix.

3.2 Manipula¸ c˜ ao de diret´ orios

3.2.1 Navegando entre diret´ orios

Do mesmo modo que em outros sistemas operacionais, os diret´orios no Unix s˜ao organizados numa estrutura de ´arvore.

A mudan¸ca entre os diret´orios ´e feita atrav´es do comandocd(change dir), cuja sintaxe ´e cd [nome do diret´orio]

O exemplo abaixo mostra o usu´ario aluno se deslocando para o diret´orio /usr/bin.

maquina:~$ cd documentos maquina:~/documentos$ cd maquina:~$

Quando o comando ´e executado sem argumento, o sistema desloca o usu´ario para o seu home dir. Um argumento especial que pode ser passado ao comando cd ´e ’ usu´ario’, possibilitando que o deslocamento seja feito para o home dirdo usu´ario especificado.

A referˆencia a todos os diret´orios ´e absoluta na raiz da ´arvore de diret´orios, como em /home/aluno. A referˆencia relativa pode ser feita em rela¸c˜ao a dois arquivos existentes dentro de cada diret´orio do sistema, que s˜ao:

../ referˆencia ao diret´orio pai do diret´orio corrente.

./ referˆencia ao diret´orio corrente.

11

(12)

A identifica¸c˜ao do diret´orio corrente ´e feita atrav´es do comando pwd (present work directory), cuja sintaxe ´e mostrada no exemplo a seguir.

maquina:~$ pwd /home/aluno maquina:~$

A visualiza¸c˜ao do conte´udo de um diret´orio ´e feita com o comando ls, de sintaxe ls [op¸c˜oes][arquivo1 [arquivo2]...]

maquina:~$ ls

documentos/ exemplo2.txt faq.txt exemplo1.txt financas/ linux1.gif maquina:~$

Como pˆode ser notado, o comando ls quando executado sem op¸c˜oes n˜ao mostra muita informa¸c˜ao sobre os arquivos do diret´orio, apenas os seus nomes. As op¸c˜oes mais comuns que podem ser utilizadas para enriquecer a sa´ıda do comando lss˜ao:

-l listagem longa

-a listagem de todos os arquivos maquina:~$ ls -la

total 121

drwxr-xr-x 4 aluno users 1024 Mar 31 13:27 ./

drwxr-xr-x 7 root root 1024 Mar 31 12:53 ../

-rw-r--r-- 1 aluno users 26 Mar 31 13:08 .bash_history -rw-r--r-- 1 aluno users 34 Nov 23 1993 .less

-rw-r--r-- 1 aluno users 114 Nov 23 1993 .lessrc drwxr-xr-x 2 aluno users 1024 Mar 31 13:15 documentos/

-rw-r--r-- 1 aluno users 43 Mar 31 12:58 exemplo1.txt -rw-r--r-- 1 aluno users 41 Mar 31 12:58 exemplo2.txt drwxr-xr-x 2 aluno users 1024 Mar 31 13:28 financas/

-rw-r--r-- 1 aluno users 108111 Mar 31 13:00 faq.txt -rw-r--r-- 1 aluno users 5041 Mar 31 12:58 linux1.gif maquina:~$

3.2.2 Permiss˜ oes de arquivos

Como pˆode ser visto no exemplo anteiror, a listagem longa mostra uma s´erie de atributos relacionados a cada arquivo existente em um diret´orio. Entre estes atributos, a primeira seq¨uˆencia de caracteres ´e dividida em trˆes subseq¨uˆencias que definem as permiss˜oes dadas pelo usu´ario aos seus arquivos arquivo, de acordo com a classifica¸c˜ao de cada usu´ario. As atribui¸c˜oes de cada subseq¨uˆencia s˜ao mostradas na Figura 3.1.

(13)

Introdu¸ao ao Linux - cAgostinho Brito 1998 13

Permissões do usuário

Permissões do grupo

Permissões de outros

-rw- r-- r-- 1 ambj users 43 Mar 31 12:58 exemplo1.txt

Figura 3.1: Atributos de permiss˜ao de arquivo

A mudan¸ca das permiss˜oes de uma arquivo ´e feita com o comando chmod, de sintaxe chmod modo arquivo

Omodo define as permiss˜oes do arquivo, sendo os mais comuns s˜ao formados por uma combina¸c˜ao das letras ’ugoa’, referentes os usu´arios, e ’rwx’, referentes ao tipo de permiss˜ao, ligadas pelos caracteres ’+’ ou ’-’. As permiss˜oes do usu´ario s˜ao ’u’, para o propriet´ario do arquivo, ’g’, para o grupo a que pertence, ’o’, para outros usu´arios e ’a’(all), para todo os usu´arios. Os tipos de permiss˜ao s˜ao ’r’, para leitura, ’w’, para escrita, e ’x’, para execu¸c˜ao.

maquina:~$ chmod [go]-[rw] exemplo1.txt maquina:~$

3.2.3 Criando e destruindo diret´ orios

Os comandos para criar e apagar diret´orios no Unix s˜ao mkdir e rmdir, respectivamente.

As sintaxes destes comandos s˜ao:

mkdir diret´orio [...]

rmdir diret´orio [...]

1. criando o diret´orio documentos:

maquina:~$ pwd /home/aluno

maquina:~$ mkdir curso maquina:~$ cd curso maquina:~/curso$ pwd /home/aluno/curso maquina:~/curso$

2. removendo o diret´orio curso:

maquina:~$ pwd /home/aluno/curso maquina:~$ cd ..

(14)

maquina:~$ rmdir curso maquina:~$ cd curso

bash: curso: No such file or directory maquina:~$

Lembrete: para que um diret´orio possa ser removido, ´e necess´ario que o mesmo esteja vazio.

3.3 Manipula¸ c˜ ao de arquivos

3.3.1 Criando e listando arquivos

Diversas s˜ao as maneiras de se criar um arquivo no Unix, seja atrav´es de um editor de textos, seja pelo produto da compila¸c˜ao de um programa ou por quaisquer outras alternativas. A mais simples delas ´e utilizando o comandotouch.

Otouch´e geralmente utilizado para atualizar a hora e a data de um determinado arqui- vo e. Caso este arquivo n˜ao exista, ele ser´a criado pelo touch, por´em sem conte´udo algum.

A sua sintaxe do comando touch ´e:

touch arquivo maquina:~$ ls

documentos/ exemplo2.txt faq.txt mail/

exemplo1.txt financas/ linux1.gif maquina:~$ touch teste.txt

maquina:~$ ls

documentos/ exemplo2.txt faq.txt mail/

exemplo1.txt financas/ linux1.gif teste.txt maquina:~$

Para visualiza¸cao do conte´udo de um arquivo pode ser feita de diversas formas, sendo a mais simples atrav´es do comando cat, como exemplificado a seguir.

maquina:~$ cat exemplo1.txt

exemplo de arquivo no linux: exemplo1.txt maquina:~$

Se um arquivo for muito grande, comando cat n˜ao conseguir´a mostrar o seu conte´udo inteiro na tela, caso o n´umero de linhas do linhas do console n˜ao seja suficiente. Para contornar esta situa¸c˜ao, o comandomore pode ser utilizado, pois al´em de exibir o conte´udo do arquivo, realiza uma parada cada vez que uma tela ´e preenchida.

3.3.2 Copiando, movendo e removendo arquivos

O comando cp permite ao usu´ario realizar c´opias de arquivos ou diret´orios. A sintaxe do comando cp ´e:

cp [-r] fonte destino

(15)

Introdu¸ao ao Linux - cAgostinho Brito 1998 15

maquina:~/financas$ ls balanco.txt

maquina:~/financas$ cp balanco.txt balanco.copia maquina:~/financas$ ls

balanco.txt balanco.copia maquina:~/financas$

Quando utilizado com a op¸c˜ao -r, o comando cp realiza a c´opia recursiva de diret´orios

´

e realizada, semelhante ao xcopy do MS-DOS.

Muitas vezes, ao inv´es de copiar um arquivo para outro lugar, ´e necess´ario renome´a-lo ou movˆe-lo na ´arvore de diret´orios. Ambas estas tarefas s˜ao executadas atrav´es do comando mv, que faz a mudan¸ca de nome dos arquivos. Em Unix, mover um arquivo (inclusive di- ret´orios) de um lugar para outro significa apenas alterar o seu nome. A sintaxe do comando mv ´e:

mv [op¸c˜oes] fonte... destino maquina:~$ ls

documentos/ exemplo2.txt faq.txt mail/

exemplo1.txt financas/ linux1.gif teste.txt maquina:~$ mv teste.txt financas

maquina:~$ cd financas maquina:~$ ls

balanco.txt balanco.copia teste.txt maquina:~$ mv teste.txt teste.move

maquina:~$ ls

balanco.txt balanco.copia teste.move maquina:~$

A remo¸c˜ao de arquivos, por sua vez, ´e feita atrav´es do comando rm, como mostra o exemplo a seguir, onde o arquivo exemplo2.txt´e apagado.

maquina:~$ ls

documentos/ exemplo2.txt faq.txt exemplo1.txt financas/ linux1.gif maquina:~$ rm exemplo2.txt

maquina:~$ ls

documentos/ financas/ linux1.gif exemplo1.txt faq.txt

maquina:~$

Deve ser tomado muito cuidado no do comandorm, pois uma vez exclu´ıdo um arquivo, o mesmo n˜ao poder´a ser recuperado (ao contr´ario do sistema MS-DOS). Um comando da forma rm * (utilizando o coringa “*”) destr´oi todos os arquivos do diret´orio corrente. Por isto, ´e muitas vezes recomend´avel utilizar o comando rm com a op¸c˜ao ’-i’, que for¸ca o usu´ario a confirmar cada remo¸c˜ao de arquivo.

(16)

O comando rm tamb´em pode ser utilizado de forma semelhante ao comando deltree do MS-DOS, bastando para isto execut´a-lo com a op¸c˜ao’-r’. Com isto, todos os arquivos contidos em uma ´arvore de diret´orio ser˜ao apagados, come¸cando dos mais profundos at´e apagar o pr´oprio diret´orio.

3.3.3 Procurando coisas no Unix

Eventualmente ´e necess´ario procurar alguma informa¸c˜ao dentro de um arquivo ou at´e mesmo, saber onde um determinado arquivo se encontra dentro da ´arvore de diret´orios.

Um dos comandos mais ´uteis dentro do Unix ´e o grep, cuja utilidade ´e procurar ca- racteres dentro de um arquivo de texto. Sempre que o caracter passado como argumento para matching ´e encontrado em uma linha do arquivo, a mesma ´e enviada para a sa´ıda do programa. A sintaxe do comando grep´e da forma:

grep cadeia de caracteres [arquivos]

e a maneira mais simples de utilizar o grep´e como mostra o exemplo a seguir.

Exemplo de utiliza¸c˜ao do comando grep:

maquina:~/documentos$ cat teste.txt Exemplo de um arquivo em Linux que mostra a utilidade do programa grep.

maquina:~/documentos$ grep utilidade teste.txt que mostra a utilidade do

maquina:~/documentos$

Outro comando bastante ´util ´e ofind. Ele funciona procurando recursivamente um arqui- vo dentro de um diret´orio, obedecendo um crit´erio de busca. Caso o arquivo seja encontrado, uma a¸c˜ao definida pelo usu´ario ´e executada. Sua sintaxe ´e:

find diret´orio crit´erio de busca a¸c˜ao.

Exemplo de utiliza¸c˜ao do comando find.

maquina:~$ find /home -name balanco.txt -print /home/aluno/financas/balanco.txt

maquina:~$

Neste exemplo, o diret´orio inicial de busca foi /home, o crit´erio de procura foi -name balanco.txte a a¸c˜ao-print, indicando que nome absoluto do arquivo deveria ser mostrado quando o mesmo fosse encontrado.

(17)

Introdu¸ao ao Linux - cAgostinho Brito 1998 17

3.3.4 Ordenando o conte´ udo de um arquivo

O comandosortpossibilita que as linha de um arquivo possam ser ordenadas de acordo com um conjunto de op¸c˜oes indicadas. Sua sintaxe ´e dada por:

sort [-dfn] [arquivo1 [...]]

onde:

d indica que apenas letras e d´ıgitos importam na ordena¸c˜ao;

f ignora a diferen¸ca entre mai´usculas e min´usculas;

n faz a ordena¸c˜ao num´erica do arquivo.

Exemplo de uso do comando sort:

maquina:~$

maquina:~$ cat ordena.txt 0.001 primeiro

23.42 segundo 2.342 terceiro 4.03 quarto

maquina:~$ sort ordena.txt 0.001 primeiro

2.342 terceiro 23.42 segundo 4.03 quarto

maquina:~$ sort -n ordena.txt 0.001 primeiro

2.342 terceiro 4.03 quarto 23.42 segundo maquina:~$

3.3.5 Links

O sistema de arquivos do Unix, implementa o conceito de link. No Unix, criar um link significa apenas em adicionar um entrada na tabela de diret´orios que aponta para uma ´area no disco r´ıgido.

Existem dois tipos de links no Unix: o f´ısico (hard link) e o simb´olico (symbolic link).

Cada vez que um hard link ´e criado, o contador com n´umero de pontos de link que apontam para a relativa ´area de disco ´e incrementado. Quando umhard link´e destru´ıdo (por exemplo, durante a remo¸c˜ao de um arquivo), o contador para a ´area de disco correspondente ao mesmo ´e decrementada e, quando o mesmo chega a zero, o kernel desaloca a ´area de disco para ser utilizada para outros fins. Hard links n˜ao podem apontar para diret´orios ou arquivos inexistentes no sistema.

(18)

O symbolic link, por sua vez, ´e um arquivo que cont´em o nome de um arquivo no seu corpo. Cada vez que o kernel encontra um symbolic link, ele substitui o nome do link pelo seu conte´udo e continua a interpreta¸c˜ao do arquivo, at´e encontrar um hard link. Symbolic links podem apontar para quaisquer tipos de arquivos, inclusive inexistentes.

Links podem ser criados no Unix atrav´es do comando ln, cuja sintaxe ´e:

ln [op¸c˜oes] fonte [destino]

Exemplos de cria¸c˜ao dehard link esymbolic link:

Hard link:

maquina:~$ ls -la

maquina:~/financas$ ls -la total 3

drwxr-xr-x 2 aluno users 1024 Feb 6 06:31 ./

drwxr-xr-x 4 aluno users 1024 Feb 5 13:53 ../

-rw-r--r-- 1 aluno users 20 Feb 5 14:52 balanco.txt maquina:~/financas$ ln balanco.txt hard

maquina:~/financas$ ls -la total 4

drwxr-xr-x 2 aluno users 1024 Feb 6 06:32 ./

drwxr-xr-x 4 aluno users 1024 Feb 5 13:53 ../

-rw-r--r-- 2 aluno users 20 Feb 5 14:52 balanco.txt -rw-r--r-- 2 aluno users 20 Feb 5 14:52 hard

maquina:~/financas$

Symbolic link:

maquina:~/financas$ ls -la total 4

drwxr-xr-x 2 aluno user 1024 Feb 6 06:32 ./

drwxr-xr-x 3 aluno users 1024 Feb 5 13:53 ../

-rw-r--r-- 2 aluno users 20 Feb 5 14:52 balanco.txt -rw-r--r-- 2 aluno users 20 Feb 5 14:52 hard

maquina:~/financas$ ln -s balanco.txt soft maquina:~/financas$ ls -la

drwxr-xr-x 2 aluno users 1024 Feb 6 06:40 ./

drwxr-xr-x 3 aluno users 1024 Feb 5 13:53 ../

-rw-r--r-- 2 aluno users 20 Feb 5 14:52 balanco.txt -rw-r--r-- 2 aluno users 20 Feb 5 14:52 hard

lrwxrwxrwx 1 aluno users 7 Feb 6 06:40 soft -> balanco.txt maquina:~/financas$

Como pode ser visto, o hard link de nome hard ´e apenas mais um apontador para a

´

area de disco previamente apontada por balanco.txt. Caso a entrada balanco.txt seja removida da tabela de diret´orio, o conte´udo do arquivo para onde tal entrada apontava ainda continuar´a existindo, visto que a entrada hard ainda continua apontando para l´a.

(19)

Introdu¸ao ao Linux - cAgostinho Brito 1998 19

3.3.6 Imprimindo arquivos

Os servi¸cos de impress˜ao podem ser utilizados atrav´es do comando lpr. Ao chamar este comando, um servi¸co de impress˜ao dos arquivos especificados ´e iniciado.

A sintaxe do comando lpr´e:

lpr [-Pprinter] [-$num] [-C class] [-J job] [-T title] [-U user] [-i[numcols]]

[-1234 font] [-wnum] [-cdfghlnmprstv] [name ...]

As op¸c˜oes mais utilizadas deste comando s˜ao:

-P identifica a impressora que imprimir´a o arquivo.

-$num define o n´umero de c´opias que dever˜ao ser impressas.

Os dois exemplos a seguir ilustram o uso do comandolpr.

maquina:~/financas$ lpr -Plaser teste.ps maquina:~/financas$ lpr -$3 cap1.tex

No primeiro caso, o arquivoteste.psfoi enviado para a fila de impress˜ao da impressora de nome laser, enquanto que no segundo s˜ao impressas trˆes c´opias do arquivo cap1.tex para a impressora default do sistema.

3.3.7 Arquivando e compactando arquivos

Mem´orias de massa s˜ao dispositivos utilizados em praticamente toda m´aquina que comporta um sistema operacional. Muitas vezes, entretanto, devido `as limita¸c˜oes do meio de armaze- namento, arquivos muito grandes n˜ao podem ser escritos neste meio, como no caso de discos flex´ıveis de 3,5”. Neste contexto, os chamados compactadores de arquivos tornam-se bons aliados na redu¸c˜ao do tamanho de arquivos extensos.

Al´em disso, ´e freq¨uentemente necess´ario realizar tranferˆencias de dados entre duas es- ta¸c˜oes de trabalho ou realizarbackupsdos conjuntos de arquivos das m´aquinas de um deter- minado sistema.

Duas ferramentas bastante ´uteis no Unix e que atendem a estas necessidades s˜ao os programas tar e gzip.

O comando tar

Otarfunciona como um arquivador, tranferindo conjuntos de arquivos para um determinado arquivo de destino, seja este ´ultimo um arquivo comum ou umdriverde um perif´erico (disco flex´ıvel, fita magn´etica etc).

Sintaxe do comando tar:

tar [op¸c˜oes] arquivo1 [arquivo2[...]]

(20)

onde[op¸c˜oes]´e uma lista de op¸c˜oes para otar, earquivo1 [arquivo2[...]] s˜ao os arquivos a serem manipulados no arquivamento.

Exemplo de uso do comando tar:

maquina:~$ tar cvf backup.tar . ./

.less .lessrc exemplo1.txt

tar: backup.tar is the archive; not dumped linux1.gif

.bash_history faq.txt

documentos/

documentos/teste.txt financas/

financas/balanco.txt financas/hard

financas/soft maquina:~$

Neste exemplo, os arquivos existentes no diret´orio /home/aluno/figss˜ao arquivados no arquivo backup.tar. Como pode ser observados, trˆes argumentos s˜ao passados ao comando tar. O primeiro deles ´e cvf. O “c” indica que o usu´ario deseja criar um novo arquivo.

O “v” sinaliza o modo “verbose”, que mostra na tela os nomes dos arquivos enquanto s˜ao arquivados. O “f” indica que o argumento segundo argumento, backup.tar, ´e o nome do destino a ser criado. O ´ultimo argumento, por sua vez, ´e o diret´orio que se deseja arquivar.

Caso o usu´ario deseje extrair o conte´udo do arquivobackup.tar, basta executar o coman- do tar xvf backup.tar que os arquivos ali armazenados ser˜ao extra´ıdos para o diret´orio corrente. No exemplo a seguir, o conte´udo do arquivo backup.tar ´e extra´ıdo no diret´orio backup.

Exemplo de uso do comando tar:

maquina:~$ mkdir backup

maquina:~$ cp backup.tar backup maquina:~$ rm backup.tar

maquina:~$ cd backup maquina:~/backup$ ls -l total 131

-rw-r--r-- 1 aluno users 133120 Mar 31 14:08 backup.tar maquina:~/backup$ tar xvf backup.tar

./

.less .lessrc

(21)

Introdu¸ao ao Linux - cAgostinho Brito 1998 21

exemplo1.txt linux1.gif .bash_history faq.txt

documentos/

documentos/teste.txt financas/

financas/balanco.txt financas/hard

financas/soft

maquina:~/backup$ ls -la total 251

drwxr-xr-x 4 aluno users 1024 Mar 31 14:05 ./

drwxr-xr-x 5 aluno users 1024 Mar 31 14:12 ../

-rw-r--r-- 1 aluno users 26 Mar 31 13:08 .bash_history -rw-r--r-- 1 aluno users 34 Nov 23 1993 .less

-rw-r--r-- 1 aluno users 114 Nov 23 1993 .lessrc -rw-r--r-- 1 aluno users 133120 Mar 31 14:12 backup.tar drwxr-xr-x 2 aluno users 1024 Mar 31 13:43 documentos/

-rw-r--r-- 1 aluno users 43 Mar 31 12:58 exemplo1.txt drwxr-xr-x 2 aluno users 1024 Mar 31 13:58 financas/

-rw-r--r-- 1 aluno users 108111 Mar 31 13:00 faq.txt -rw-r--r-- 1 aluno users 5041 Mar 31 12:58 linux1.gif maquina:~/backup$

O comando tar tamb´em pode ser utilizado para enviar o arquivo backup.tar para um perif´erico do sistema, tal como uma unidade de disco flex´ıvel de 3,5”. Neste caso, se o usu´ario executar o comando

maquina:~$ tar cvf /dev/fd0 backup.tar

o arquivo backup.tar ser´a enviado para o drive A: da m´aquina. O procedimento para enviar arquivos para outros perif´ericos tamb´em ´e semelhante, bastando apenas utilizar o nome correto do driver do dispositivo.

O comando gzip

Apesar de sua versatilidade, o comando tar n˜ao realiza a compress˜ao dos arquivos durante o arquivamento. Assim, dois arquivos de 500kb cada um ocupar˜ao um espaco em disco de 1Mb ap´os o arquivamento.

Entretanto, o comando gzippode ser utilizado como uma ferramenta de compress˜ao de arquivos no Unix. Seu uso ´e simples, como mostra a sintaxe a seguir:

gzip [op¸c˜oes] [-S suffix] [arquivo1 [...]

Exemplo de utiliza¸c˜ao do comando gzip:

(22)

maquina:~$ gzip backup.tar

maquina:~$ gzip -d backup.tar.gz

No primeiro caso, o comando gzipcompactou o arquivo backup.tar, criando o arquivo backup.tar.gz (“.gz” ´e a extens˜ao default do gzip). No segundo caso, o arquivo bac- kup.tar.gz foi descompactado utilizando a op¸c˜ao “-d”. O usu´ario tamb´em pode utilizar o comando gunzip1 para descompactar um arquivo.

Para arquivar e compactar um conjunto de arquivos, o usu´ario pode utilizar o comando tar com a op¸c˜ao “z” inclu´ıda, como mostra o exemplo a seguir.

maquina:~$ tar czvf backup.tar.gz /home/aluno/financas

Assim o conte´udo do diret´orio/home/aluno/financasser´a arquivado e automaticamente compactado no arquivo backup.tar.gz.

3.3.8 Utilizando o conjunto de ferramentas mtools

No Unix existe um conjunto de ferramentas que permitem ao usu´ario manipular arquivos em discos flex´ıveis no formato MS-DOS. Dentre as mais utilizadas, podem ser encontradas as seguintes:

mcd [diretorio] - Muda o diret´orio corrente da unidade especificada.

mcopy fonte [destino]- Copia arquivo especificado em [fonte] para a localiza¸c˜ao de [des- tino]. Caso o destino n˜ao seja especificado, o diret´orio corrente ´e assumido. Exemplo:

mcopy exemplo1.txt a:

mdel arquivo - Remove o arquivo especificado do disco.

mdir [drive] [arquivos]- Exibe o conte´udo do diret´orio corrente do drive especificado ou lista os arquivos citados como argumentos.

mformat drive - Formata o drive especificado no padr˜ao MS-DOS.

mmkdir diretorio - Cria um diret´orio no sistema de arquivo MS-DOS.

Em todos os comandos, quando o nome drive n˜ao ´e especificado (como em a: ou b: ), ´e assumido que as transa¸c˜oes ser˜ao efetuadas no drive a: .

1Equivalente `a op¸ao “-d”.

(23)

Cap´ıtulo 4

Processos em Unix

4.1 Introdu¸ c˜ ao

Em toda ambiente multitarefa, dentre os quais o Unix ´e considerado, os recursos computacio- nais da m´aquina s˜ao alocados pelo kernel para todas as aplica¸c˜oes que concorrem no sistema.

Em ambientes Unix em geral, todos os programas executados na m´aquina s˜ao denominados processos, onde cada processo possui conjuntos de parˆametros associados ao mesmo.

Neste cap´ıtulo ser˜ao mostradas os procedimentos b´asicos de visualiza¸c˜ao e manipula¸c˜ao de processos no Unix.

4.2 Visualizando processos em Unix

A lista dos processos ativos no sistema pode ser visualizada por interm´edio do comando ps, como mostrado a seguir:

maquina:~$ ps

PID TT STAT TIME COMMAND

24 1 S 0:03 -bash

161 1 R 0:00 ps

maquina:~$

Neste exemplo, podemos notar algumas vari´aveis associadas a cada processo que identi- ficam caracter´ısticas pr´oprias de cada um. Entre elas, podemos observar:

PID N´umero identificador do processo TT Terminal de onde o processo foi iniciado.

STAT Status do processo

TIME Tempo de CPU utilizado.

COMMAND Nome do programa em execu¸c˜ao.

23

(24)

Dentre estes parˆametros, destaca-se o n´umero identificador do processo (PID). Este n´umero ´e de suma importˆancia para os sistema operacional, pois ´e a vari´avel que possibilita a m´aquina distinguir os processos em execu¸c˜ao, e para o usu´ario, pois no caso de acontecer algum problema, como o bloqueamento de um processo, ´e conveniente que o mesmo seja fina- lizado, repercutindo assim em uma melhoria na performance da m´aquina. Quando processo fica bloqueados, o tempo de uso da CPU ´e tomado sem realiza¸c˜ao de tarefa ´util.

Diversas s˜ao as op¸c˜oes que podem ser passadas ao comando ps. Entretanto, as duas formas mais comuns de utiliza¸c˜ao do comando ps s˜ao:

ps Mostra apenas os processos do usu´ario.

ps -aux Mostra todos os processos da m´aquina.

4.3 Foreground e Background

Os processos podem ser executados de duas formas: em foreground (primeiro plano) ou background (segundo plano). Os processos executado em foreground s˜ao aqueles que neces- sitam de intera¸c˜ao direta com o usu´ario, incluindo troca de informa¸c˜oes. Os processo em background n˜ao necessitam desta intera¸c˜ao com o usu´ario.

Muitas vezes ´e preciso passar um processo que est´a sendo executado emforeground para backgrounde vice-versa. Numa sess˜ao de transferˆencia de arquivos entre m´aquinas remotas, a velocidade da linha de transmiss˜ao pode aumentar demasiadamente o tempo de transferˆencia (horas, `as vezes!). Neste caso, seria interessante passar o processo para segundo plano, liberando a shell para outras atividades do usu´ario.

A passagem de um processo deforegroundpara background´e feita primeiro suspendendo o processo, utilizando o conjunto de teclas <CTRL>+z, seguido do comandobg, que envia o processo para segundo plano. Deve ficar claro que suspender a execu¸c˜ao de um processo n˜ao significa finaliz´a-lo, apenas torn´a-lo temporariamente inativo.

A lista dos processos executados em background pode ser visualizada com o comando jobs, que mostra cada processo associado com um n´umero de job. Caso o usu´ario necessite interagir novamente com o processo, deve utilizar o comando fg seguido de % n´umero de job. Exemplo:

maquina:~$ jobs

[1] - Running xemacs

[2] + Suspended (tty output) vi maquina:~$ fg %2

4.4 Finalizando processos

Quando for necess´ario finalizar a execu¸c˜ao de um processo, duas alternativas s˜ao poss´ıveis ao usu´ario: pela pr´opria interface do aplicativo, ou atrav´es do comando kill1. No caso de um processo ficar bloqueado devido a algum erro de execu¸c˜ao, utilizando desnecessariamente

1Alguns processo em foreground tamb´em podem ser finalizado com o comando<CTRL>+c

(25)

Introdu¸ao ao Linux - cAgostinho Brito 1998 25

tempo de CPU, o uso do comando kill se faz necess´ario. Sua sintaxe ´e descrita na linha a seguir:

kill [-sinal] n´umero do processo

Caso o processo n˜ao seja finalizado com o procedimento acima, o comando kill deve ser utilizado com o sinal -9, indicando t´ermino incondicional do processo, que ser´a encerrado de forma abrupta. Uma observa¸c˜ao importante ´e que s´o ´e permitido ao usu´ario finalizar apenas os seus processos, n˜ao podendo intervir nos processo de outros usu´arios. Um exemplo de uso do comando kill ´e mostrado a seguir.

maquina:~$ ps

PID TTY STAT TIME COMMAND

24 1 S 0:03 -bash

60 2 S 0:03 -bash

161 1 R 0:00 ps

maquina:~$ kill 60 maquina:~$ ps

PID TTY STAT TIME COMMAND

24 1 S 0:03 -bash

161 1 R 0:00 ps

maquina:~$

4.4.1 Pipelines

Opipelineconsiste em canalizar a sa´ıda de um processo para a entrada de outro processo. Isto pode ser feito atrav´es do caracter de pipe “|”, como mostra o exemplo a seguir, onde a sa´ıda de um comando ls -la´e enviada para a entrada do comando grep txt. Com isto, apenas os arquivos que possu´ırem o conjunto de caracteres ’txt’ no seu nome ser˜ao apresentados na tela.

maquina:~$ ls -la total 120

drwxr-xr-x 4 aluno users 1024 Mar 31 13:42 ./

drwxr-xr-x 7 root root 1024 Mar 31 12:53 ../

-rw-r--r-- 1 aluno users 26 Mar 31 13:08 .bash_history -rw-r--r-- 1 aluno users 34 Nov 23 1993 .less

-rw-r--r-- 1 aluno users 114 Nov 23 1993 .lessrc drwxr-xr-x 2 aluno users 1024 Mar 31 13:43 documentos/

-rw-r--r-- 1 aluno users 43 Mar 31 12:58 exemplo1.txt drwxr-xr-x 2 aluno users 1024 Mar 31 13:58 financas/

-rw-r--r-- 1 aluno users 108111 Mar 31 13:00 faq.txt -rw-r--r-- 1 aluno users 5041 Mar 31 12:58 linux1.gif maquina:~$ ls -la |grep txt

-rw-r--r-- 1 aluno users 43 Mar 31 12:58 exemplo1.txt -rw-r--r-- 1 aluno users 108111 Mar 31 13:00 faq.txt maquina:~$

(26)

4.4.2 Redirecionamento

Redirecionar consiste em alterar a origem da entrada ou o destino da sa´ıda de um processo, que, em geral, s˜ao as entrada e sa´ıda padr˜oes do sistema. O redirecionamento pode ser feito com os caracteres <e >, que redirecionam a entrada e a sa´ıda, respectivamente.

maquina:~$ ls -la > lista maquina:~$ cat lista total 120

drwxr-xr-x 4 aluno users 1024 Mar 31 13:42 ./

drwxr-xr-x 7 root root 1024 Mar 31 12:53 ../

-rw-r--r-- 1 aluno users 26 Mar 31 13:08 .bash_history -rw-r--r-- 1 aluno users 34 Nov 23 1993 .less

-rw-r--r-- 1 aluno users 114 Nov 23 1993 .lessrc drwxr-xr-x 2 aluno users 1024 Mar 31 13:43 documentos/

-rw-r--r-- 1 aluno users 43 Mar 31 12:58 exemplo1.txt drwxr-xr-x 2 aluno users 1024 Mar 31 13:58 financas/

-rw-r--r-- 1 aluno users 108111 Mar 31 13:00 faq.txt -rw-r--r-- 1 aluno users 5041 Mar 31 12:58 linux1.gif maquina:~$

(27)

Cap´ıtulo 5

Unix em Redes TCP/IP

5.1 Introdu¸ c˜ ao

No sistema Unix, s˜ao encontrados os dois principais protocolos de redes para sistemas Unix:

o UUCP e o TCP/IP. O UUCP foi desenvolvido no final da d´ecada de setenta por Mike Lesk da AT&T Bell Laboratories para permitir o desenvolvimento de uma rede de computadores atrav´es de acesso discado em linhas telefˆonicas p´ublicas. O UUCP foi muito popular na

´

epoca em que foi criado, pois permitia a comunica¸c˜ao de usu´arios residenciais, utilizando um modem, com servidores de correio eletrˆonico e USENET News. Hoje, contudo, as comu- nica¸c˜oes atrav´es do UUCP encontram-se cada vez mais raras, uma vez que este protocolo permite a utiliza¸c˜ao de interfaces gr´aficas, t˜ao comuns nos aplicativos atuais.

Neste cap´ıtulo, ser˜ao abordadas algumas aplica¸c˜oes do protocolo TCP/IP, tais como acesso a terminais remotos, transferˆencia de arquivos e correio eletrˆonico, que est˜ao entre as mais utilizadas pelos usu´arios da Internet. Neste contexto, objetivo deste cap´ıtulo ´e fornecer ao usu´ario os procedimentos necess´arios para que o mesmo possa tirar proveito dos principais aplicativos de rede existente no Unix.

5.2 TCP/IP

O TCP/IP (Transmission Control Protocol/Internet Protocol) consiste em um conjunto de paradigmas que permite grupos de m´aquinas se comunicarem atrav´es de uma rede. De posse do sistema Unix em uma m´aquina e fazendo uso do TCP/IP, uma conex˜ao desta ´ultima com a Internet possibilita a comunica¸c˜ao com quaisquer m´aquinas ou usu´arios do mundo que tamb´em fa¸cam parte desta rede.

5.3 Conceitos b´ asicos sobre Internet

A Internet se popularizou no in´ıcio da d´ecada de noventa com a sua libere¸c˜ao para o setor comercial nos Estados Unidos. Com isso, milhares de empresas entraram na rede, visando um mercado em expans˜ao de milh˜oes de pessoas que estava prestes a explodir em tamanho.

27

(28)

A Internet possui atualmente uma taxa de crescimento vertiginosa e, por que n˜ao mensio- nar, assustadora, visto que o n´umero de m´aquinas conectadas `a mesma praticamente duplica a cada ano (ver Tabela 5.1).

Internet Domain Survey†, Julho 1996 Number of Hosts, Domains and Nets.

Date Hosts Domains Replied to Ping‡ A B C

Jul 96 12,881,000 488,000 2,569,000 95 5892 128378 Jan 96 9,472,000 240,000 1,682,000 92 5655 87924

Jul 95 6,642,000 120,000 1,149,000 91 5390 56057 Jan 95 4,852,000 71,000 970,000 91 4979 34340 Jul 94 3,212,000 46,000 707,000 89 4493 20628 Jan 94 2,217,000 30,000 576,000 74 4043 16422 Jul 93 1,776,000 26,000 464,000 67 3728 9972

Jan 93 1,313,000 21,000 54 3206 4998

Produzido por Network Wizards (dispon´ıvel em http://www.nw.com)

Estimated by pinging 1% of all hosts.

Tabela 5.1: N´umero de m´aquinas, dom´ınios e redes na Internet.

Como em toda tecnologia de rede, cada m´aquina na Internet precisa ter um endere¸co

´

unico. A forma de endere¸camento adotada ´e um n´umero inteiro formado por trinta e dois bits.

Convencionou-se representar esse n´umero como sendo formado de quatro octetos separados por pontos, cada um variando de 0 a 255. Um exemplo de endere¸co v´alido na Internet

´

e 205.216.146.42. Contudo, a tarefa de memorizar um n´umero IP n˜ao ´e agrad´avel para o homem, muito menos os milhares de n´umeros IP existentes na Internet.

Para contornar esse problema, foi criado o conceito de dom´ınio, que ´e uma forma de transformar endere¸cos n´umericos, dif´ıceis de serem memorizados, em um nomes que repre- sentem as m´aquinas em locais da grande rede. Para a Internet, foram adotados os chamados dom´ınios hier´arquicos.

Os dom´ınios hier´aquicos s˜ao dividos em duas categorias: geogr´aficos e oficiais. Os dom´ınios geogr´aficos possuem o c´odigo do pa´ıs no n´ıvel mais alto, como em

endere¸co da m´aquina.sub organiza¸c~ao.organiza¸c~ao.br

Por exemplo, o endere¸co www.yahoo.com (204.71.177.73) pertence ao dom´ınioyahoo.com.

Os sufixos de cada pa´ıs foram padronizado por entidades internacionais, e com exce¸c˜ao dos Estados Unidos, todo dom´ınio na Internet termina com o sufixo do pa´ıs em que se encontra.

Veja abaixo alguns exemplos de sufixos:

ar Argentina.

au Austr´alia.

br Brasil.

ca Canada.

(29)

Introdu¸ao ao Linux - cAgostinho Brito 1998 29

ch Chile.

fr Fran¸ca.

uk Reino Unido.

Nos Estados Unidos, ber¸co da Internet, os sufixos s˜ao diferentes. Foram adotados dom´ınios oficiais, onde cada sufixo indica o tipo de institui¸c˜ao `a qual a m´aquina perten- ce.

Os dom´ınios oficiais dos Estados Unidos s˜ao:

com Para designar uma institui¸c˜ao comerca edu Para designar uma institui¸c˜ao educacional.

gov Institui¸c˜ao governamental.

mil Institui¸c˜oes militares.

org Dom´ınios reservados para organiza¸c˜oes privadas.

net Gateways e outros computadores administrativos da rede.

5.4 Aplicativos de redes

5.4.1 Correio Eletrˆ onico

Um dos aplicativos mais utilizados na Internet ´e o correio eletrˆonico. Com ele, usu´arios podem enviar e receber mensagens de quaisquer pessoas que possuam endere¸cos eletrˆonicos na rede. O correio eletrˆonico est´a diretamente relacionado ao conceito de endere¸co eletrˆonico, que provˆe todas as informa¸c˜oes necess´arias para que uma mensagem, partindo de qualquer parte do mundo, possa chegar at´e o seu destinat´ario. O endere¸co eletrˆonico pode representar tanto um indiv´ıduo quanto um conjunto de indiv´ıduos e ´e formado pela combina¸c˜ao

login do usu´ario@dom´ınio da m´aquina Exemplo: joao@engcomp.ufrn.br

Uma mensagem de correio eletrˆonico ´e formada basicamente de duas partes distintas:

1. o cabe¸calho, que cont´em informa¸c˜oes a respeito de quem esta enviando a mensagem e para quem, bem como todo o trajeto feito pela mensagem na Internet;

2. o corpo ou conte´udo da mensagem.

No Unix, existem v´arios programas de correio eletrˆonico, sejam eles orientados a caracte- res ou a interfaces gr´aficas. A maior parte deles ´e original dos sistemas Unix. Como exemplos de programas de correio eletrˆonico no Unix, podemos citar o pine e o mail.

Ao entrar em um sistema Unix gen´erico, ´e costumeiro que o usu´ario receba uma aviso a existˆencia ou n˜ao de mensagens para si. Um dos programas mais utilizados para leitura de correio eletrˆonico no Unix ´e o pine. Ao executar o pine o usu´ario tem acesso a uma interface de texto bastante auto-explicativa, como mostrado a seguir.

(30)

PINE 3.96 MAIN MENU Folder: INBOX 93 Messages

? HELP - Get help using Pine

C COMPOSE MESSAGE - Compose and send/post a message I FOLDER INDEX - View messages in current folder

L FOLDER LIST - Select a folder OR news group to view A ADDRESS BOOK - Update address book

S SETUP - Configure or update Pine

Q QUIT - Exit the Pine program

Copyright 1989-1997. PINE is a trademark of the University of Washington.

[Folder "INBOX" opened with 93 messages]

? Help P PrevCmd R RelNotes

O OTHER CMDS L [ListFldrs] N NextCmd K KBLock

Para ler as mensagens, basta selecionar a op¸c˜ao “L” do menu e selecionar a pastaINBOXna tela seguinte. INBOX representa todas as mensagens existentes na caixa postal do usu´ario.

Uma vez selecionada a pasta INBOX, uma tela semelhante a seguinte aparecer´a no terminal.

PINE 3.96 FOLDER INDEX Folder: INBOX Message 1 of 90

1 Oct 15 Ernesto Paulo dos (1,858) [linux-br] Bons Livros sobre Linux e + 2 Oct 15 orders@amazon.com (2,810) Your Order with Amazon.com (#002-0898

3 Oct 16 Tiago Walzer Kuhn (1,672) [linux-br] Re: Bons Livros sobre Linu 4 Oct 16 Klaus Steding-Jess (2,717) Re: [TeX-BR] man2latex

+ 5 Oct 16 Agostinho M. Brito (592) ftp.icce.rug.nl

+ 6 Oct 18 orders@amazon.com (1,997) Your Amazon.com order (#002-0898723-5 7 Oct 19 Andr´es Ortiz Salaz (6,238) [Fwd: Curso "virtual" de linguagem C]

8 Oct 22 Ying Zhang (2,842) [linux-br] [comp.os.linux.announce] S 9 Oct 26 Tobias Gloth (4,136) [linux-br] [comp.os.linux.announce] M

[Already at start of Index]

? Help M Main Menu P PrevMsg - PrevPage D Delete R Reply O OTHER CMDS V [ViewMsg] N NextMsg Spc NextPage U Undelete F Forward

A mensagem pode ser selecionada com as setas do teclado. Para compor mensagens, seleciona-se a op¸c˜ao C no menu principal do programa ou digita-se a tecla C, de compose.

Na tela de composi¸c˜ao de e-mail, o usu´ario precisar´a preencher os camposto, indicando o en- dere¸co do destinat´ario, subject, o assunto da mensagem e escrever a mensagem propriamente dita. Exemplo:

(31)

Introdu¸ao ao Linux - cAgostinho Brito 1998 31

PINE 3.96 COMPOSE MESSAGE Folder: INBOX 104 Messages To : ambj@leca.ufrn.br

Cc :

Attchmnt:

Subject : teste de e-mail --- Message Text --- Alo, agostinho.

Estou testando correio eletronico.

Abracos, Agostinho

^G Get Help ^X Send ^R Rich Hdr ^Y PrvPg/Top ^K Cut Line ^O Postpone

^C Cancel ^D Del Char^J Attach ^V NxtPg/End ^U UnDel Line^T To AddrBk

5.4.2 Transferˆ encia de arquivos

A transferˆencia de arquivos ´e hoje um recurso mais do que conhecido pelos usu´arios da Internet. Encontram-se espalhados nas m´aquinas ao redor do mundo milhares documentos ou aplica¸c˜oes cient´ıficas, demonstrativos de jogos, aplicativos para diversos sistemas opera- cionais, diversos artigos e dicas sobre determinados programas ou perif´ericos existentes no mercado, al´em de diversos produtos que empresas de inform´atica est˜ao disponibilizando pela rede. Todos estes recursos e muitos outros n˜ao mencionados est˜ao ao alcance dos usu´arios da Internet, desde que, ´e claro, possuam as ferramentas adequadas para a transferˆencia de arquivos entre m´aquinas.

Um dos mecanismos que surgiu junto com a Internet foi o FTP (File Transfer Protocol), cuja fun¸c˜ao ´e a de possibilitar troca de arquivos entre computadores remotos. Em muitos sistemas, ´e tamb´em o nome do programa que implementa o protocolo.

Oftp ´e um software interativo de transferˆencia de arquivos e necessita de que o usu´ario insira as informa¸c˜oes necess´arias ao gerenciamento das fun¸c˜oes do programa.

Para dar in´ıcio a uma sess˜ao de FTP, basta digitar a linha de comando a seguir:

ftp <nome da m´aquina servidora de ftp>

Feito isso, ser´a pedido ao usu´ario um login e uma senha. Caso este ´ultimo n˜ao possua uma conta na m´aquina remota conectada, poder´a utilizar o login anonymous1, cuja a senha

´

e o pr´oprio endere¸co eletrˆonico do usu´ario local. O conta de usu´ario anonymous existe em muitas m´aquinas como uma forma de possibilitar a usu´arios de outros sistemas o acesso a diret´orios locais que contenha informa¸c˜oes de dom´ınio p´ublico.

Comandos b´asicos do programaftp:

1E necess´´ ario que a m´aquina remota possibilite o acesso do usu´ario anonymous

(32)

comando descri¸c˜ao

dir Lista o conte´udo do diret´orio da m´aquina remota.

binary Informa ao FTP que os arquivos a serem transfe- ridos s˜ao programas e n˜ao texto.

ascci Informa ao FTP que os arquivos transferidos s˜ao no modo texto.

get <arquivo> Transfere o arquivo remoto para a sua m´aquina.

put <arquivo> Transfere o arquivo de sua m´aquina para a

m´aquina remota.

mget <arquivo1>[<arquivo2>...] Transfere o arquivo remoto para a sua m´aquina.

mput <arquivo1>[<arquivo2>...] Transfere o arquivo de sua m´aquina para a

m´aquina remota.

cd <diret´orio> Muda de diret´orio na m´aquina remota.

lcd <diret´orio> Muda de diret´orio na m´aquina local.

quit ou bye Finaliza o FTP.

help Exibe informa¸c˜oes sobre todos os comandos dis-

pon´ıveis.

Exemplo de abertura de sess˜aoftp:

maquina:~$ ftp ftp.engcomp.ufrn.br Connected to ftp.engcomp.ufrn.br.

220 ribeira FTP server (Version wu-2.4(1) Tue Dec 5 20:51:15 CST 1995) ready.

Name (ribeira.engcomp.ufrn.br:aluno): anonymous

331 Guest login ok, send your complete e-mail address as password.

Password:

230-Welcome, archive user! This is an experimental FTP server. If have 230-any unusual problems, please report them via e-mail to root

230-If you do have problems, please try using a dash (-) as the first 230-character of your password -- this will turn off the continuation 230-messages that may be confusing your ftp client.

230-

230 Guest login ok, access restrictions apply.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

5.4.3 Emula¸ c˜ ao de Terminal Remoto

Uma das facilidades provenientes dos ambientes de redes, dentre os quais destaca-se a Inter- net, ´e a possibilidade de executar comandos em uma m´aquina atrav´es de um acesso remoto

`

a mesma. O ambiente no qual um determinado usu´ario executa os comandos remotos ´e conhecido no jarg˜ao de redes comoterminal remoto. Em outras palavras, um usu´ario logado

(33)

Introdu¸ao ao Linux - cAgostinho Brito 1998 33

em uma m´aquina X realiza uma conex˜ao de terminal remoto com uma m´aquina Y e, a partir da´ı, realiza comandos na m´aquina X que ser˜ao executados na m´aquina Y.

Este recurso de execu¸c˜ao remota de comandos permite, por exemplo, que pesquisadores de um laborat´orio utilizem o poder computacional de processamento de um outro computador, localizado em um outro laborat´orio de qualquer parte do mundo.

Para utilizar o terminal remoto ´e necess´ario que o usu´ario possua uma conta no sistema remoto. Em algumas ocasi˜oes, pode existir uma conta de dom´ınio p´ublico, semelhante ao usu´ario anonymous do aplicativo ftp. Entretanto, isto n˜ao ´e costumeiro em se tratando de acesso remoto, por quest˜oes de seguran¸ca do sistema.

Os dois comandos mais utilizados para iniciar uma sess˜ao de terminal remoto s˜aotelnet e rlogin:

Telnet : Sintaxe: telnet endere¸co da m´aquina Rlogin : Sintaxe: rlogin endere¸co da m´aquina

O comandorlogin inicia uma sess˜ao de terminal remoto em uma m´aquina Y, na mesma conta de usu´ario da m´aquina X (mesmo login name). A diferen¸ca b´asica do rlogin em rela¸c˜ao ao telnet´e que o primeiro n˜ao requisita a identifica¸c˜ao do usu´ario (login), apenas a sua senha.

5.4.4 Conversando pela Internet

O Unix implementa uma aplica¸c˜ao muito interessante do Unix: o talk. O talk ´e um pro- grama interativo e permite que um usu´ario possa conversar em tempo real com outro via Internet. Para iniciar uma sess˜ao de talk, ´e necess´ario confirmar se a pessoa com a qual se deseja conversar est´a logada no momento e em alguma m´aquina.

O estabelecimento de uma chamada de talk ´e feita executando o comando com os argu- mentos adequados:

talk login do usu´ario remoto@m´aquina remota

Uma vez executado esse comando, ser´a preciso que o usu´ario remoto para qual a chamada de talk foi solicitada confirme o pedido. Esta confirma¸c˜ao ´e feita quando o usu´ario remoto executa o comando talk passando como argumentos o endere¸co do usu´ario que iniciou a conex˜ao. Uma vez confirmada a solicita¸c˜ao de talk, a tela ´e dividida em duas janelas, onde na janela de cima s˜ao escritas as mensagens do usu´ario local, e na de baixo s˜ao apresentadas as mensagens enviadas pelo usu´ario remoto. Uma sess˜ao de talk pode ser finalizada com o comando <CTRL>+c.

5.4.5 Verificando se uma m´ aquina est´ a ativa com ping

O comando ping, serve para saber se determinada m´aquina na Internet est´a funcionando.

A sua sintaxe ´e:

ping endere¸co da m´aquina

Uma vez executado o comando, mensagens de retorno ser˜ao apresentadas na tela, in- dicando se a m´aquina est´a ligada e funcionando ou que o seu endere¸co n˜ao ´e reconhecido.

Neste ´ultimo caso, trˆes hip´oteses podem ser consideradas:

(34)

1. n˜ao existe uma m´aquina na Internet com o nome ou o n´umero passado como argumento.

2. a m´aquina est´a desligada.

3. alguma m´aquina que entremeia o caminho para a m´aquina de destino encontra-se fora do ar.

(35)

Cap´ıtulo 6

Edi¸ c˜ ao de textos com joe

6.1 Introdu¸ c˜ ao

Existem diversos editores de texto para Unix. Entre os mais conhecidos e utilizados, destacam- se o vi, amplamente difundido na maioria dos sistemas Unix, e oemacs, desenvolvido pela GNU. A populariza¸c˜ao destes editores se deu principalmente devido `a enormidade de recur- sos e ferramentas de edi¸c˜ao e processamento de texto dispon´ıveis em cada um, que, algumas vezes, os tornam dif´ıceis de utilizar.

Tamb´em podem ser encontrados muitos editores gr´aficos do tipo WYSIWYG(What You See Is What You Get, alguns deles em vers˜oesfreeware(a grande maioria) e alguns em vers˜oes comerciais. Podemos citar como exemplos de bons editores gr´aficos os pacotes Andrew, Lyx, Thot, Applixware e StarOffice, tendo este ´ultimo funcionalidades bastante semelhantes `as do Microsoft Word 6.0.

Neste cap´ıtulo ser´a apresentado um dos editores ascii de texto mais populares no sistema Linux: o joe. O que motiva o seu uso ´e o fato de sua operac˜ao ser simples, pois seus comandos se assemelham bastante aos utilizados em editores como o WordStar, Sidekick e Turbo Pascal para MSDOS, com os quais a maioria dos usu´arios de PC s˜ao familiares. Esta sua caracter´ıstica o torna bastante atrativo para edi¸c˜ao de textos em terminais.

6.2 O editor de textos joe

Para executar o joe basta digitar o comando joe seguido ou n˜ao do nome do arquivo que se deseja editar, e da tecla <ENTER>. Com isso, a tela de edi¸c˜ao dojoe ser´a apresentada para o usu´ario tal como mostrado abaixo.

35

(36)

IW teste.txt Row 1 Col 1 4:49 Ctrl-K H for help Este e’ um exemplo de texto editado no joe,

um popular editor de texto bastante utilizado por usua’rios do sistema Linux.

Seus comandos sao bastante semelhantes aos do WordStar e Sidekick para MSDOS.

Use o joe para editar os seus textos!

** Joe’s Own Editor v2.2 ** Copyright (C) 1994 Joseph H. Allen **

Para acessar a ajuda on-line, basta digitar a combina¸c˜ao de teclas <CTRL>+K+H (ˆKH, segundo a nota¸c˜ao do joe) que a tela de ajuda aparecer´a, como mostrado a seguir.

Para fechar a tela de ajuda, basta digitar a combina¸c˜ao ˆKH novamente.

CURSOR GO TO BLOCK DELETE MISC EXIT

^B left ^F right ^U prev. screen ^KB begin ^D char. ^KJ reformat ^KX save

^P up ^N down ^V next screen ^KK end ^Y line ^T options ^C abort

^Z previous word ^A beg. of line ^KM move ^W >word ^R refresh ^KZ shell

^X next word ^E end of line ^KC copy ^O word< ^@ insert FILE SEARCH ^KU top of file ^KW file ^J >line SPELL ^KE edit

^KF find text ^KV end of file ^KY delete ^_ undo ^[N word ^KR insert

^L find next ^KL to line No. ^K/ filter ^^ redo ^[L file ^KD save A movimenta¸c˜ao do cursor dentro do texto pode ser feita com as setas do teclado, para mudar entre linhas e colunas, ou atrav´es das teclas PGUP e PGDN, para deslocamento entre p´aginas.

Para procurar por grupos de caracteres dentro do texto, basta utilizar a combina¸c˜ao de teclas ˆKF e indicar a string de texto desejada. Feito isso, o joe requisita algumas op¸c˜oes de busca, tais como sensibilidade ao caso (MAI ´USCULAS/min´usculas) e dire¸c˜ao de busca.

Para repetir a ´ultima busca realizada, basta digitar ˆL.

Para remover caracteres, podem ser utilizadas as teclas <BACKSPACE>, para apagar um caracter `a esquerda do cursor, e <DEL>, para apagar caracteres `a direita do cursos. A remo¸c˜ao de linhas inteiras ´e feita digitando o comando ˆY. O joe tamb´em suporta opera¸c˜oes de bloco. Para marcar o in´ıcio e o fim de um bloco, digita-se ˆKB e ˆKK, respectivamente.

Para remover o bloco marcado, digita-se ˆKY. Para mover o bloco para a posi¸c˜ao corrente do cursor, basta digitar ˆKM. A c´opia do bloco para a posi¸c˜ao do cursor, por sua vez, ´e feita com a combina¸c˜ao de teclas ˆKC.

O joe mant´em uma lista de todas as mudan¸cas realizadas pelo usu´ario no documento, permitindo desfazer e refazer quaisquer a¸c˜oes dentro de uma sess˜ao de edi¸c˜ao de texto. Para

(37)

Introdu¸ao ao Linux - cAgostinho Brito 1998 37

desfazer a mudan¸ca mais recente, digita-se <CTRL>+<SHIFT>+ (control-sublinhado).

Para refazer uma mudan¸ca desfeita anteriormente, basta digitar <CTRL>+<SHIFT>+ˆ (control-circunflexo).

As mudan¸cas realizadas no arquivo podem ser salvas com a combina¸c˜ao de teclas<CTRL>+K+D.

Para sair do joe e salvar as mudan¸cas correntes, basta digitar ˆKX. Caso o usu´ario n˜ao de- seje salvar as altera¸c˜oes, o mesmo pode sair do editor digitando ˆC. Se alguma mudan¸ca tiver sido efetuada, o joe ir´a perguntar se o usu´ario deseja sair sem salvar as altera¸c˜oes.

No quadro abaixo s˜ao apresentados os principais comandos dojoe, incluindo opera¸c˜oes de movimenta¸c˜ao na tela, manipula¸c˜ao de blocos e arquivos, busca de express˜oes e remo¸c˜ao de objetos, entre outros.

CURSOR MOVER MARCAR BLOCO

^B esquerda ^U tela anterior ^KB in´ıcio

^P cima ^V tela posterior ^KK final

^Z palavra anterior ^A in´ıcio da linha ^KM mover

^X palavra posterior ^E fim da linha ^KC copiar

^F direita ^KU in´ıcio do arquivo ^KW salvar

^N baixo ^KV final do arquivo ^KY apagar

^KL mover para linha ^K/ filtro

DELETAR MISCEL^ANEA SAIR

^D caracter ^KJ reformatar ^KX salvar

^Y linha ^T op¸c~oes ^C abortar

^W palavra a direita ^R refrescar ^KZ shell

^O palavra a esquerda ^@ inserir ARQUIVO

^J final da linha SPELL ^KE editar

^_ desfazer ^[N palavra ^KR inserir

^^ refazer ^[L arquivo ^KD salvar

BUSCA

^KF procurar texto

^L procurar pr´oximo

E importante ter em mente que o´ joe´e apenas um editor de texto ascii e n˜ao um completo processador de texto. Op¸c˜oes tais como mudan¸ca de fontes, alinhamento ou insers˜ao de gr´aficos s˜ao deixadas por conta de pacotes como o LATEX, que d˜ao ao usu´ario muni¸c˜ao suficiente para construir as mais variadas formas de arranjo textos e objetos gr´aficos em um documento.

(38)

O ambiente gr´ afico X Window

7.1 Introdu¸ c˜ ao

O sistema X Window (ou simplesmente “X”) ´e um ambiente de trabalho gr´afico utilizado em quase todos os desktops Unix existentes no mundo. Foi desenvolvido inicialmente pelo MIT (Massachusetts Institute of Technology), sendo o projeto posteriormente repassado para um conjunto de empresas denominado “The X Consortium” e mantidos por eles desde ent˜ao.

O X ´e constitu´ıdo de um programa chamadoservidor gr´afico, respons´avel por desenhar os elementos da tela e de uma s´erie de bibliotecas auxiliares. Os programas utilit´arios s˜ao denominados clientes. O browser netscape´e um exemplo de programa cliente.

No Linux, o X Window ´e implementado por um conjunto de programas e bibliotecas denominado XFree86. O XFree86 ´e totalmente gratuito e d´a suporte `as mais diversas placas de v´ıdeo dispon´ıveis no mercado.

O X Window traz para o usu´ario Unix o conforto de trabalhar em um ambiente gr´afico, com ´ıcones, editores de texto e imagem etc e possibilita, entre outras coisas, que aplicativos desenvolvidos em um tipo de unix possam ser exibidos na tela de outro.

7.2 Iniciando e Finalizando o X Window

Em diversas m´aquinas, o X ´e normalmente iniciado ap´os o boot. Neste caso, para o usu´ario utilizar o sistema, ´e preciso entrar com o seu username e a sua senha em alguma janela de di´alog espec´ıfica.

Quando o X Window n˜ao ´e iniciado ap´os o boot, o comando startx

resolver´a o problema. startx ´e um shell script que executa o servidor gr´afico e inicia o gerenciador de janelas.

O gerenciador de janelas ´e quem arruma na tela todo o arsenal de aplicativos e realiza as intera¸c˜oes entre o usu´ario e o X Window. Dependendo do gerenciador de janelas utilizado, o usu´ario poder´a ter um ´ıcone indicando as horas, outro para abrir um terminal de comandos

38

(39)

Introdu¸ao ao Linux - cAgostinho Brito 1998 39

etc. O Linux ´e um dos sistemas que mais possue gerenciadores de janela. Entre outros, podemos citar fvwm,olwm,mwm, Kde egnome.

A finaliza¸c˜ao do X geralmente ´e feita atrav´es de alguma entrada de menu do tipo “Exit Window Manager”, ou simplesmente “exit”. Caso n˜ao seja encontrada alguma sa´ıda ´obvia, basta digitar a combina¸c˜ao das teclas CTRL + ALT + BACKSPACE .

7.3 Executando aplicativos

Os aplicativos mais comuns podem ser encontrados nos menus que o gerenciador de janelas apresenta, tais como shells, gerenciadores de arquivo e editores de texto. Quando a aplica¸c˜ao procurada n˜ao se encontra no menu, a maneira mais r´apida de execut´a-la ´e atrav´es de uma shell.

A shell ´e na maioria das vezes o primeiro aplicativo procurado por um usu´ario Unix, pois agiliza a tarefa de interagir com o sistema. No X Window, o programa xtermdisponibiliza a shell para o usu´ario. Praticamente todos aplicativos gr´aficos do sistema podem ser executa- dos pelo usu´ario diretamente de um terminal. Recomenda-se fazer a execu¸c˜ao do aplicativo em background para liberar a shell para outras atividades.

7.4 Usando o mouse

No X Window, as trˆes teclas do mouse possuem uma fun¸c˜ao espec´ıfica. Caso o mouse possua apenas dois bot˜oes, ou o bot˜ao do meio esteja desabilitado, o clique simultˆaneo dos bot˜oes esquerdo e direito simulam o efeito do bot˜ao central.

A tecla da esquerda ´e utilizada para selecionar elementos na tela (bot˜oes, menu, barras de rolagem etc), maximizar, minimizar e fechar janelas, al´em de marcar texto nos programas que permitam esta opera¸c˜ao.

A tecla do meio ´e utilizada principalmente para colar objetos selecionado com o bot˜ao da esquerda, principalmente texto.

A tecla da direita abre menus na tela do tipo “pop-up” para o usu´ario. Sua utiliza¸c˜ao

´

e mais intensiva se d´a no gerenciador de janelas olwm. Neste sistema, as aplica¸c˜oes s˜ao chamadas com o mouse a partir do menu pop-up apresentado quando o usu´ario clica com o bot˜ao direito no fundo da ´area de trabalho.

7.5 A ´ area de trabalho

A ´area de trabalho do usu´ario, ouDesktop, ´e a regi˜ao da tela onde todos os aplicativos gr´aficos s˜ao lan¸cados. Os gerenciadores de janela geralmente executam um programa que disponibi- liza v´arias ´areas de trabalho para o usu´ario, ou Desktops virtuais. Com isto, a sobrecarga visual ´e dividida em diversos ambientes, tornando o uso da m´aquina mais agrad´avel.

A figura 7.1 mostra uma tela do X Window System utilizando o gerenciador de janelas fvwm95.

Alguns gerenciadores de Desktops possibilitam inclusive que o usu´ario desloque uma janela de um Desktop para outro.

Referências

Documentos relacionados

Esse tipo de software normalmente encapsula uma linguagem de programação (é importante que mesmo que não seja utilizada pelos usuários, a linguagem de

Videotoracoscopia e, em outro estudo, sobre Simpatectomia Cervicotorácica por Videotoracoscopia, de forma que o nível a ser abordado cirurgicamente no

comunicação da Paróquia Coração Eucarístico de Jesus O catolicismo no Brasil utiliza os sistemas tradicionais para se comunicar e enfatizar sua doutrina entre os

A principal forma de avaliar os fios multifilamentos con- tínuos é mediante o ensaio de tração, que deve ser realizado em equipamento próprio para ensaio de fios têxteis, o qual

O objetivo geral consiste no reforço da fundação científica e das capacidades institucionais no ensino superior, investigação e gestão nos países parceiros através de

O jogador que lançar mais rápido, para a mesa, duas Cartas Resposta correspondentes aos fatores do pedido em jogo, vence a jogada e ganha a Carta Pedido.. Os

Evolução conceitual em atividade física, exercício e esporte. Meios e métodos de treino,

O objetivo deste estudo foi avaliar a influência das fases de anestro e diestro no diâmetro oocitário, na configuração da cromatina em VG e na competência de