Curso UNIX Matheus Braun Magrin Felipe dos Santos Silveira Universidade Federal de Santa Catarina 25 de Setembro de 2010
CHAMADA
Objetivos Instalação do sistema Ubuntu 10.04 Conhecer a origem do sistema UNIX Fazer tarefas básicas Instalação de pacotes Conhecer a estrutura do sistema Introdução à linha de comando
Instalação da Virtual Box Instalação Instalação da Virtual Box
Criação da máquina virtual
Criação da máquina virtual
Criação da máquina virtual
Criação da máquina virtual
Criação da máquina virtual
Ubuntu 10.04
Ubuntu 10.04
Ubuntu 10.04
Ubuntu 10.04
Ubuntu 10.04
Ubuntu 10.04
Ubuntu 10.04
Ubuntu 10.04
Central de Programas do Ubuntu Central de Programas - O que é? A Central de Programas do Ubuntu é um utilitário para a instalação e remoção de softwares Uso bastante simples Nela você pode navegar por diversas categorias e procurar por softwares específicos
Central de Programas do Ubuntu Central de Programas - Como abrir? No modo gráfico Abrir o menu Aplicativos Selecionar o item Central de Programas do Ubuntu No modo texto software-center
Central de Programas do Ubuntu Central de Programas - Como usar?
Gerenciador de Pacotes Synaptic Synaptic - O que é? É o mais usado gerenciador de pacotes do Ubuntu Uso bastante simples também, mas permite mais consciência sobre o que está acontecendo
Gerenciador de Pacotes Synaptic Synaptic - Como abrir? No modo gráfico Abra o menu Sistema Administração Selecione o item Gerenciador de pacotes Synaptic No modo texto sudo synaptic
Gerenciador de Pacotes Synaptic Synaptic - Como usar?
Aptitude Aptitude - O que é? É um gerenciador de pacotes de modo texto É possível usá-lo pela linha de comando diretamente, ou pela interface de texto
Aptitude Aptitude - Como abrir? aptitude
Aptitude Aptitude - Como usar? Usando a interface
Aptitude Aptitude - Como usar? Procurar aptitude search <termo> Mostrar detalhes aptitude show <nomedopacote> Instalar sudo aptitude install <nomedopacote> Remover sudo aptitude remove <nomedopacote> sudo aptitude purge <nomedopacote>
O que é um SO? Um Sistema Operacional é um conjunto de programas que executa as funções básicas de controle do computador, tanto de hardware como de software Exemplos: Microsoft Windows, Linux, Mac OS, Palm OS, MS-DOS, FreeBSD
O que é UNIX? Um SO que começou a ser desenvolvido em 1969 no Bell Labs da ATT Seus pais mais famosos são Ken Thompson e Dennis Ritchie, criador da linguagem C Várias ramificações do UNIX surgiram ao longo do tempo, com destaque para BSD, Solaris e AIX Existem, também, sistemas conhecidos como UNIX-like ou *nix, que são inspirados no UNIX, mas não seguem a Single UNIX Specification. Entre eles estão o Linux e o Mac OS X
Thompson e Ritchie
Filosofia e princípios Alguns itens da filosofia Unix, segundo Eric Raymond (The Art of Unix Programming) Modularidade Simplicidade Transparência Extensibilidade
Onde é usado Servidores Sistemas Embarcados Aplicações científicas e de alto desempenho Computação pessoal (principalmente Linux e Mac OS X) Na rede do departamento Em algumas disciplinas o uso é incentivado pelos professores
Como funciona Divisão
Como funciona Sistema de arquivos Tudo é arquivo! Arquivos Diretórios Dispositivos (A interface é feita por arquivos) Sockets (Comunicação entre processos e em rede) Links Pipes
Como funciona Sistema de arquivos Case sensitive: Arquivo é diferente de arquivo Não é necessário o uso de extensões nos arquivos, mas geralmente são usadas para facilitar a identificação
Como funciona Sistema de arquivos Os arquivos se encontram em diretórios, que podem se encontrar em outros diretórios e assim por diante Todo o caminho começa em /, o diretório raiz Existem dois tipos de caminhos Absoluto: Relativo ao início: / Ex: /dev/null Relativo: Relativo ao diretório atual:. Ex: home/user
Como funciona Sistema de arquivos Exemplo de caminho
Como funciona Estrutura do sistema de arquivos A estrutura do sistema de arquivos UNIX é definida pelo Filesystem Hierarchy Standard (FHS), mas pode variar entre distribuições / Raiz /bin Comandos básicos do sistema /boot Imagens de kernel e arquivos de configuração de boot /dev Os arquivos que representam os dispositivos /etc Arquivos de configuração do sistema /home Diretórios dos usuários /lib Bibliotecas compartilhadas /lost+found Arquivos corrompidos
Como funciona Estrutura do sistema de arquivos /media Ponto de montagem para mídias removíveis /mnt Ponto de montagem para outros sistemas de arquivos /opt Programas específicos /proc Informações do sistema /root Diretório home do usuário root /sbin Comandos que requerem permissão especial para uso /sys Controle do sistema e dispositivos /tmp Arquivos temporários /usr Programas dos usuários /var Dados usados pelos serviços do sistema
Como funciona Usuários e permissões Os arquivos em UNIX tem permissões de uso r read (leitura) w write (escrita) x execute (execução) As permissões são específicas para usuários: u user (dono do arquivo) g group (grupo do dono do arquivo) o others (outros usuários) a all (todos) É possível adicionar (+) e remover (-) permissões
Como funciona Usuários e permissões
Como funciona Superusuário O superusuário é aquele que tem todas as permissões de todos os arquivos, além de alguns outros privilégios Em UNIX o superusuário é geralmente chamado root É um usuário usado para administração do sistema
Comandos Em UNIX as tarefas são realizadas através de comandos no shell O shell é um interpretador de comandos. Existem vários shells diferentes, os mais comuns são: sh, bash, csh e ksh Comandos em UNIX são na verdade programas, que aceitam opções e argumentos Ex.: ls -la /dev ls é o comando l e a são opções /dev é o argumento
Comandos básicos Para se obter ajuda sobre um comando qualquer, pode-se utilizar o man, que exibe as páginas de manual de um dado programa man ls man man Alguns comandos têm também a opção help, que serve como um resumo do man Uma opção importante em vários comandos é o -r ou -R, que indica recursão. É usado para aplicar os comandos em diretórios Ex.: rm -r /home/user Remove o diretório /home/user
Manipulação de arquivos e diretórios ls dir lista o conteúdo do diretório dir mkdir dir cria o diretório dir cd dir navega para o diretório dir pwd imprime na tela o diretório atual touch arq cria o arquivo arq (vazio) rm arq remove o arquivo arq cp origem destino copia o arquivo origem para destino mv origem destino move o arquivo origem para destino Usado também para renomear
Diretórios especiais. diretório atual.. diretório pai - último diretório atual diretório home do usuário atual usuario diretório home de usuario Uso: cd - ls..
Wildcards * casa qualquer ocorência Ex.: rm /home/user/* Remove todos os arquivos em /home/user? casa a ocorrência de um caracter qualquer ls arq? Resultado: arq1 arq2 arq3 [] casa qualquer ocorrência no intervalo definido rm arq[1-3] Resultado: remove os arquivos arq1, arq2 e arq3 {} casa as ocorrências definidas na lista mkdir dir{ user1, user2, user3}
Visualização e edição de arquivos Usados para arquivos texto, não binários! cat arq1 arq2 concatena os arquivos e exibe o resultado Se usado com um só arquivo, apenas exibe o conteúdo do mesmo less arq usado para arquivos mais longos, pois permite navegação no arquivo Editores de texto existem vários e cada um tem características diferentes. Os principais são o vi e o nano
Usuários su usuario usado para se logar com usuario (switch user) passwd troca a senha do usuário atual who exibe os usuários atualmente conectados no sistema finger usuario exibe mais informações sobre usuario whoami exibe com qual usuário você está logado no momento
Permissões chmod permissoes arq altera as permissões de acesso de um arquivo Ex.: chmod a+x /home/user/script.sh a todos os usuários + adiciona a permissão x permissão de execução chown usuario arq altera o dono de um arquivo Ex.: chown user /home/user/example.txt user passa a ser o dono de example.txt
Empacotamento e compactação tar c empacota os arquivos x extrai o conteúdo de um tar v exibe os arquivos sendo processados (verbose) f especifica o arquivo de entrada/saída z compacta/descompacta com gzip Ex.: Empacotando e compactando arq.tar.gz tar -vczf arq.tar.gz arq1 arq2 arq3 arq4 Ex.: Extraindo de arq.tar.gz tar -vxzf arq.tar.gz
Outros comandos úteis head arq exibe o início de arq tail arq exibe o final de arq grep usado para expressões regulares (padrões em strings) ln criação de links ps exibe os processos do sistema kill -signal pid envia um sinal ao processo pid
Mais sobre comandos Redirecionamento de saída: > redireciona a saída padrão de um comando para um arquivo >> redireciona a saída padrão para um arquivo sem sobrescrevê-lo (append) 2> redireciona a saída de erros para um arquivo Ex.: cat arq1 arq2 > arq3 Concatena arq1 e arq2 e escreve em arq3. Ex.: echo Hello world >> arq3 Escreve Hello world no final de arq3.
Mais sobre comandos (pipe): Realiza o encadeamento de comandos, redirecionando a saída de um comando para a entrada de outro who wc -l Exibe o número de usuários conectados seq -s* 5 bc Calcula o fatorial de 5 ls /home/user grep arq Filtra os resultados com arq && (and): Executa o segundo comando se o primeiro retornar sucesso (or): Executa o segundo comando se o primeiro retornar erro
Background &: coloca o processo recém-criado em background Ex.: nano arq & Ctrl+Z: pausa o processo em foreground bg: coloca um processo em background jobs: lista os processos em background fg %id: traz o processo id para o foreground
FIM Site: http://pet.inf.ufsc.br Email: pet@inf.ufsc.br