MC102 Algoritmos e Programação de Computadores



Documentos relacionados
Universidade Federal de Goiás. Alexandre Ferreira de Melo CERCOMP / UFG

16:21:50. Introdução à Informática com Software Livre

Aula 01. Introdução ao Linux

História. Sistema Operacional

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Curso de Linux Básico com o Linux Educacional

Aula 02. Introdução ao Linux

Roteiro 3: Sistemas Linux arquivos e diretórios

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Sistema Operacional Linux - História

Estudo de Caso II: LINUX

Introdução ao Linux: Parte I

Sistema Operacional LINUX

06/06/2013. O que é Software de Sistema? Sistema Operacional (SO) Tipos de Software de Sistema. Fatia de Mercado :: SO Desktop

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Salvando arquivos em PDF nos Sistemas Mainframes, utilizando emuladores de terminal

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos

Introdução a Sistemas Abertos

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Sistema Operacional Unidade 1 Introdução aos Sistemas Operacionais GNU/Linux. QI ESCOLAS E FACULDADES Curso Técnico em Informática

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Laboratório de Redes de Computadores e Sistemas Operacionais

OneDrive: saiba como usar a nuvem da Microsoft

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

AULA 1. Bruno L. Albrecht Felipe A. Chies Lucas F. Zawacki. PET Computação UFRGS

Labgrad. Usúario: <matricula> Senha: senha

Administração de Sistemas Livres. Aula 4 - Ambientes Gráficos Profª. Lais Farias Alves

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux


1 Instalando o VirtualBox no Windows

4. Conceitos Básicos de Computação: Sistemas Operacionais

SISTEMAS OPERACIONAIS

Curso Introdução ao Linux. Desmistificando o Software Livre. Nícholas André nicholas@iotecnologia.com.

Comandos Básicos do Linux/Unix

Manual de instalação e utilização do software de decriptografia GnuPG (Gnu Pricavy Guard)

Introdução à Programação de Computadores

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Introdução ao Sistema Operacional GNU/Linux

Informática I. Aula Aula 19-20/11/06 1

PLANO DE AULA. Ambiente Operacional Unix Profa. Morganna

Instalando o Debian em modo texto

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL LINUX. Introdução: FERRAMENTAS. Abaixo segue relação de aplicativos utilizados para realizar este roteiro:

MC102 - Laboratório. Algoritmos e Programação de Computadores Luis Mendes Rodrigo Lazo. Prof. Dr. Luiz E. Buzato

Software que fornece uma interface entre o computador e o usuário. É uma coleção de programas que:

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais Aula 01

Manual TIM PROTECT BACKUP. Manual do Usuário. Versão Copyright TIM PROTECT BACKUP

Sistemas Operacionais

Linux, Windows, Antivírus, Teclado e .

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

Estudar e trabalhar com o Ubuntu Linux 12.04

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

O que é o GNU/LINUX? O que e o Kernel?

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Administração de Sistemas Operacionais de Rede Linux. Prof. Michel Moron Munhoz

Google Drive. Passos. Configurando o Google Drive

Prof. Jefferson Costa

Principais Sistemas Operacionais. Prof. Fernando Nakayama de Queiroz

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Aula 01 - Fundamentos de GNU/Linux

Informática. Professor: Diego Oliveira. Conteúdo 03: Sistemas Operacionais

SISTEMA OPERACIONAL & SOFTWARE LIVRE

Soluções em Linux. Linux no Desktop. Ambiente Doméstico e Profissional. Sandro Venezuela sandro@linux2business.com.br

Área de Trabalho. Encontramos: Ìcones Botão Iniciar Barra de Tarefas

Introdução ao Sistema. Características

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Todos os direitos reservados.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

Gerenciador de Referências. EndNote. Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC)

Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação.

Informática Básica: aplicativos de escritório Aula 2 Instrutores: Arisneuza Gonçalves Isail Araújo Danilo Azevedo

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Linux para iniciantes: Desbravando o pingüim! Parte 2

AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II)

AUXÍLIO COMPUTACIONAL

APOSTILA LINUX EDUCACIONAL

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Aula Au 3 la 3 Windows-Internet

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

Aula 2 Introdução ao Software Livre

Introdução ao Tableau Server 7.0

Como Instalar Programas no GNU/Linux. Elexsandro Rangel dos Santos

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Lógica de Programação

V 1.0 LINAEDUCA - GUIA DE USO

Polycom RealPresence Content Sharing Suite Guia rápido do usuário

2. O AMBIENTE DE PROGRAMAÇÃO EM C

Lição 4 - Primeiros passos no Linux Ubuntu 11.04

Guia Sphinx: instalação, reposição e renovação

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

Transcrição:

MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Carla Negri Lintzmayer Revisão: Zanoni Dias

Roteiro 1 Conceitos básicos 2 História do Linux 3 Quem usa Linux? 4 Distribuições 5 Gerenciadores de janelas 6 Diretórios 7 Instalação 8 Controle de acesso 9 Programas 10 Compilador Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 2 / 116

Conceitos básicos Sistema Operacional é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. Exemplos: Windows, Linux, Mac OS X, MS-DOS, Solaris, etc. Linguagem de Programação é uma linguagem designada para comunicar instruções para um computador; um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Exemplos: C, Java, PHP, C++, C#, Visual Basic, Python, etc. Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 4 / 116

História do Linux 1965 MIT, AT&T Bell Labs e General Eletric desenvolvem o Multics (Multiplexed Information and Computing Service) 1969 Bell Labs abandona o projeto Multics Ken Thompson e Dennis Ritchie (Bell Labs) começam a desenvolver um novo sistema operacional: UNICS (Uniplexed Information and Computing Service) Unix 1971 Lançada a primeira versão do Unix 1972 Thompson e Ritchie reescreveram a linguagem B e a chamam de C Unix é reescrito em C, tornando o software mais portável Unix torna-se disponível para universidades, empresas e governos Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 6 / 116

História do Linux 1977 Lançada a Berkeley Software Distribution (BSD) 1982 AT&T comercializa o Unix System V 1983 GNU project é anunciado por Richard Stallman (GNU is Not Unix) 1985 O manifesto GNU é publicado (www.gnu.org/gnu/manifesto.pt-br.html) 1987 MINIX é introduzido por Andrew Stuart Tanenbaum 1989 GNU General Public License (GPL) (pt.wikipedia.org/wiki/gnu_general_public_license) 1991 Linux é introduzido por Linus Torvalds Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 7 / 116

História do Linux From: torvalds@klaava.helsinki.fi (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix - I m doing a (free) operating system (just a hobby, won t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I ll get something practical within a few months, and I d like to know what features most people would want. Any suggestions are welcome, but I won t promise I ll implement them :-) Linus (torvalds@kruuna.helsinki.fi) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 8 / 116

Figura : Ken Thompson e Dennis Ritchie Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 9 / 116

Figura : Richard Stallman Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 10 / 116

Figura : Linus Torvalds Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 11 / 116

Linux em números Versão número de linhas de código: 1991 Versão 0.01: 10.239 linhas 1994 Versão 1.0.0: 176.250 linhas 1995 Versão 1.2.0: 310.950 linhas 1999 Versão 2.2.0: 1.800.847 linhas 2013 Versão 3.10: 15.803.499 linhas Número de usuários: 1991 1 usuário 2014 Mais de 70 milhões de usuários (LinuxCounter.net) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 12 / 116

Quem usa Linux? 482 dos 500 computadores mais rápidos do mundo (top500.org, novembro de 2013) Android, Peugeot, Amazon, Novell, Google, IBM, Wikipedia, DreamWorks Animation, Union Bank da Califórnia, Banco do Brasil, Bolsa de Valores de Londres, Bolsa de Valores de Nova York, NASA, CERN, Internet Archive, Casa Branca, Departamento de Defesa dos EUA, vários setores de governos de vários países (por exemplo, Brasil, Alemanha, Espanha, França, China, Rússia, África do Sul, Turquia, Venezuela, Cuba, Suíça, Índia e Paquistão), etc. Qualquer bom profissional de computação Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 14 / 116

Distribuições Kernel Linux + conjunto variável de softwares DistroWatch.com: 700+ versões de Linux, sendo 200+ ativas Normalmente são gratuitas (download via Internet e soluções de problemas em listas de discussão), mas existem as comerciais (paga-se pelo sistema e tem-se suporte técnico) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 16 / 116

Distribuições Figura : GNU/Linux Distribution Timeline (futurist.se/gldt) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 17 / 116

Debian Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 18 / 116

Debian Lançada em agosto de 1993 por Ian Murdock Segunda distribuição mais antiga ainda ativa Terceira distribuição mais popular (DistroWatch.com, 2014) Base para mais de 100 outras distribuições Completamente não-comercial Mantida pela comunidade (The Debian Project) Três fases de desenvolvimento: instável, em teste e estável (1 a 3 anos) É uma das distribuições mais estáveis e seguras Suporta mais arquiteturas de processadores do que qualquer outra distribuição Distribuição conservadora: novas arquiteturas não são incluídas imediatamente Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 19 / 116

Ubuntu Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 20 / 116

Ubuntu Lançada em outubro de 2004 por Mark Shuttleworth ( Linux for human beings ) Baseada no Debian (Shuttleworth trabalhava no projeto do Debian) Patrocinada pela empresa Canonical Segunda distribuição mais popular (DistroWatch.com, 2014) Novas versões a cada 6 meses (abril/outubro): atualizações de segurança por 18 meses Versões LTS (Long Term Support): atualizações de segurança por 3 a 5 anos extras Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 21 / 116

Mint Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 22 / 116

Mint Lançada em setembro de 2006 por Clement Lefebvre Baseado no Debian e no Ubuntu Mantido pela comunidade Distribuição mais popular (DistroWatch.com, 2014) Improved Ubuntu ou Ubuntu done right Inclui drivers e codecs proprietários por padrão e outros recursos extras Sem calendário definido para novas versões (após o lançamento de novas versões do Ubuntu) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 23 / 116

Mageia Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 24 / 116

Fedora Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 25 / 116

Fedora Lançada em novembro de 2003 pela empresa Red Hat Distribuição de propósito geral, feita exclusivamente de software de código livre Mantida pela comunidade (Projeto Fedora) Quinta distribuição mais popular (DistroWatch.com, 2014) Novas versões normalmente a cada seis meses Distribuição utilizada por Linus Torvalds É a distribuição padrão nos laboratórios do Instituto de Computação Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 26 / 116

opensuse Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 27 / 116

PCLinuxOS Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 28 / 116

Arch Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 29 / 116

elementary Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 30 / 116

FreeBSD Não é Linux Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 31 / 116

Puppy Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 32 / 116

CentOS Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 33 / 116

Slackware Distribuição mais antiga ainda ativa (lançada em julho de 1993) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 34 / 116

Red Hat Exemplo de distribuição comercial Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 35 / 116

Kurumin Distribuição desenvolvida para difundir o Linux no Brasil Criada por Carlos Eduardo Morimoto (Guia do Hardware) Inativa desde 2008 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 36 / 116

Sistemas operacionais disponíveis Laboratórios do Instituto de Computação: Fedora CentOS (sem acesso à Internet) Windows Máquina virtual: Linux Mint Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 37 / 116

Gerenciadores de janelas Oferecem interfaces gráficas para algumas funcionalidades do sistema operacional: Janelas, ícones, barras de tarefas, papéis de parede, etc. Cada distribuição Linux usa, por padrão, um determinado gerenciador de janela, mas é possível instalar e escolher outros gerenciadores Provavelmente o gerenciador de janelas mais conhecido é o do Windows Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 39 / 116

Windows Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 40 / 116

Windows Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 41 / 116

KDE Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 42 / 116

KDE Lançado em julho de 1998 Gerenciador de janelas (Plasma) + conjunto de aplicativos 100% personalizável Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 43 / 116

KDE Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 44 / 116

KDE Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 45 / 116

KDE + Kubuntu Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 46 / 116

KDE + Debian Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 47 / 116

KDE + Fedora Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 48 / 116

KDE + Mint Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 49 / 116

GNOME Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 50 / 116

GNOME Lançado em março de 1999 Gerenciador de janelas + conjunto de aplicativos Cresceu muito junto com o Ubuntu, Debian e outras distribuição até o lançamento da versão 3 (abril de 2011) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 51 / 116

GNOME Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 52 / 116

GNOME 3 Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 53 / 116

Controvérsia sobre o GNOME 3 GNOME 3 tenta prover uma interface única para desktops e dispositivos como smartphones e tablets, o que significa prover apenas funcionalidades compatíveis com todos eles (abandonando, por exemplo, clique com o botão direito e salvar arquivos no desktop) Novos gerenciadores surgiram como alternativas ao GNOME 3: Unity em 2010 (criado pelo Ubuntu) Mate em 2011 (ramificação do GNOME 2) Cinnamon em 2011 (criado pelo Mint) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 54 / 116

Unity Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 55 / 116

Mate Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 56 / 116

Cinnamon Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 57 / 116

Xfce Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 58 / 116

LXDE Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 59 / 116

Openbox Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 60 / 116

Gerenciadores de janelas disponíveis Laboratórios do Instituto de Computação: Blackbox Cinammon Fluxbox GNOME (padrão) KDE LXDE Mate Openbox Xfce Para escolher o gerenciador, selecione Session Type na tela de login Máquina virtual: Mate Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 61 / 116

Diretórios Diretório é o local usado para armazenar conjuntos de arquivos, para melhor organização e localização Filesystem Hierarchy Standard (padrão para sistema de arquivos hierárquico), ou FHS: Define os principais diretórios, e o seu conteúdo, em um sistema operacional Linux ou do tipo Unix Especificado por / (Linux) ao invés de \ (Windows) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 63 / 116

Diretórios Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 64 / 116

Diretórios Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 65 / 116

Diretórios Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 66 / 116

Diretórios Seus arquivos: /home/usuario/ Seu desktop: /home/usuario/area\de\trabalho ou /home/usuario/desktop Seus downloads: /home/usuario/downloads Seu pendrive: /media/nome do pendrive No IC: /home/.../raxxxxxx/ Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 67 / 116

Instalação Apenas Linux: Grupo Pró Software Livre (GPSL) Linux e Windows: Multi (Dual) Boot Linux no Windows: Máquina virtual: http://www.ic.unicamp.br/~zanoni/mc102/2014-1s/ VirtualMachine/ Windows no Linux: Máquina virtual Wine Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 69 / 116

Instalação Ubuntu Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 70 / 116

Dual boot Grub Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 71 / 116

Ma quina virtual Instituto de Computac a o (UNICAMP) MC102 Primeiro Semestre de 2014 72 / 116

Ma quina virtual Instituto de Computac a o (UNICAMP) MC102 Primeiro Semestre de 2014 73 / 116

Wine WINdows Emulator Wine Is Not an Emulator, porque emulação geralmente se refere à execução de código que foi compilado para um processador mas vai executar em um processador diferente Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 74 / 116

Controle de acesso Serve para definir privilégios e restringir acessos a diretórios ou a arquivos Definido por usuários e grupos Root: superusuário Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 76 / 116

Sudo Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 77 / 116

Programas Navegadores: Firefox, Google Chrome Clientes de e-mail: Thunderbird, Evolution Pacote Office: LibreOffice, OpenOffice Leitores PDF: Acrobat Reader, Evince, Okular Edição de imagens: Inkscape, GIMP Comunicação: Skype, Pidgin, Kopete... Programas Windows Linux: www.linuxrsp.ru/win-lin-soft/table-eng.html Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 79 / 116

Editor de texto Não confundir com processador de texto (como Microsoft Word) Características minímas desejáveis: Syntax Highlighting Indentação Numeração de linha Algumas opções: Kate (instalado na máquina virtual, mais opções de configuração) Gedit Vim Emacs Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 80 / 116

Abrindo programas Três formas: Clicando em Aplicativos/Acessórios e depois no programa desejado Digitando Alt + F2 e em seguida o nome do comando do programa na janela que aparece Dentro de um terminal, digitar o nome do comando do programa seguido ou não de & (sem &, o terminal fica bloqueado até que o programa seja fechado) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 81 / 116

Kate Padronização Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 82 / 116

Kate Padronização Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 83 / 116

Kate Padronização Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 84 / 116

Gedit Padronização Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 85 / 116

Gedit Padronização Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 86 / 116

Gedit Padronização Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 87 / 116

Shell/Terminal Provê interface de acesso aos serviços do kernel Shell mais famoso do Linux: bash Alt + F2 + terminal/konsole Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 88 / 116

Informações Para um usuário normal, o prompt aparece com o símbolo $ Para o root, o símbolo padrão usado é o # Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 89 / 116

Comandos básicos passwd Muda a senha do usuário Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 90 / 116

Comandos básicos ls diretorio Lista o conteúdo de um diretório (LiSt) Opções básicas: -a Arquivos ocultos -l Detalhes dos arquivos -h Tamanhos dos arquivos com formatos mais comuns (KB, MB, GB) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 91 / 116

Comandos básicos Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 92 / 116

Comandos básicos pwd Mostra o diretório atual (Print Working Directory) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 93 / 116

Comandos básicos cd diretorio Muda o diretório atual (Change Directory) Usos especiais: cd Equivalente a cd ou cd /home/usuario cd - Volta para o diretório anterior Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 94 / 116

Diretórios especiais Diretório raiz: / Diretório atual:. Diretório superior:.. Diretório home: Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 95 / 116

Comandos básicos clear Limpa a tela do terminal Atalho: Ctrl + l Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 96 / 116

Comandos básicos mkdir diretorio Cria diretórios (MaKe DIRectories) Opções: -p Cria diretórios pais, se necessário Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 97 / 116

Comandos básicos cat arquivo(s) Mostra conteúdo dos arquivos na saída padrão Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 98 / 116

Comandos básicos cp origem destino Copia diretórios e arquivos (CoPy) Opções básicas: -a Copia recursivamente mantendo atributos -r Copia recursivamente Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 99 / 116

Recursos Tab completion Histórico (armazenado em /.bash history) Seta para cima Ctrl + r Caractere curinga * Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 100 / 116

Comandos básicos mv origem destino Move (ou renomeia) arquivos e diretórios (MoVe) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 101 / 116

Comandos básicos rm arquivo(s) Remove arquivos ou diretórios (ReMove) Opções básicas: -f Força todas as remoções -i Pede confirmação da remoção -r Recursivo Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 102 / 116

Comandos básicos diff arquivo1 arquivo2 Compara dois arquivos linha por linha (DIFFerence) Opção básica: -y Mostra a saída em duas colunas Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 103 / 116

Redirecionamento Toda saída gerada por um comando é enviada para a saída padrão Podemos redirecionar a saída para um arquivo: > Cria ou sobrescreve um arquivo >> Cria ou anexa em um arquivo Podemos também obter a entrada de um programa a partir de um arquivo usando o símbolo < Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 104 / 116

Redirecionamento Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 105 / 116

Redirecionamento Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 106 / 116

Outras informações Para obter mais informações sobre um comando, execute: man comando Alguns comandos possuem a opção --help (gcc, por exemplo) Para interromper um programa: Ctrl + c Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 107 / 116

Configurando o terminal Trocando a aparência (cores) pelo próprio menu de configurações Criando um arquivo /.bashrc Apelidos para comandos (alias) Cores para o prompt Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 108 / 116

Shell/Terminal Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 109 / 116

Configurando o terminal Salve o conteúdo do arquivo disponível em: www.ic.unicamp.br/~zanoni/mc102/2014-1s/bashrc no seu diretório home ( /) com o nome.bashrc (oculto) Execute o comando source.bashrc para ver o efeito das novas configurações ou simplesmente abra um novo terminal Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 110 / 116

Compilador É um programa que transforma código fonte (linguagem de programação) em linguagem de máquina (programa executável) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 112 / 116

GCC Lançado em março de 1987 por Richard Stallman Originalmente batizado de Gnu C Compiler, hoje conhecido como Gnu Compiler Collection Suporta diversas arquiteturas de processadores Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 113 / 116

GCC gcc arquivo.c -o arquivo Opções: -o Especifica um nome para o arquivo de saída -ansi Ignora características que são incompatíveis com ISO C90 -pedantic Mostra todos os warnings requeridos pelo ISO C -Wall Mostra todos os possíveis warnings -Werror Transforma todos os warnings em erros -lm Adiciona compatibilidade com a biblioteca matemática Padrão usado pelo SuSy: gcc -ansi -pedantic -Wall -Werror -lm labxxy.c -o labxxy (o arquivo /.bashrc possui um alias com as parâmetros acima) Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 114 / 116

SuSy Sistema de submissão e correção automática de programas Desenvolvido pelo professor Tomasz Kowaltowski, do IC Interface Web para exibição das tarefas e submissão dos arquivos Acesse os laboratórios através da página da disciplina Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 115 / 116

Testando um laboratório Acesse a página do laboratório e baixe o arquivo testes.zip, disponível através do link Arquivos auxiliares, no mesmo diretório que você está implmemtando o seu programa Este arquivo contém todos os casos de testes abertos da tarefa (tanto arquivos *.in, quanto *.res) Descompacte o arquivo com os casos de testes: unzip testes.zip Faça testes com seu programa para verificar se ele está apresentando saídas iguais às esperadas:./labxxy < arqzz.in > arqzz.out diff arqzz.out arqzz.res... onde labxxy é o nome do executável do seu programa e ZZ, com ZZ {01, 02,..., 10}, é o número do caso de teste. Instituto de Computação (UNICAMP) MC102 Primeiro Semestre de 2014 116 / 116