MAC499 - Trabalho de Formatura
Treinamento
em UNIX (Linux / Solaris) para usuários do IME
Márcio
Rodrigo de Freitas Carneiro
Conteúdo detalhado e relatório do curso de 2000
Será apresentado aqui o assunto do texto em capítulos, que serão equivalentes
a aulas. Um curso para os alunos ingressantes de 2000 foi ministrado na sala
139-B, de terças e quintas, das 12:40 às 14:00. As aulas que foram realizadas serão
comentadas também.
Aula 0
Aula realizada em 24 de outubro de 2000. A primeira aula dada foi sobre
computadores em geral. Foi falado sobre como funciona o computador, qual são
seus componentes e o que significam as siglas mais comuns que aparecem. A
apresentação pode ser vista com o PowerPoint ou com o Acrobat Reader. Essa aula não está inclusa no texto.
Aula/Capítulo 1
Material sobre o capítulo 1. Pode-se
ver a apresentação em PowerPoint
ou com o Acrobat Reader. Conteúdo:
- Breve histórico do UNIX e Linux.
- Conceitos relacionados ao Linux:
- O que é kernel.
- O que é GNU.
- O que é sistema de arquivos.
- Conceitos de usuário e senha.
- Conceitos de computadores em rede.
- Conceito de shell.
- Início na rede:
- Acesso a conta.
- Procura de ajuda (FAQ, manuais).
- Como utilizar o administrador da rede.
Aplicação
Aula realizada em 26 de outubro de 2000. Como a turma já
estava acostumada com a rede, além de já terem noções de alguns conceitos, a
aula foi rápida. A diferenciação entre GNU e Linux (kernel), o
conceito de shell e as dicas do uso da administração foram os assuntos
mais discutidos.
Aula/Capítulo 2
O conteúdo dessa aula são os comandos básicos para o manuseio de arquivos e
diretórios no bash:
- Comandos abordados:
- Listagem de arquivos e diretórios: ls.
- Navegação nos diretórios: cd e pwd.
- Criação e remoção de diretórios: mkdir e rmdir.
- Copiar, mover e remover: cp, mv, rm.
- Conceito de ligações (links) simbólicas e fixas. Comando
ln.
- Exercícios de fixação.
Aplicação
Aula realizada em 31 de outubro de 2000. Também por serem alunos já
ambientados no sistema da Rede Linux, os comandos foram vistos rapidamente. O
assunto mais discutido foi o conceito de ligações, e o funcionamento do
comando ln. Infelizmente, por ser uma aula de 80 minutos, e não termos
disponível um laboratório, os exercícios foram deixados como tarefa
individual.
Aula/Capítulo 3
O assunto dessa aula é as permissões e posses de arquivos, além do conceito de
processos no sistema, e a utilização de comandos para manipulação dos mesmos:
- Permissões e posse de arquivos:
- Conceitos de posse e permissões.
- Verificação e alteração de posse e permissões (chmod e
chown).
- O comando umaks para as permissões padrões na criação de
arquivos e diretórios.
- Processos:
- Conceitos de processos, PID, e escalonamento (prioridades).
- Comando ps e top para listagem (devidas diferenças
sitadas entre Linux e Solaris).
- Manipulação: kill e nice.
- Trabalhos (jobs) no bash:
- Conceito de trabalho. Trabalhos em primeiro e segundo plano.
- Informações de trabalhos: jobs.
- Manipulação de trabalhos: fg, bg e o sinal STOP
(Ctrl-Z)
Aplicação
Aula realizada em 7 de novembro de 2000. Como o conteúdo é programado para
aulas de ao menos 100 minutos, a aula dada foi um pouco corrida. Entretanto, o
assunto todo do capítulo interessou aos alunos, por serem conceitos novos (ou
detalhamento das idéia já assimiladas) e comandos não tão triviais.
Aula/Capítulo 4
Essa aula é dedicada ao conceito de ambiente gráfico e às peculiaridades do
ambiente gráfico do UNIX.
- Conceito genérico de ambiente gráfico. Ambiente gráfico no UNIX:
- Opções disponíveis no X Window.
- Conceito de gerenciador de janela. Conceito de ambiente de trabalho.
- Gerenciadores de janela mais comuns: Fvwm, Afterstep,
Windowmaker e Enlightenment.
- Ambientes de trabalho (desktop), Gnome e KDE e
seus gerenciadores de janela integrados.
- Configuração dos gerenciadores e ambientes.
- Alteração do gerenciador e em uso.
Aplicação
Esse capítulo não será dado nessa aplicação do curso, pois
os usuários já estão acostumados com o ambiente gráfico, com os gerenciadores
de janelas e com a configuração dos mesmos, pois já utilizam a rede há 8 meses.
Aula/Capítulo 5
O capítulo todo é referente ao uso de correio eletrônico:
- Conceitos relacionados com o correio eletrônico na Internet.
- Explicação rápida e simplificada do funcionamento do SMTP.
- Funcionamento de correio na Rede Linux e Rede IME:
- O servidor Qmail.
- Diferenças entre mailboxes e maildir.
- Arquivos importantes na configuração da conta de correio.
- Programas para leitura de mensagens:
- Pine, Mutt, Emacs-VM.
- Netscape, Kmail.
- Leitura de fora da rede utilizando POP3.
- Etiqueta no uso de correio eletrônico (netiquette).
Aplicação
Aula dada no dia 16 de novembro de 2000. Essa aula foi dada sem a utilização de um computador, entretanto foi centralizada no assunto das configurações do Qmail e da etiqueta no uso de correio eletrônico. Como curso é projetado para os iniciantes mesmo, deve-se mostrar os programas
de leitura de correio eletrônico.
Aula/Capítulo 6
Aula para principais ferramentas e aplicativos:
- Navegação na teia:
- Alguns conceitos sobre WWW e HTTP.
- Visualização gráfica: Netscape e Konqueror.
- Visualiação em modo texto: lynx e w3m.
- Edição de textos:
- Nano, Joe.
- Emacs: introdução e referência para o capítulo do Emacs.
- Visualização de arquivos:
- Arquivos PostScript (.ps): gv.
- Arquivos Device Independent (.dvi): xdvi.
- Arquivos Portable Document Format (.pdf): acroread.
- Arquivos de imagem (.jpg, .gif, .png):
xv e xview.
- Impressão na rede:
- Regras do uso da impressora na Rede Linux.
- Conversão de arquivos texto para PostScript.
- Comando lpq, lpr e lprm.
- Comando printdvi na Rede IME.
Aplicação
Aula que também não será aplicada, pois os alunos desse curso já estão familiarizados com esses aplicativos. O objetivo dessa aula são os
alunos iniciantes, logo no início do primeiro ano.
Aula/Capítulo 7
Capítulo sobre o Emacs.
- Descrição do Emacs e de suas capacidades.
- Uso básico, e teclas de atalho.
- Integração do Emacs com os programas - os helpers:
- O pacote Auc-TeX.
- Os modos de programação, C, C++, Java e
Pascal.
- Leitura de correio eletrônico: VM.
- Ferramentas de busca, troca e verificação ortográfica.
- Configuração do Emacs:
- Um pouco de Emacs-Lisp.
- Os arquivos de configuração.
- Exemplos.
Aplicação
Aula realizada em 28 de novembro de 2000. Apesar do
tempo ser suficiente, houve problemas com a configuração do Emacs no
notebook do departamento. Além disso, essa aula deve ser bem preparada,
para que não fique monótona, pois são vários comandos e teclas a ser citados.
Aula/Capítulo 8
Capítulo sobre LaTeX:
- Diferenças entre processador e editor de textos. O que é WYSIWYG.
- Histórico do LaTeX e do TeX.
- Conceitos básicos do LaTeX:
- Estrutura do arquivo .tex.
- Classes de documentos, uso de pacotes:
- Diferenças entre classes.
- Pacotes importantes: babel, isolatin1, graphics,
etc.
- Formatação do texto: tipos e tamanhos de fontes.
- Divisão do texto: parte, capítulo, seção e parágrafo.
- Ambientes:
- Ambiente matemático.
- Tabelas.
- Listas.
- Operações automáticas: título, índice, etc.
- Principais arquivos gerados.
Aplicação
Aula realizada em 21 de novembro de 2000. Aula
rápida, é até possível sua realização em 80 minutos. Essencial a
disponibilidade de um ambiente gráfico para exemplificação. Entretanto, pode
ser dada sem o uso do computador, apenas explicando os conceitos e comandos.
Aula/Capítulo 9
Capítulo sobre redirecionamento de arquivos, pipes e padrões (do
bash e expressões regulares):
- Redirecionamento (>, >>, <). Comando cat.
- Pipes, filtros (sort e cut).
- Busca de padrões:
- Padrões do bash.
- Expressões regulares (grep).
- Exercícios.
Aplicação
Aula realizada no dia 9 de novembro de 2000. A aula de 80 minutos não
foi suficiente para todo o assunto (o capítulo está projetado para 100 minutos
ou mais).
Aula/Capítulo 10
Mais ferramentas úteis:
- Listas de correio eletrônico: ezmlm.
- Disponibilização da lista na teia: mhonarc.
- Filtragem de correio eletrônico: procmail.
- Leitura de grupos de notícias: Gnus, etc.
- Conceitos e dicas de programação em UNIX:
- Uso do make.
- Uso de um debugger: jdb, gdb e ddd.
Aplicação
Aula realizada no dia 30 de novembro de 2000. O
assunto de grupo de notícias não foi citado, nem o acesso remoto, pelo fato
dos alunos já estarem familiarizados com essas ferramentas.
Aula/Apêndice A
Programação em bash:
- Pragmática de programação no bash.
- Listas.
- Palavras chave do bash:
- Condicional if, elif, else e fi.
- Condicional case e o correspondente esac.
- Laços com for e while.
- Alinhamento com do e done.
- Comandos internos que auxiliam na programação.
- Variáveis no bash.