sábado, 13 de dezembro de 2008

Visual Basic II

Visual Basic - Tutorial IIEm primeiro lugar, devemos explicar o que é o Visual Basic. O Visual Basic consiste em uma linguagem de programação orientada a eventos. Isto significa que todas as ações que ocorrem durante a execução do programa são estruturadas nos eventos dos objetos. Por exemplo: se existir um Botão chamado Botão1, e o usuário clicar sobre ele, será acionado o evento Botão1.Click do Botão1. Caso seja dado um duplo clique, será acionado o evento Botão1.DblClick do Botão1.
Os comandos usados no Visual Basic são basicamente os mesmos usados no Basic, com a diferença de que foram ampliados para satisfazer os necessidades de uma aplicação voltada para Ambientes Gráficos. Aliás, o Visual Basic serve para gerar aplicações que serão executadas em ambientes gráficos como o Windows.
O Visual Basic é considerado por muitos como uma revolução no mundo da Informática, isto devido à sua versatilidade e relativa facilidade de aprendizado comparado a outras linguagens. Embora as aplicações de Visual Basic possam ser mais amigáveis para o usuário final, são mais trabalhosas para serem construídas do ponto de vista de sua interface gráfica.
Isto deve-se ao fato de que todas as opções possíveis no programa devem ser pensadas e codificadas pelo programador, o que não acontecia com linguagens anteriores. Em síntese quanto mais o detalhado e fácil de se usar o programa for, mais trabalhoso será o seu processo de codificação.
COMEÇANDO A EXPLORAR O VISUAL BASICA interface do Visual Basic é muito simples. Quando abrimos esta ferramenta de programação, veremos que surgem 5 janelas:
1. A barra de menus 2. A janela de propriedades 3. A caixa de ferramentas 4. A barra de ferramentas 5. A janela do form
1. A BARRA DE MENUS
A barra de menus apresenta as principais funções do Visual Basic, na forma de menus que são acessados através do mouse ou de uma tecla de atalho. Entre as funções disponíveis nos menus, encontram-se as ferramentas de depuração e configuração do Visual Basic, assim como as ferramentas de compilação.
2. A JANELA DE PROPRIEDADES
A janela de propriedades apresenta as configurações disponíveis para os objetos dispostos no form, que estão atualmente selecionados. Por exemplo, em uma caixa de texto, pode-se configurar a propriedade Font Size para 8,5, alterando deste modo o tamanho da fonte que será exibida no monitor.
3. A CAIXA DE FERRAMENTAS
A caixa de ferramentas apresenta todos os objetos e controles disponíveis no Visual Basic, acrescentados à este através de arquivos VBX. Esses arquivos são bibliotecas de ferramentas que acrescentam ao Visual Basic uma série de recursos extras, como uma Textbox ou Controles de Imagens.
4. A BARRA DE FERRAMENTAS
Consiste basicamente em um atalho na forma de botões, para as principais funções do menus, como salvar o Projeto ativo.
5. A JANELA DO FORM
Uma coisa é imprescindível para que um programa em Visual Basic funcione: a presença de um form. Um form nada mais é do que a janela onde o programa será exibido. O programador pode acrescentar códigos escritos para determinados eventos do form (como Load, por exemplo, que é executado cada vez que o form é carregado) e modificar as propriedades gerais do form (como por exemplo, o Height)..
COMEÇANDO A ESCREVER O CÓDIGOUm programa em Visual Basic consiste basicamente em código escrito e na configuração das propriedades dos objetos e dos eventos. Para modificar as propriedades de um objeto, clica-se nele e depois pressiona-se F4, o que resultará na exibição da Janela de Propriedades. Para adicionar um código escrito a determinado evento de um objeto, clica-se duas vezes neste. Será exibida uma janela apropriada para a inserção de instruções via teclado. O código será adicionado em uma SUB, que poderá ser acessada a qualquer momento pelo mesmo procedimento. É importante ressaltar que as variáveis usadas em um form, se não declaradas da forma correta, serão excluídas de eventos exteriores ao form ou objeto no qual ela está sendo usada. Em outras palavras, uma variável criada em um form deve ser declarada como Global para ser compartilhada entre outros forms e Subs do programa. Essas declarações são feitas na SUB General do form, ou em um módulo adicional que pode ser adicionado ao programa. Neste caso, o módulo seria um arquivo .BAS, onde são declaradas variáveis e constantes, por exemplo.
PROJETO, FORM E MÓDULOSUm programa em Visual Basic divide-se basicamente em três partes, que são: projeto, form e módulos. Um form, como já explicamos, é basicamente a janela onde ficam todos os objetos presentes no programa. O Visual Basic salva cada form separadamente, em arquivos com a extensão .FRM Um projeto é basicamente um controle de vários forms interligados, que juntos proporcionaram o funcionamento completo do programa. O Visual Basic salva o projeto em um arquivo com extensão .MAK. Esse esquema de tratamento de arquivos é uma das grandes vantagens do Visual Basic, uma vez que permite que forms de outros programas sejam adicionados a outros programas, assim como bibliotecas e funções. Os módulos são um conjunto de declarações de variáveis e constantes que abrangem todo o projeto. O Visual Basic ainda permite que sejam adicionados a um projetos novos arquivos de ferramentas (.VBX), aumentando a versatilidade e as funções de um programa. Um VBX é adicionado através do arquivo AUTOLOAD.MAK, que é carregado cada vez que o Visual Basic é iniciado. A utilização dos arquivos .VBX varia desde funções mais simples, como uma Textbox com efeitos 3D até a possibilidade de se trabalhar com gráficos mais elaborados.

VARIÁVEIS NO VISUAL BASICNo Visual Basic, existem sete tipos de variáveis:
· Integer: Abrange números inteiros entre -32.768 até 32.767 · Long: Abrange números entre -2.147.483.648 até 2.147.483.677 · String: Abrange desde 0 até 65.536 caracteres · Currency: Abrange números entre -922.337.203.685.477,5808 até 922.337.203.685.477,5807 · Single: Abrange números entre +/- 1,40 x 10-45 até +/- 3,40 x 1038. · Double: Abrange valores entre +/- 4,94 x 10-324 até +/- 1,79 x 10308. · Variant: Qualquer um dos anteriores.
Para declarar-se uma variável no Visual Basic, usa-se a instrução DIM, Global ou CONST, conforme for o caso.
INSTRUÇÕES E LINHAS DE CÓDIGOAs instruções, linhas de código, operações matemáticas, funções de laço e de lógica do Visual Basic são as mesmas do BASIC. Entre elas, estão presentes as tradicionais: if, then, else, goto, or, +, -, /, *, ^, for, next, do, while, loop, etc... Os comandos do Visual Basic são praticamente os mesmos do Basic, com a diferença de que a maior parte deles é voltada para a manipulação de objetos e seus respectivos eventos.
FERRAMENTAS COMUNSO Visual Basic já vem com várias ferramentas dispostas na sua Janela de Ferramentas. As mais usadas são:
Picture e Image: Ambas são utilizadas para colocar uma figura gráfica no form.
Label: Usada para adicionar um texto no form, o qual não poderá ser modificado pelo usuário final.
Textbox: Como o próprio nome diz, é uma caixa de texto. Consiste em um local onde é permitido ao usuário digitar qualquer coisa.
Frame: Usado para agrupar vários botões Option
Command: Um botão.
Option e Check: São botões que só possuem dois estados: ativados desativados.
Combo: Gera uma lista de opções combinada com uma caixa de texto.
Timer: Executa determinada ação em intervalos de tempo constantes.
Common Dialogs: Caixas padronizadas para manipulação de arquivos.
Além destes, existem ainda ferramentas para proporcionar controle de banco de dados, objetos importados de outros aplicativos, etc... As funções citadas acima são quase imprescindíveis para se escrever um programa simples.
EVENTOS COMUNSO Visual Basic apresenta alguns eventos de objetos que são usados freqüentemente, e se apresentam na maior parte dos objetos de um form. Abaixo segue uma relação dos principais e suas respectivas funcões:
· Click: É um evento que executa determinadas ações especificadas pelo programador quando alguém clica sobre alguma coisa. · Dblclick: Executa determinadas ações especificadas pelo programador quando alguém clica duas vezes sobre algum objeto. · Resize: executa algum comando pre estabelecido quando o usuário redimensiona o form. · Load: executa ordens sempre que o programa for carregado na memória. · Gotfocus: quando um objeto, um botão por exemplo, apenas ganha o foco, sem executar as suas funções em outros eventos. · Lostfocus: quando o foco passa para um outro objeto. · Keypress: quando é pressionada alguma tecla, geralmente em caixas de texto, são acionados determinados comandos. · Mousemove: sempre que se move o mouse, algo será ativado. Um exemplo prático, são os protetores de tela, que são desativados quando mexemos o mouse.
PROPRIEDADES GERAISAs principais propriedades dos objetos do Visual Basic, que estão presentes em praticamente todos os objetos do Visual Basic, são as seguintes:
· Caption - Nos botões, form, e frames, altera o seu título a ser exibido no form. · Enabled - Presente em todos os objetos, permite que os objetos sejam acessados, caso ela esteja definida como False. · Visible - Torna o objeto invisível caso esta propriedades esteja configurada como False. · Fontname - presente em objetos como textbox, label, botões command e botões check e option. Permite que seja alterada a fonte de um objeto, como uma Textbox, passa a ter fonte Arial, ao invés de fonte Times New Roman. · Fontsize: Muda o tamanho da fonte. · Name - altera o nome do objeto, para fins de referência durante a programação. · Forecolor, Backcolor - define a cor da fonte e do fundo de uma textbox e uma label, por exemplo. · Propriedades do form: Height (altura do form), Weight (largura do form), Maxbutton (ativa ou desativa a presença do botão Maximizar), Minbutton (ativa ou desativa presença do botão Minimizar), Left (altera a distância do form a partir da extrema esquerda do vídeo) e Top (altera a distância do form a partir do topo do vídeo).
Em geral, todas as propriedades dos objetos presentes no Visual Basic são bastante intuitivas, no que se refere ao seus nomes. Isto pode ser notado claramente nas propriedades Visible, Enabled, Name, entre outras.
OBJETOS OLE E LINKS COM OUTROS PROGRAMASUma das vantagens do Visual Basic é permitir o intercâmbio de informações entre os programas do Windows. Assim, é possível abrir um banco de dados do Access através de um programa escrito em Visual Basic. Além disto, com o uso de objetos OLE (Object Linking and Embedding), é possível inserir um arquivo .WAV dentro do seu programa.
MENUSO Visual Basic, tendo em vista o uso freqüente de menus em praticamente todos os aplicativos para Windows, criou uma ferramenta para facilitar a criação destes. Ela se chama Menu Design. Com esta opção, criam-se ferramentas poderosas e atraentes, de forma rápida e simples. Apenas com a inserção do nome do menu e do texto com o qual ele vai aparecer, é possível criar menus, que serão considerados SUBs e objetos no programa. Tendo em vista que a presença de menus facilita bastante o uso de funções freqüentes, é sempre bom colocá-los em seus programas.
Visual Basic 5.0
Entre outras opções, a segunda versão do Visual Basic para Windows 95 (a primeira foi a 4.0), destacam-se aquelas referentes à criação de arquivos DLL e VBX, que são bibliotecas de comandos e ferramentas voltadas para o Visual Basic, a ferramenta de criação de formulários referentes à banco de dados, a nova interface, que permite que se trabalhe em mais de um projeto ao mesmo tempo e muitas opções que permitem a reciclagem de código, diminuindo o trabalho do programador.
Quanto a criação de DLL e VBX, este trabalho foi muito facilitado, uma vez que nas versões anteriores, era necessário se trabalhar com linguagens como o Visual C++ e o Delphi. Agora, existe um módulo que compila o código fonte para DLL ou VBX.
Uma das grandes deficiências apontadas por programadores experientes era a dificuldade de se gerar um formulário no estilo Access para o Visual Basic. Era necessário muito trabalho de interligação entre a tabela Access e os objetos Visual Basic. Agora, existe um Wizard (assistente) que facilita e muito esta tarefa.
Na interface, houveram sensíveis mudanças, com o uso de vários projetos ao mesmo tempo, o que torna a interação entre os projetos muito mais rápida. Neste sentido, a janela de propriedades, velha conhecida de qualquer programador em Visual Basic, foi remodelada, apresentando as propriedades em ordem alfabética, como nas versões anteriores, ou na versão por categorias, deixando agrupadas propriedades de layout, de dados, etc, como no Microsoft Access, por exemplo.
Aproveitando o assunto de vários projetos ao mesmo tempo, uma das melhores vantagens do Visual Basic 5.0 foi a interligação entre os projetos: caso um form que esteja sendo usado por mais de um projeto seja alterado, o Visual Basic avisará ao usuário dessa alteração e de que possivelmente poderá haver erro em algum projeto, uma vez que as propriedades não se cruzarão corretamente.

ass:gato-bravo-e-brasileiro

World Wide Web

IntroduçãoEste é um tutorial sobre a World Wide Web (Web, WWW ou W3) e se você chegou até aqui, provavelmente já possui uma noção do que isto seja. Mas muitos ainda não sabem o que ela é, mas o apelo da mídia é tão forte que possivelmente milhões já ouviram falar, mas não sabem o que é (há os que acham que se trata de alguma conspiração criminosa!). Se você sabe que ela faz parte da Internet, então sabe mais do que a maioria.A Web não é uma rede de computadores. A Internet é a rede real, os fios que interconectam milhares de computadores em todo o globo. A Web é um sistema que roda na Internet. Primeiramente, há documentos da Web, arquivos armazenados em computadores por todos os lugares. Em seguida, há os servidores da Web, programas especiais que sabem onde estão estes arquivos e que podem enviá-los por meio da internet. E há os navegadores Web, programas que pedem aos servidores para que enviem os documentos. Quando você usa a Internet, está lendo documentos apresentados em um navegador.A World Wide Web é uma ferramenta da Internet. E a Internet é uma rede de redes. Uma rede de computador é um grupo de computadores interconectados de modo a poderem comunicar-se uns com os outros. Eles podem enviar mensagens uns para os outros e podem compartilhar informações em forma de arquivos. A Internet conecta dezenas de milhares dessas redes a outras mais sendo acrescentadas o tempo todo. Nessas redes existem milhões de computadores, terminais e usuários, cerca de 30 milhões de usuários.A Internet é uma rede de milhares de redes diferentes e é o maior grupo de computadores conectados do mundo. Algumas redes pertencem a organismos governamentais, as universidades, a empresas, aos sistemas de biblioteca da comunidade local,... A maioria está nos Estados Unidos, mas existem milhares espalhadas pelo mundo afora.
De quem é a Internet ?Quem possui a Internet ? Ninguém! a Internet não é assim, ninguém é dono dela. De quem é a rede telefônica de um país ou do mundo ? De ninguém. Cada componente tem um dono, mas a rede como um todo, não. As empresas telefônicas mundiais reúnem-se e decidem a melhor maneira como a rede deve funcionar. Elas decidem que país recebe o código de que país, o quanto cobrar por chamadas internacionais, quem paga pelos cabos transoceânicos e etc,...Tudo começou no início dos anos 70, com várias redes de computador governamentais, e desde então tem cescido à medida que as diferentes empresas percebem as vantagens de estarem conectadas. Você pode rastrear as origens até a ARPANET, um sistema de computador do Departamento de Defesa dos EUA, destinado a testar métodos para fazer com que as redes de computadores sobrevivessem a um ataque militar. Dispersando a rede por uma área ampla e usando uma teia de conecxões entre os computadores, um sistema poderia continuar funcionando mesmo quando partes dele fossem destruídas, utilizando o redirecionamento das comunicações através das partes da rede que ainda estivessem em pé. (Esse sistema funciona tão bem que causou muita frustração ao Departamento de Defesa Americano quando o Iraque o utilizou durante a Guerra do Golfo para manter seu sistema de computador de "comando e controle" em funcionamento.)
HTML: tijolo da teiaO material básico de construção da Web é o documento HTML. HTML significa HyperText Markup Language (Linguagem de marcação de hipertexto). Os documentos HTML são arquivos de computador contendo text ASCII - apenas o bom e velho texto. O texto contém códigos especiais; estes são criados usando-se caracteres de texto ASCII normais, mas, apesar disso, são códigos. Eles não são para você ler, e sim para os navegadores.
Navegadores (browsers)Um navegador, também chamado de browser, é um programa que ajuda a ler documentos HTML. Quando seu navegador abre um documento HTML, ele procura códigos. Eles dizem ao navegador o que fazer com cada parte do texto. Quando o navegador lê os códigos (isso ocorre muito rapidamente) ele exibe o texto na tela do computador. Ele interpreta os códigos e você não os vê, mas ele formata o texto de acordo com os comandos dos códigos.Se você quer ouvir um CD de música, precisa de um CD player. Se você quer ouvir um LP, precisa de um toca-discos. Se quer ver um vídeo, precisa de um videocassete e se quer ver um arquivo HTML, precisa de um navegador. Os navegadores simplesmente permitem que você veja os documentos da Web.
De onde vem os dados ?Todos os documentos da Web estão armazenados fisicamente nos computadores espalhados pelo mundo, que rodam um sistema de servidor da Web. Esse é um programa que recebe os pedidos de seu navegador e transmite os documentos da Web de volta para você. Quando você quer ver um documento da web, o navegador precisa transferi-lo de seu site onde ele se encontra - na Albânia, em Albany ou na Austrália - para seu coputador.Isto é feito através de diferentes protocolos de transferência, para diferentes formas de dados. A Internet possui todos eles para cada forma diferente de transferência. Há o SMTP, Simple Mail Transfer Protocol, usado para enviar correio eletrônico. Há o NNTP, Network News Transfer Protocol, usado para transmitir mensagens de grupos de notícias por todos os lugares. E há o HTTP, Hypertext Transfer Protocol.O HTTP é o sistema usado pela Web para transferir dados. Isso é realmente tuto o que você precisa saber, quando encontrar o termo de vez em quando, não há a necessidade de saber como ele funciona.
URLs: O endereço da WebTudo na Internet precisa de um tipo de endereço, caso contrário como você encontraria algo ? A Web não é diferente. Cada recurso da Web tem um endereço, um URL, Uniform Resource Locater. Eis um por exemplo:
http://www.secapl.com/secapl/quoteserver/djia.htmlO URL começa com http. Isso indica que o site é HTTP (HyperText Transfer Protocol) normal, e você irá para um documento HTML. Às vezes, o URL começa com algo diferente. Se ele começa com ftp://, por exemplo, isso significa que você está a caminho de um site FTP. Conforme veremos adiante, os navegadores da Web podem ter acesso a outros sistemas da Internet, e não apenas ao HTTP. Em seguida, vem o endereço do computador anfitrião (host), neste caso, www.secapl.com. A seguir, está o diretorio que contém a informação: /secapl/quoteserver/. Finalmente, você tem a informação em si: dija.html. Neste caso você pode identificar que se trata de um documento HTML e a estensão .html torna isso claro. (Se o documento está em um computador DOS ou foi criado originalmente em um, ele será .HTM)Os URLs são sensíveis à caixa. Isto é, você deve digitá-los com a caixa correta. Por exemplo, não digite HTTP://WWW.COM/, quando na verdade for http://www.com/.
A Web não é a única ferramenta da Internet!Porque as pessoas usam a Internet ? Este é um tutorial sobra a World Wide Web, o nosso objetivo principal é chegar lá. Entretanto, voc6e precisa conhecer muitas ferramentas importantes da Internet, pois a maioria delas pode ser acionada através da WWW.
E-mail: Correio EletrônicoA ferramenta mais usada na Internet é o correio eletrônico. Ele permite enviar mensagens e, em algus casos, arquivos de computador para o mundo todo. O correio eletrônico não será muito útil para você, caso nenhum de seus amigos, alguém da família ou colegas tenham acesso a ele (mas isso deixou de ser problema na a internet, com os famosos encontros de bate-papo online, os CHATS, que veremos ainda nesta seção) . Mas se você se cercar de pessoas que tenham, ficará maravilhado com o quanto ele é útil. Enviar aquele desenho que você fez ou a sua foto, do Rio de Janeiro, onde está, para o seu novo amigo da Malsasya, assinar divulgações sobre esportes, música, cinema, que enviam e-mails para você diariamente e etc,...
NewsGroups: Grupos de NotíciasExistem literalmente dezenas de milhares de grupos de notícias (newsgroups) na Internet. São grupos de discussão - pessoas enviam mensagens para o grupo e depois esperam que os outros lhes respondam. Você pode fazer parte desses grupos, enviando suas próprias mensagens e respostas, ou pode simplesmente bisbilhotar secretamente (ou ouvir) o que as outras pessoas estão dizendo.Você encontrará grupos de notícias sobre praticamente todos os assuntos.
FTPFTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos) e, se você me desculpar por dizer o óbvio, ele transfere arquivos. Que arquivos ? Existem literalmente milhões de arquivos de computador de domínio público disponíveis na Internet, que vão desde uma versão de texto ASCII sobre a reprodução do peixe Apaiari brasileiro no Amazonas, até um arquivo de audio do grito de Homer Simpson: "Cale a boca, rapaz!". Você encontrará documentos contendo uma variedade muito grande de assuntos. programas para qualquer computador que você possa mencionar, sons, figuras e o que mais você possa imaginar.Existem milhares de sites públicos de FTP, onde qualquer um pode conectar-se e descarregar arquivos. Isto é feito através de um programa de FTP que mostra os diretórios e arquivos do computador que você está acessando. Existem diversos programas de FTP disponíveis no mercado, e muitos deles podem ser obtidos gratuitamente na Internet.
Chat e IRCUma outra ferramenta largamente difundida hoje na Internet, é sem dúvida os chats, "salas" virtuais de conversas sobre vários assuntos, onde reúnem-se diversas pessoas, dependendo da capacidade de cada sala. Você escolhe um nick (apelido, ou o próprio nome) e escolhe em que sala gostaria de entrar, cada sala possui um assunto diferente: informática, religião, esportes,... mas sem dúvida os assuntos mais procurados são namoro, paquera e sexo. Você escreve a sua mensagem em uma caixa de texo e o envia para a sala, então sua mensagem é projetada para que todos possam vê-la, assim como você também observa as mensagens alheias. Você tem a opção de "falar" com todos os presentes na sala ou pode escolher um participante em particular e "conversar" em modo reservado, onde apenas vocês dois tem acesso as suas mensagens. Existem diversos sites que oferecem estes chats. Dois deles, são o Universo OnLine e o Zaz. Mas você pode procurá-los nas diversas ferramentas de busca da Internet.Outra ferramenta que permite bate-papos, são os programas de IRC, que possuem as mesmas carácterísticas dos chats, mas são programas independentes do navegador, você pode usá-los simultâneamente com o seu browser. Eles são mais completos do que um chat, possui a opção de FTP, que permite o envio de arquivos para outro integrante da "sala" e etc,... É muito usado hoje em dia!

ass:gato-bravo-e-brasileiro

sexta-feira, 12 de dezembro de 2008

3D Studio

3D Studio
Apostila de Comandos
Escrita pelo :garfil conhecido por gato-bravo e,brasileiro
1 - Introdução :
O objetivo deste curso é dar aos alunos uma visão geral dos recursos desta poderosa ferramenta de modelagem, rendering e animação, o Autodesk 3D Studio. Atualmente em sua versão 3.0, o 3D Studio é o preferido pelos usuários de micros tipo IBM PC devido à sua combinação de baixo preço e facilidade de uso. Além disso, o 3D Studio é compatível com diversos programas de computação gráfica existentes no mercado, como o AutoCAD e o Animator Pro. Esta apostila tem o objetivo de auxiliar o aluno durante o curso, servindo como um guia de referência dos comandos do programa. É importante resaltar que, como o curso tem caráter introdutório, alguns comandos considerados mais difíceis podem ser deixados para um curso mais avançado. O programa do curso será dividido em quatro partes : 2D Shaper, 3D Lofter, 3D Editor e Keyframer. O editor de materiais será visto superficialmente na parte relativa ao 3D Editor. Esperamos que, ao final do curso, os alunos saibam produzir cenas de complexidade média como, por exemplo, a apresentada na ilustração acima.
2 - 2D Shaper
Figura 1 - O 2D Shaper
Este módulo do programa compreende a modelagem 2D. Nele, você poderá criar formas bi-dimensionais que poderão ser utilizadas para construir objetos tri-dimensionais. Este módulo tem uma ligação muito forte com o 3D Lofter. Os desenhos que você cria neste módulo são chamados de shapes (daí o nome 2D Shaper), e são utilizados pelo Lofter para modelar objetos 3D. Abaixo segue a lista com os comandos dos 2D Shaper, e seus respectivos significados.
Create - Esta opção serve para criar os shapes, e possui diversas sub-opções :
· Line - Desenha uma linha reta na tela. Para colocar o ponto inicial da reta, posicione o cursor do mouse no lugar desejado e pressione o botão esquerdo, soltanto-o em seguida. Agora faça o mesmo para o ponto final e a reta estará formada. · Freehand - Este comando serve para você "rabiscar" a tela. Pressione o botão do mouse e risque à vontade. A sub-opção Settings ajusta a suavidade do desenho, enquanto a Draw aciona a "caneta" para o desenho. · Arc - Desenha um arco de círculo na tela. Primeiro entre o centro com o mouse, e depois "estique" o raio do arco. Clique de novo o botão e desenhe o arco desejado. · Quad - Desenha um quadrilátero na tela. Entre primeiro com um dos vértices e depois movimente o mouse para dar as dimensões dos lados do quadrilátero. · Circle - Este comando desenha um círculo. Entre primeiro com o centro e depois com o raio. · Ellipse - Desenha uma elipse. Entre com os focos da elipse. · N-gon - Desenha polígonos na tela. Antes de desenhar, você deve dizer quantos lados o polígono tem (sub-opção Sides). Agora você deve escolher uma das sub-opções a seguir : Flat - desenhará poligonos convexos; ou Circular - desenhará círculos com o número de pontos de controle definidos em Sides. · Text - Esta opção serve para você criar letras ou frases, que depois podem ser transformadas em objetos 3D. Primeiro escolha o tipo de letra em Font. Agora, digite seu texto selecionando a opção Enter e posicione-o na tela com a opção Place, que também estabelecerá as dimensões do texto.
Copy - Com esta opção, você copia polígonos do shape. Primeiro selecione o polígono e depois leve a cópia para o lugar desejado.
Open - Esta opção deleta uma aresta de um objeto do seu shape. Para apager uma aresta qualquer, clique o mouse em cima dela.
Close - Útil quando se quer fechar um polígono. Para utilizá-la, clique em cima de um polígono aberto qualquer.
Connect - Liga dois vértices. Primeiro clique no vértice número 1 e depois no vértice número 2.
PolyConnect - Liga dois polígonos abertos, criando um único polígono fechado. Para usar, selecione os dois polígonos a serem conectados.
Outline - Este comando cria um polígono mais externo (ou mais interno), igual ao polígono original. Para utilizá-lo, clique em cima do polígono desejado.
Boolean - Esta poderosa ferramenta faz uma operação booleana entre dois polígonos fechados. Primeiro selecione a operação desejada (Union, Intersection ou Difference). Depois, selecione os dois polígonos para a operação.
Select - Faz a seleção de objetos do shaper. Com este comando, os objetos selecionados ficam em vermelho. É útil quando se quer trabalhar (movimentar, copiar, etc...) com diversos objetos ao mesmo tempo. Esta opção possui diversas sub-opções :
· Vertex - Seleciona vértices de uma das seguintes maneiras : Single - seleciona apenas um vértice. Quad - seleciona todos os vértices que estiverem dentro do quadrado definido pelo mouse. Fence - seleciona todos os vértices que estiverem dentro do polígono definido pelo mouse. Circle - seleciona todos os vértices que estiverem dentro do círculo definido pelo mouse. · Poligon - Seleciona polígonos de uma das seguintes maneiras : Window - seleciona apenas os polígonos que estiverem inteiramente dentro da janela definida pelo mouse. Crossing - seleciona todos os polígonos que atravessarem a janela definida pelo mouse. · All - Seleciona todos os objetos do shaper. · None - Desmarca todos os objetos que estiverem selecionados. · Invert - Inverte as seleções : Tudo o que não estiver selecionado passa a ficar selecionado e o que estiver selecionado será desmarcado.
Modify - Este comando permite fazer modificações nos elementos do shaper. Possui sub-opções :
· Vertex - Aplica o conjunto de transformações, definidos em suas sub-opções, a um vértice da cena. · Segment - Aplica o conjunto de transformações, definidos em suas sub-opções, a um segmento de polígono da cena. · Polygon - Aplica o conjunto de transformações, definidos em suas sub-opções, a um polígono da cena. · Axis - Permite a modificação da posição e atributos do eixo de rotação.
Shapes - Esta opção seleciona os shapes que serão utilizados pelos outros módulos do 3D Studio. Possui sub-opções :
· Assign - Seleciona polígonos para o shape. · All - Seleciona todos os objetos da cena. · None - Não seleciona nenhum objeto para o shaper. · Check - Verifica se o shape selecionado é válido. 3 - 3D Lofter
Nesta área do 3D Studio você transforma um objeto de duas dimensões, feito no 2D Shaper, para 3 dimensões no 3D Editor.
Shapes - São os objetos bi-dimensionais que foram criados no 2D Shaper. Possui sub-opções :
· Get - Com esse comando voce lê um shape, que pode vir de três lugares : Shaper - O shape vem do 2D Shaper. Disk - O shape é lido de uma gravação já feita no 2D Shaper. Level - Você pode pegar um shape de um ponto qualquer do Path e copiá-lo para outro ponto. · Put - Com esse comando você pode exportar o shape que se encontra no 3D Lofter, para o 2D Shaper, para disco, ou para outro ponto do Path. · Pick - Dando pick em um ponto você passa a usar esse ponto. · Move - Move o shape em relação ao eixo ( ponto do path ). · Rotate - Rotaciona o shape no path. · Scale - Aumenta/Diminui o tamanho do shape no path. · Compare - Com esse comando você visualiza na mesma tela o shape final e o inicial, bem como os vértices iniciais de cada shape. · Center - Centraliza o shape no vértice do path. · Align - Justifica o objeto em relação ao ponto do path. Seja para a esquerda ou para a direita. · Delete - Apaga o shape do level. · Steps - Define o número de vértices que o SHAPE vai ter no 3D Editor. Isto vai depender do tipo de shape, se ele é cheio de curvas ou retas. O número de vértices que o objeto tri-dimensional vai ter no 3D Editor é calculado da seguinte forma : Vértices do Shape X Steps do Path X ( Steps do Shapes + 1 ).
Path - Caminho por onde o shape vai percorrer formando a terceira dimensão.
O Path é composto de Vertex e Step, sendo que o Vertex é mais independente que o Step pois ele pode ser movido, o objetivo do Step é apenas aumentar a qualidade do objeto colocando mais vértices no 3D Editor. Este comando possui as seguintes opções :
· Get - Pode-se usar um shape como Path, assim você pode pegar o path do 2D Shaper. Seja diretamente ou gravado do disco. · Put - Com este comando você exporta o Path para o 2D Shaper. · Move Vertex - Move um Vertex do Path. · Move Path - Move o Path inteiro com todos os Vertex. · Insert Vertex - Insere um Vertex no Path. · 2D Scale - Aumenta o Path em duas dimensões. · 3D Scale - Aumenta o Path em três dimensões. · Skew - Estica o Path em uma dimensão deixando a outra estática. · Mirror - Reflete o Path em todos os eixos. · Refine - Insere um Vertex em qualquer ponto do Path. · Surf. Rev. - Cria um path para que o Shape rotacione em torno de um eixo. · Helix - Cria um path em forma de hélice. · Rotate - Rotaciona o Path. · Default Angle - Restaura o Path para o ângulo inicial. · Open - Abre o Path quando ele é um path fechado. · Delete Vertex - Apaga um Vertex do Path. · Steps - Número de "camadas" que a terceira dimensão do objeto vai ter no 3D Editor. Se o Steps for 5, cada vértice do Shape terá 5 vertices no 3D Editor.
Deform
No Deform você poderá definir, através de um gráfico, deformações pelo qual o shape sofrerá através do Path. Os tipos de deformação são os seguintes :
· Scale - Altera a escala em X e Y do shape. · Twist - Rotaciona o Mesh em torno do eixo do Path. · Teeter - Rotaciona o Mesh em torno dos eixos X e Y. · Bevel - Altera a escala igualmente entre X e Y. · Fit - Cria o objeto em 3D através das vistas superior frontal e lateral do objeto.
Esses tipos de deformação apresentam sub-opções para alteração das tabelas de deformação :
· Move - Move o vértice da tabela. · Insert - Insere um vértice na tabela. · Refine - Insere um vértice entre os vértices já existentes. · Delete - Apaga um vértice. · Limits - Define a escala numérica da tabela. · Reset - Reseta as deformações escolhidas. · Swap - Troca a deformação entre X e Y. · Symmetry - Quando ligada faz com que X e Y tenham a mesma deformação.
No caso da deformaçäo Fit, deve-se criar no 2D Shaper as 3 visões e proceder da seguinte forma : A vista frontal deve ser passada normalmente para o 3D Lofter pelo comando Shape Get Shaper, posteriormente desative o Symmetry do_Fit e use Get na tela com a tabela para X passando o segundo shape para ela. Passando para a tela com a tabela de Y dê Get novamente para pegar o terceiro Shape. Os três shapes devem ter suas medidas rigorosamente iguais, e mesmo assim dependendo dos shapes, podem ocorrer os mais diversos resultados.
Object - Objetos tri-dimensionais para a construção da cena.
Make - Com esse comando você converte o projeto do objeto em 3D para o objeto final no 3D Editor. Quando você executa esse comando aparece uma janela com as seguintes opções :
· Object Name - Nome do objeto. · Cap Start/Cap End - Na construção do objeto em 3D, se as opções Cap Start/End estiverem ON, o objeto é fechado pelo lado inicial e o lado final, ou seja, duas tampas fecham o objeto. · Smoth Length/Smoth Width - Em objetos com curvas, as curvas estarão com Smoth nas respectivas dimensões. O Smoth é o sistema em que várias faces que formam um plano curvo são tratadas como uma única face curvada. · Mapping - Com esta opção o objeto é mapeado automaticamente para receber uma textura. · Path Detail - Você pode definir a qualidade do objeto em 3D baixando o detalhe em beneficio da velocidade. · Optimization - Com esse comando ligado, o shape sofre rotação de acordo com path. Desligado, o shape sempre fica "virado" para a direçäo inicial. · Tween - Com Tween o número de vértices é ampliado de acordo com a necessidade para que o objeto fique com sua qualidade máxima.
Preview - Mostra um preview de como o objeto irá ficar no 3D Editor.
4 - 3D Editor
Este é o coração do programa. Aqui você faz a modelagem da cena, utilizando objetos criados no 2D Shaper ou no 3D Lofter e/ou usando as primitivas gráficas oferecidas pelo 3D Editor. Você também seleciona os materiais que serão utilizados pelos objetos da cena.
Create - Com este comando, você insere na cena uma das seguintes primitivas gráficas abaixo :
· Box - Cria um paralelepípedo com as dimensões fornecidas pelo usuário. · LSphere - Cria uma esfera cujas faces são arranjadas de forma longitudinal. · Gsphere - Cria uma esfera cujas faces estão geodesicamente arranjadas. · Hemisf. - Cria um hemisfério. · Cilinder - Cria um cilindro. · Tube - Cria um tubo. · Torus - Cria um toro. · Cone - Cria um cone. · Vertex - Cria um vértice em um objeto. · Face - Este comando cria uma nova face em um objeto (o 3D Studio trabalha com faces triangulares), e possui as seguintes sub-opções : Build - Selecione três vértices que formarão a face triangular. Copy - Copia uma face qualquer para o lugar desejado. Extrude - Explode a face para o interior ou exterior do objeto. Tesselate - Subdivide a face selecionada em três novas faces.
Object
· Copy - Copia o objeto para a posição desejada. · Attach - Junta dois objetos, considerando-os como um só objeto. · Tesselate - Subdivide todas as faces do objeto. · Boolean - Aplica uma operação booleana em dois objetos. Para usar selecione dois objetos e depois escolha uma das seguintes operações : Union, Intersection, Difference.
Select
· Vertex - Seleciona vértices, com as seguintes sub-opções : Single - Seleciona um único vértice. Quad - Seleciona os vértices que estiverem dentro do quadrilátero definido pelo usuário. Fence - O mesmo que o anterior, porém para polígonos fechados. Circle - Seleciona os que estiverem dentro do círculo definido pelo usuário. · Face - Seleciona faces de objetos. Possui os mesmos comandos do item Vertex, e mais os seguintes : Window - Quando ativada, seleciona apenas as faces que estiverem com todos os seus três vértices dentro da região delimitada. Crossing - Quando ativada, seleciona todas as faces que tiverem algum vértice ou que cruzarem a região delimitada. · Object - Seleciona objetos da cena. Possui todos os comandos do item Face, e mais os seguintes : By name - Seleciona os objetos pelo nome (quando um objeto é criado, o programa pede um nome para ele. Se nenhum nome é dado, assume-se um default Object01, Object02 e etc). By color - Seleciona um objeto pela sua cor (pode-se atribuir cores aos objetos criados clicando-se numa barra colorida que está no canto inferior direito do 3D Editor). · All - Seleciona todos os elementos da cena (todos ficam vermelho). · None - Desfaz a seleção de todos os objetos anteriormente selecionados. · Invert - Troca os papéis. Todos os objetos que estiverem selecionados são considerados não selecionados e os objetos que não estiverem selecionados tornar-se-ão selecionados.
Modify - Este comando serve para modificarmos os elementos da cena construída, aplicando transformações, deletando ou modificando seus atributos. Possui as sub-opções :
· Vertex - Aplica das seguintes modificações ao(s) vértice(s) : Move - Move o vértice para o lugar desejado. Rotate - Gira o vértice em torno do eixo global (ou do eixo local). A tecla TAB muda o eixo de rotação. 2D Scale - Aplica uma escala em duas dimensões (as dimensões do viewport ativo). 3D Scale - Aplica uma escala em três dimensões. Skew - Aplica uma distorção ao longo de um plano paralelo ao eixo de rotação. Mirror - Faz uma cópia do vértice, algo semelhante a um espelho. Bend - Aplica a transformação Bending. Taper - Faz um Tapering no vértice. Delete - Deleta o vértice selecionado. · Face - Aplica transformações à(s) face(s) selecionada(s). Possui os mesmos comandos do item Vertex . · Object - Modifica o(s) objeto(s). Possui os mesmos comandos do item Vertex e mais os seguintes : Attributes - Modifica as características (nome, tipo de sombra e outros) do objeto. Change Color - Muda a cor de um objeto. Get Color - Mostra a cor do objeto selecionado. · Axis - Modifica o eixo de rotação estabelecido pelo programa. Possui as seguintes sub-opções : Place - Posiciona o eixo global na posição desejada (default = 0,0,0). Show - Quando ativada, mostra na tela o eixo global de rotação (um X). Hide - Torna o eixo invisível. Home - Coloca o eixo na posição default (0,0,0). Obs : Praticamente todos os comandos citados anteriormente funcionam para conjuntos de objetos selecionados. Primeiro você os seleciona e depois aplica a operação ao conjunto selecionado. Quando você selecionar objetos, eles ficarão da cor vermelha. Então atribua um grupo a eles (A,B ou C, esses botões se localizam no canto inferior direito do 3D Editor). Quando for aplicar uma modificação ao grupo, selecione o grupo e então aplique-a.
Surface - Este comando lhe permite escolher as propriedades das superfícies dos elementos da cena. Possui as seguintes sub-opções :
· Material - Possui as sub-opções : Choose - Seleciona um material a ser aplicada em um elemento da cena. Esse material é, geralmente, uma GIF, TGA ou JPG e se encontra na biblioteca de materiais ativa. Acquire - Mostra o material que está sendo usado pelo objeto selecionado. Show - Mostra todos os materiais que estão sendo utilizados na cena. Rename - Muda o nome de um material existente na cena. Get Library - Carrega uma nova biblioteca de materiais e torna-a a biblioteca ativa. Make Library - Faz uma nova biblioteca de materiais contendo todos os materiais em uso na cena. Assign - Aplica o material selecionado a um elemento da cena, de uma das seguintes maneiras : Face (aplica a uma face), Object (aplica a um objeto), By Name (aplica ao objeto cujo nome foi selecionado), By Color (aplica ao objeto cuja cor foi selecionada). · Normals - Esta opção altera a direção das normais de um elemento da cena, de uma das seguintes maneiras : Face Flip - Inverte a direção da normal na face selecionada. Object - Inverte a direção de todas as normais da superfície do objeto selecionado. Object Unify - Faz com que todas as normais do objeto selecionado apontem para a mesma direção. · Mapping - Escolhe o tipo de mapeamento que será aplicado ao elemento da cena. Planar - Faz uma projeção planar quando aplica o mapeamento aos objetos. Cylindrical - Faz uma projeção cilíndrica. Spherical - Faz uma projeção esférica. · Adjust - Ajusta o ícone de mapeamento (map icon) de uma das seguintes maneiras : Find - Centraliza o map icon no viewport ativo. Move - Move o map icon para a posição desejada. Rotate - Gira o map icon. Scale - Aplica uma escala ao map icon. Region Fit - Permite definir as dimensões e razão de aspecto do map icon planar. Bitmap Fit - Ajusta a razão de aspecto do map icon planar para encaixá-lo em um bitmap selecionado. View Align - Faz com que o map icon fique paralelo ao viewport ativo e com o seu topo voltado para cima. Face Align - Faz com que o map icon fique paralelo à face selecionada. Center - Coloca o map icon no centro tri-dimensional do bounding box que engloba o objeto selecionado. Tile - Indica o número de vezes que o mapeamento será repetido (horizontal e verticalmente) na área do map icon. Acquire - Adquire o map icon do objeto selecionado. Reset - Coloca o map icon na sua posição e dimensão original.
Lights - Seleção e/ou modificação das luzes ativas da cena. Possui as sub-opções :
· Ambient - Seleciona a intensidade de luz ambiente (semelhante à luz solar) na cena. · Omni - Fonte de luz cujos raios se espalham em todas as direções . Possui as seguintes sub-opções : Create - Cria uma fonte de luz Omni e a posiciona na cena. Move - Move a fonte Omni para a posição desejada. Place Hilite - Move a luz Omni para que o hightlight apareca no lugar escolhido (em um objeto). Adjust - Modifica os parâmetros da fonte Omni. Delete - Deleta a fonte Omni selecionada. · Spot - Fonte de luz direcional. Possui as mesmas opções do item Omni e mais os seguintes comandos : Hotspot - Ajusta o ângulo do hotspot (centro de intensidade luminosa) da fonte Spot. Falloff - Ajusta o ângulo de falloff (região de atenuação da luz) da fonte Spot.
Cameras - Seleção e/ou modificação das câmeras ativas da cena. Possui as sub-opções :
· Create - Cria uma nova câmera na cena. Primeiro posiciona-se a câmera e depois o seu "alvo". · Move - Movimenta a câmera selecionada pelo usuário. · Roll - Gira a câmera em torno do seu próprio eixo. · FOV - Ajusta o campo de visão da câmera selecionada. · Adjust - Modifica ajustes mais delicados da câmera (lentes, etc..). · Delete - Deleta a câmera selecionada.
Renderer - Esta opção permite a escolha da meneira de visualizar a sua cena. As disponíveis são :
· Render View - Renderiza a cena contida no viewport a ser selecionado pelo usuário. · Render Region - Renderiza uma região definida de um dos viewports. · Render BlowUp - Similar ao anterior, mas a região será rescalonada de modo a ocupar completamente a tela de renderização. · Render Object - Renderiza um único objeto, selecionado pelo usuário. · Setup - Permite a modificação de algumas opções de renderização. Possui as seguintes sub-opções : Background - Seleciona um bitmap ou cor fixa para ser utilizado como fundo da cena. Configure - Configura o formato de saída e/ou resolução da imagem. Options - Configuração de opções mais avançadas de renderização. Shadows - Seleciona o método de cálculo de sombras a ser utilizado na renderização. O Shadow Map é mais rápido, porém as sombras não são muito perfeitas. O método de Ray Tracing produz sombras mais acuradas, porém com um acréscimo cumputacional. View - Permite visualizar uma imagem ou animação gravada anteriormente. · Display - Permite modificar parâmetros de desenho da cena no 3D Editor. Possui as sub-opções : Hide - Seleciona os componentes da cena que ficarão invisíveis . Unhide - Torna visíveis os objetos selecionados. Geometry - Modifica a qualidade dos objetos da cena a ser mostrada no editor. É útil quando se quer um desenho rápido no editor . Speed - Modifica a velocidade de desenho dos objetos da cena no editor. Há uma redução do número de faces nos objetos em benefício da velocidade.
5 - Keyframer
Nesta área do 3D Studio você produz as animações.
Hierarchy - Com este comando você estabelece uma árvore de hierarquia. Nesta árvore, existem objetos que "dominam" outros objetos, e são chamados Parent objects. Os objetos que são dominados pelos Parent objects são chamados de Child objects, que fazem todos os movimentos e/ou deformações que forem aplicados aos seus objetos dominadores. Este comando possui as seguintes sub-opções : Link - Estabelece uma hierarquia. Primeiro seleciona-se o objeto Child e depois o objeto Parent. Unlink - Desfaz uma hierarquia. Show Tree - Mostra graficamente a árvore de hierarquia.
Track Info - Comando que aciona um menu com informações sobre o path da animação.
Key Info - Comando que aciona um menu com informações sobre o Key corrente. Um Key é um ponto do Path de animação aonde o objeto sofreu alguma modificaçäo.
Object
· Move - Move o objeto. · Rotate - Rotaciona o objeto ao redor do eixo da tela. · Rotate Abs. - Rotaciona o objeto ao redor do eixo do objeto. · Scale - Muda a escala do objeto. · Squash - Aumenta a escala de uma das coordenadas diminuindo a de outra proporcionalmente (o volume do sólido näo sofre alteração). · Morph - Transforma um objeto em outro que tenha o mesmo número de vértices. · Assign - Com esse comando você escolhe os objetos que serão "morpheados". · Options - Você pode acionar Smooth no morph e pode também acionar o morph entre o material dos dois objetos. · Show Path - Mostra o path em que o objeto se movimentará na animação. · Delete - Apaga um objeto. · Tracks - Pode-se escolher tipos de movimento já programados para objetos ou copiar paths de um objeto para outro : Loop - Repete o path revertido fazendo um loop. Copy - Copia um path de um objeto para outro. Reverse - Reverte o path. File Insert - Lê de um arquivo . 3DS o path de algum objeto.
Paths - Um path é o caminho que um componente da cena percorre durante a animação. Possui as sub-opções :
· Get - O path pode ser obtido das seguintes maneiras : Shaper - Um shape do 2D Shaper pode ser usado como path. Lofter - O path pode ser obtido copiando o path do 3D Lofter. Disk - O path pode ser lido do disco. · Show-Hide - Oculta ou mostra o path dos objetos. · Hide All - Oculta todos os paths. · Follow - Prende um objeto à outro. O path de um será sempre igual ao outro. · Move Key - Move uma Key do path. · Add Key - Adiciona uma Key ao path. · Delete Key - Deleta uma Key do path. · Adjust TCB - Ajuste de Tension/Continuity/Bias. Esses três ajustes modificam o comportamento do objeto no path, a suavidade com que o objeto faz as curvas.
Adjust
· Key Time - Ajusta o número de frames entre as Keys. · Ease to/Ease from - Ajusta os frames para que fiquem mais perto ou mais longe das Keys. (Efeito de aceleração).
Preview - Comando para criar um preview da animação. A animação é renderizada sem materiais, antialiasing, e com reduçäo do número de vértices.
Renderer - Este comando é similar ao do 3D Editor.
Display - Este comando é similar ao do 3D Editor.

ass:gato-bravo-e-brasileiro

CURSO DE UNIX XI

CURSO DE UNIX XI por gato-bravo-e-brasileiro * O Comando "rm"
Como no DOS existe o comando "del", no UNIX o equivalente e o "rm". Sua sintaxe e um tanto quanto simples: para remover o arquivo "misc.txt":
$ rm misc.txt
Para remover recursivamente use o parametro "r". Por exemplo, para remover os arquivos do diretorio "teste":
$ rm -r teste
Caso voce tente remover algum arquivo que seja seu, mas nao tenha setado o atributo de escrita "w", o programa ira lhe perguntar se tem certeza que deseja fazer aquilo. Para passar por cima disso, use o parametro "f" (force).
$ rm -f homework.tex
O parametro "f" tambem ignora arquivos nao existentes e nunca faz perguntas ao usuario.
Dica: para remover um diretorio e tudo que ha dentro dele, use em combinacao os parametros "f" e "r". Fica:
$ rm -fr teste
Isso ira eliminar todos os arquivos pertencentes a teste e tambem a propria entrada do diretorio. Portanto, tome *muito* cuidado ao usar este comando desta maneira.
Nota: sempre que for apagar algum arquivo, pense duas vezes: uma vez apagado, o arquivo muito dificilmente podera ser recuperado. Nao existem ferramentas como o "undelete" (DOS) para UNIX.
O parametro "i" e exatamente o inverso do "f": ele causa uma execucao interativa do programa. A cada arquivo que for processado sera pedida uma conformacao do usuario. * O comando "mv"
O comando "mv" serve para mover ou renomear (o que acaba dando na mesma) arquivos e diretorios. Com ele voce pode desde renomear um simples arquivo ate mover toda uma arvore de diretorios para outro lugar.
Para renomear o arquivo "teste.html" para "beta1.html":
$ mv teste.html beta1.html
Tome bastante cuidado ao tomar atitudes como esta: caso o arquivo beta1.html ja existir, ele sera destruido!
O parametro "i" causa a execucao do comando "mv" no modo interativo: para cada arquivo que sera destruido o programa pedira a confirmacao por parte do usuario.
Caso voce especifique mais que dois arquivos, automaticamente o programa percebera que voce quer mover um grupo de arquivos para outro diretorio. Neste caso o ultimo parametro deve ser um diretorio; caso contrario uma mensagem de erro sera emitida.
Para mover todos os arquivos que comecam com "a" para "/usr/a" e todos que comecam com "b" para "/usr/b":
$ mv a* /usr/a $ mv b* /usr/b
* O comando "cp"
O comando "cp" serve para fazermos copias de arquivos. Na sua forma reduzida, remos:
$ cp sent-mail-jan96 backup
O comando acima ira fazer uma copia do arquivo "sent-mail-jan96" para o arquivo "backup". Use tambem com cautela este comando: voce podera facilmente destruir arquivos importantes se o alvo da copia for um arquivo ja existente!
Para evitar problemas, use o parametro "i": ele executa o programa em modo interativo. Como no comando "mv", sera pedida uma confirmacao antes que o arquivo seja destruido.
Algumas versoes do programa "cp" possuem o parametro "r". Ele e usado para fazer copias de arvores completas. Por exemplo:
$ cp -p /usr/X11 /backup
O comando acima ira fazer uma copia recursiva do diretorio "/usr/X11" para "/backup".

ass:gato-bravo-e-brasileiro

CURSO DE UNIX X

CURSO DE UNIX X por gato-bravo-e-brasileiro
* O Comando "ls"
Como em qualquer outro sistema operacional, o UNIX tambem possui um comando para listar arquivos. Ele e o "ls". Na sua forma mais reduzida, ou seja, sem nenhum parametro, voce obtera como saida uma listagem em formato horizontal com os arquivos do diretorio corrente:
$ ls
Documentos.tar.gz backup.tar.gz bin/ planilha_fev96 planilha_jan96
Caso voce queira uma saida em formato longo, use o parametro "l".
$ ls -l
total 1 -rw-r--r-- 1 feher users 0 Apr 13 10:14 Documentos.tar.gz -rw-r--r-- 1 feher users 0 Apr 13 10:14 backup.tar.gz drwxr-xr-x 2 feher users 1024 Apr 13 10:14 bin/ -rw-r--r-- 1 feher users 0 Apr 13 10:13 planilha_fev96 -rw-r--r-- 1 feher users 0 Apr 13 10:13 planilha_jan96
Vamos interpretar a saida deste comando: (nao vale para todos os UNIXes)
O primeiro bloco faz referencia as permissoes do arquivo (sobre permissoes, consulte a aula 7), exeto o primeiro caractere. Ele significa:
+-----------+----------------------------------+ Caractere Significado +-----------+----------------------------------+ - arquivo normal d diretorio c dispositivo de caracteres b dispositivo de blocos l symbolic link s socket (apenas em alguns UNIXes) p FIFO (apenas em alguns UNIXes) +-----------+----------------------------------+
O segundo bloco indica quantos hard links (veremos mais tarde) ele possue ou em caso de diretorios, quantos arquivos la existem.
O terceiro bloco indica o nome do dono do arquivo. Caso voce obtenha um numero, significa que o sistema nao pode associar o UID ao nome do seu dono (provavelmente foi deletado sua entrada no arquivo "passwd").
O quarto bloco indica a que grupo o arquivo pertence. Vale o comentario do paragrafo acima: caso voce obtenha um numero, o sistema nao pode assiciar o GID ao seu nome (so que neste caso provavelmente nao foi encontrado a sua entrada no arquivo "groups").
O quinto bloco indica o tamanho do arquivo.
O sexto, setimo e oitavo indicam a data e hora da sua ultima modificacao.
Finalmente, o nono bloco e o nome do arquivo.
No UNIX os arquivos que comecam com um ponto (".") ficam ocultos na listagem. Para mostra-los, use o parametro "a". Veja como fica a saida do comando "ls -la":
total 1 -rw-r--r-- 1 feher users 0 Apr 13 10:14 Documentos.tar.gz -rw-r--r-- 1 feher users 0 Apr 13 10:14 backup.tar.gz drwxr-xr-x 2 feher users 1024 Apr 13 10:14 bin/ -rw-r--r-- 1 feher users 0 Apr 13 10:13 planilha_fev96 -rw-r--r-- 1 feher users 0 Apr 13 10:13 planilha_jan96 -rw-r--r-- 1 feher users 0 Apr 13 10:13 .signature
Para mostrar um diretorio em vez de seu conteudo, use o parametro "d".
Para obter o inode de cada arquivo, adicione o parametro "i".
Usando-se o parametro "F", no final do arquivo sera adicionado um simbolo indicando qual e o seu tipo, para facilitar na sua identificacao. Veja a tabela abaixo:
+---------+----------------+ Simbolo Significado +---------+----------------+ (nada) arquivo normal * executavel / diretorio = socket @ simbolic link +---------+----------------+
Lembre-se sempre que voce pode especificar nomes de arquivos (usando wildcards ou nao) e diretorios ao comando ls. Nao importanto onde voce esteja, para listar os arquivos do diretorio "/usr" basta voce usar "ls /usr".
Vale lembrar que voce na maioria dos casos voce pode usar varios parametros simultaneamente.
Nota: o comando "ls" e realmente muito completo, com dezenas de parametros. Caso voce queira algo mais especifico, procure consultar sua manpage.
* O Comando "cd"
Como voce ja deve ter percebido lendo as aulas anteriores, o comando "cd" muda de diretorio. Sua sintaxe e muito simples, bastando apenas voce especificar como parametro o diretorio de destino.
Por exemplo, para mudar o diretorio corrente para "/usr/local/bin" usa-se "cd /usr/local/bin".

ass:gato-bravo-e-brasileiro

CURSO DE UNIX IX

CURSO DE UNIX IX gato-bravo-e-brasileiro
* Um Pouco Mais Sobre Processos em Background
No Bourne Shell, caso voce queira colocar uma serie de comandos em background, separados por ";", voce devera usar os parenteses. Por exemplo:
$ sleep 15; ls &
O "&" ira apenas afetar o ls, ou seja, o resultado obtido sera uma espera de 15 segundos em foreground e entao a execucao do comando ls em background.
Neste caso, voce devera usar:
$ (sleep 15; ls) &
Com o comando acima voce obtera o resultado desejado.
Outra coisa que acontece no Bourne Shell e que quando voce da um logout todos os seus programas que foram colocados em background sao terminados. Para evitar isso, use o comando "nohup". Por exemplo, para fazer uma compilacao em background, independentemente se voce der um logout:
$ nohup cc program.c & [1] 3409 $ logout
* Passwords no UNIX
O UNIX sendo um sistema operacioal multiusuario acaba implicando na necessidade do usuario ter permissoes restritas. Isso normalmente e feito atraves de passwords.
Seja muito cauteloso quando for escolher um password: uma escolha errada pode se tornar numa grande dor de cabeca.
No UNIX os passwords estao guardados (de modo criptografado) no arquivo "/etc/passwd". Quando voce tenta logar no sistema, o programa "login" nao faz a descriptografia da sua senha e compara com o que voce entrou, mas sim criptografa o que voce entrou e compara com o que esta no "passwd". Se bater, ela esta correta.
Como voce pode perceber, uma senha criptografada *NAO* pode ser simplesmente descriptografada por um algoritimo reverso: ele nao existe.
* O Algoritimo crypt
O algoritimo "crypt", baseado no DES, e usado pelo UNIX para fazer a criptografia dos passwords. Ele usa uma chave de 56bit (oito caracteres low-ascii) para encriptar blocos de texto de 64bit. Hoje em dia nao ha nenhum metodo conhecido que consiga quebrar o algoritimo em pouco tempo, pelo fato dele ser "one way".
A criptografia dos passwords e feita da seguinte maneira: pega-se o password do usuario como chave de criptografia e criptografa-se um bloco de 64bit de zeros. Entao o processo e repetido, num total de 25 vezes. No final, adiciona-se o sal(*), e entao 64bit criptografados sao transformados em uma string de 11 caracteres, que sao guardados em "/etc/passwd".
Para se ter uma ideia, na epoca que este processo foi idealizado o processador PDP-11 demorava algo em torno de um segundo para completar o processo.
Mas nao para por ai. Para eliminar a possibilidade de se usar algum tipo hardware especializado em quebrar senhas, Robert Morris e Ken Thompson (os idealizadores) adicionaram o chamado "sal".
O sal e um numero de 12bit, ou seja, entre 0 e 4095, que muda o resultado do que o DES retorna. Sendo assim, cada password pode ser criptografado de 4096 maneiras diferentes! Quando voce muda seu password, o programa "passwd" escolhe qual sal usar baseado no relogio do computador.
Vejamos abaixo uma tabela de passwords, sais, etc.
password
sal
pass. criptografado
nutmeg
Mi
MiqkFWCm1fNJI
ellen1
re
re79KNd7V6.Sk
Sharon
./
./2aN7ysff3qM
norahs
am
amfIADT2iqjAf
norahs
7a
7azfT5tIdyhOI
Note como o password "norahs" foi criptografado de duas maneiras diferentes por terem sais diferentes.

ass:gato-bravo-e-brasileiro

CURSO DE UNIX VIII

CURSO DE UNIX VIII por gato-bravo-e-brasileiro
* Os Atributos SUID e SGID
Os atributos SUID e SGID tem uma funcao muito especial no UNIX: uma vez executados o seu UID e/ou GID e alterado. No caso do atributo SUID estar presente, voce passa a ter a identidade do dono do arquivo; no caso do SGID voce passa a ser do mesmo grupo a qual o arquivo pertence.
Vale lembrar que a identidade e apenas mantida naquele programa, apenas durante a sua execucao.
Mas qual seria a ultilidade de um programa com esses atributos?
Por exemplo, voce quer que um usuario possa fazer a impressao de um documento. Para isso, ele precisara ter permissao de acesso ao device da impressora. Porem nao voce que quer que esse usuario possa fazer qualquer coisa com aquele device, voce quer apenas que ele use-o pra impressao.
Qual a saida? Setar atributos SUID ou SGID ao programa que fara a impressao. Assim voce limitara o seu acesso.
Seja muito cauteloso quando for criar um programa SUID ou SGID: 90% dos casos de buracos na seguranca sao causados esses programas. Um exemplo classico foi um worm (se nao me engano foi em 1989) que praticamente derrubou toda a Internet: ele usava um bug de um programa com SUID (o sendmail).
Outro exemplo recente e o webserver httpd, da NCSA. Rodando com SUID root, um bug nele comprometeu a seguranca de milhares de computadores.
* O Superuser (no caso do UNIX, o root)
Em um sistema multiusuario seria impossivel fazer a administracao sem algum "super" usuario. No UNIX ele e o root (UID 0).
Rapidamente: o root pode fazer praticamente qualquer coisa: ler arquivos (mesmo sem ter permissao), mudar permissoes, matar e mudar a prioridade qualquer processo, etc.
* Como Funcionam as Permissoes para Diretorios
Os diretorios no UNIX usam as mesmas permissoes que os arquivos, porem elas sao interpretadas diferentemente.
Para voce poder listar os arquivos de um diretorio, voce precisa ter o atributo "r" setado. Caso nao tenha, voce ainda pode acessar arquivos do mesmo, porem com uma restricao: voce tera que saber previamente o nome do arquivo que voce quer acessar.
Diretorios como "rwx--x--x" sao muitas vezes chamados de "black boxes".
O atributo de execucao (search bit) e o mais importante: caso voce nao tenha ele setado, nada podera ser feito, o diretorio esta "fechado".
O atributo de escrita determina se voce tera permissao de criacao e modificacao de um arquivo. *NUNCA*, repito, *NUNCA* sete isso para o seu homedir. Algum ususario mal intencionado pode preparar uma "surpresinha" para voce.
Como sempre, o root e uma excecao: ele passa por cima de todos os atributos. Em outras palavras, ele pode escrever, ler, etc em qualquer diretorio (claro que em casos como volumes montados como "ro", a escrita nao e permitida; isso vale para os demais casos).
* Programas em Background: Como funciona
O UNIX sendo um sistema multitarefa, permite que voce rode varios programas simultaneamente. Fazendo uma compilacao em background:
% cc program.c & [1] 1297 %
Como voce pode perceber, o simbolo "&" significa: "execute em background". O numero entre colchetes e chamado de "job number" e o numero que o segue e o PID (process ID).
* Mais Sobre Programas em Background
No C Shell, Korn Shell, Bash, etc voce tem a facilidade do chamado "job control". Com isso voce podera manipular os processos com muito mais facilidade. Veja como funciona:
* Para colocar um programa rodando em background (se voce esqueceu o "&", por exemplo:
% cc program.c Stopped % bg [1] cc program.c
Como voce pode perceber, depois que o Control-Z foi pressionado no teclado, o programa foi suspenso e voce retornou para o shell. Neste ponto o programa esta totalmente parado. Depois foi dado o comando "bg". Isso faz que o ultimo programa em estado "stopped" seja colocado em background.
Para jogar o ultimo programa parado de background para foreground, use o comando "fg". Caso tenha varios processos rodando em background, voce pode ter uma lista deles usando o comando "jobs".
Para colocar em background o job numero "3":
% bg %3
Para colocar em foreground o job numero "2":
% fg %2

ass:gato-bravo-e-brasileiro