INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia em Sistemas para Internet 22/08/2013
SUMÁRIO Introdução ao SO Linux Ambiente Linux Comandos do Shell para o Linux
INTRODUÇÃO AO SO LINUX
SISTEMA OPERACIONAL Interface entre o usuário e seus programas com o computador É quem coloca o computador pra funcionar realmente, pois traduz tudo o que o usuário quer para que o hardware entenda Responsável pelo gerenciamento de recursos e periféricos (como memória, discos, arquivos, impressoras, CD-ROMs, etc) e a execução de programas
O LINUX No início i dos anos 70 o Unix foi criado na Bell Laboratories, braço subsidiário da AT&T. Era pago Em 1987, Andrew Tanenbaum, professor em Amsterdã, iniciou o projeto Minix, que seria um Unix gratuito Em 1991 Linux Torvalds, um estudante de Ciências da Computação da Universidade de Helsinque, capital da Finlândia, iniciou o projeto Linux A intenção de Linus era fazer um Minix melhor que o Minix Linus começou a distribuir o código do Linux gratuitamente t para que outras pessoas pudessem melhorar o Linux Hoje o Linux continua sendo um sistema operacional distribuído ib gratuitamente
DISTRIBUIÇÃO LINUX Quando uma empresa junta o núcleo do Linux (kernel) a uma interface gráfica, à ferramentas gratuitas, a um conjunto de programas utilitários, escreve um manual e prepara um software de instalação, está pronta mais uma distribuição Linux Distribuições Red Hat, Debian, Ubuntu, Mandriva, Slackware, Suse, etc.
CONCEITOS BÁSICOS Multiusuário: vários usuários podem usar a mesma máquina ao mesmo tempo Mutitarefa: várias ái tarefas podem ser executadas td concorrentemente ou em paralelo Compatível com vários protocolos de gerenciamento de discos Utiliza permissões de acesso a arquivos e diretórios Possui suporte a diversos drivers de dispositivos
ARQUITETURA DO LINUX Usuário Aplicações Shell Controle de Processos Sistema de Arquivos Kernel Hardware
SHELL Programa que permite que você interaja com o SO através de comandos Tipos de usuários Para usuários Administradores aparece no final da linha do prompt de comando o símbolo # Para usuários normais aparece no final da linha do prompt de comando o símbolo $
KERNEL Responsável pelo escalonamento de processos, alocação de espaço em disco, supervisão da transferência de dados entre a memória e os dispositivos periféricos e resolução das solicitações de serviços de usuários
ARQUIVOS NO LINUX O Linux é case sensitive (sensível ao caso). Diferencia maiúsculas de minúsculas IFRN é diferente de ifrn Arquivos ocultos no Linux são identificados por u m. no início do nome Exemplo:.bashrc Comando: ls -a
ESTRUTURA DE DIRETÓRIO DO LINUX / /bin /sbin /usr /usr/local /mnt /tmp /var /home
ESTRUTURA DE DIRETÓRIO DO LINUX Diretório raiz ( / ) O diretório home contém os diretórios dos usuário ái O diretório bin contém arquivos executáveis essenciais ao sistema O diretório lib contém as bibliotecas básicas do sistema O diretório usr contém a maior parte dos programas O diretório boot contém os arquivos necessários para o kernel do Linux inicializar
ESTRUTURA DE DIRETÓRIO DO LINUX O diretório etc contém arquivos de configurações de aplicativos e do SO O diretório i var contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e-mails mails, spool de impressora, cache, etc O diretório root é o diretório home do super- usuário O diretório dev contém arquivos de entrada/saída, como disquetes, discos rígidos, etc O diretório mnt contém o ponto de montagem temporário
PERMISSÕES DE ARQUIVOS NO LINUX Comando ls l -rwxrwxrwx 1 jose operador 21 Nov 08 16:06 teste Modificador de permissão de acesso Comando chmod chmod atribuição i do arquivo Pelo menos um dos caracteres u (dono), g (grupo), o (outros) Os sinais i +, - ou =, indicando d as permissões que serão adicionadas (+), excluídas (-) ou definidas (=) Pelo menos um dos caracteres: w (escrita), r (leitura) ou x (execução) indicando as permissões Exemplos chmod ugo=rw teste.txt chmod go-w teste.txttxt Chmod g+w teste.txt
PERMISSÕES DE ARQUIVOS NO LINUX Modificador d de permissão de acesso Comando chmod Utilizando números segundo a tabela abaixo Número Binário Permissões 0 000 --- 1 001 --x 2 010 -w- 3 011 -wr 4 100 r-- 5 101 r-x 6 110 rw- 7 111 rwx Exemplo Chmod 777 teste.txt
COMANDOS NO LINUX ls [opções]: mostra arquivos no diretório i Para saber como funciona o comando digitar ls help Opções do ls Opções -a: lista todos os arquivos, inclusive os ocultos -d: lista os nomes dos diretórios -l: lista os arquivos detalhadamente d sort=[parâmetro] none size time extension Version
LISTANDO ARQUIVOS Comando ls ls l *.txt ls l : lista pastas e arquivos de forma detalhada d Os parâmetros dos arquivos também podem ser concatenados ca a os ls la ls /bin /sbin - Lista os arquivos do diretório /bin e /sbin ls -la /bin - Listagem completa (vertical) dos arquivos do diretório /bin inclusive os ocultos.
ESTRUTURA DE DIRETÓRIOS DO SISTEMA LINUX Diretorio Raiz (/) Diretório principal do sistema. Nele estão todos os diretórios do sistema O comando cd permite navegar entre diretórios Exemplos cd /home/usuario cd programacao cd.. cd../../etc
NAVEGANDO POR DIRETÓRIOS Comando cd [caminho/diretório] cd [parâmetro] Exemplo cd /etc Subindo um diretório cd.. Descendo um diretório cd [nome diretório] Diretório home cd ~ Comando pwd Informa o diretório corrente
COMANDOS NO LINUX pwd: mostra o caminho do diretório atual mkdir [caminho/diretório]: cria um diretório no sistema it Exemplo mkdir teste rmdir [caminho/diretório]: remove um diretório do sistema. O diretório deve estar vazio e deve haver permissão para alterar o arquivo
COMANDOS NO LINUX rm [opções] [caminho][arquivo/diretório]: apaga arquivos, diretórios ou subdiretórios Opções -i: pergunta antes de remover -v: mostra os arquivos na medida em que são removidos -r: remove arquivos e diretórios recursivamente -f: remove os arquivos sem perguntar Exemplo rm rf /home/teste
REMOVENDO ARQUIVOS OU PASTAS rm Exemplos: rm teste.txt txt - Apaga o arquivo teste.txt txt no diretório atual. rm *.txt - Apaga todos os arquivos do diretório atual que terminam com.txt. rm *.txt teste.novo - Apaga todos os arquivos do diretório atual que terminam com.txt e também o arquivo teste.novo. rm -rf /tmp/teste/* - Apaga todos os arquivos e subdiretórios do diretório /tmp/teste mas mantém o sub- diretório /tmp/teste. rm -rf /tmp/teste - Apaga todos os arquivos e sub- diretórios do diretório /tmp/teste, inclusive /tmp/teste.
COMANDOS NO LINUX cp [opções] [origem] [destino]: copia arquivos de origem para o destino Opções -i: pergunta antes de substituir um arquivo existente -f: substitui arquivos já existentes sem perguntar -r: copia diretórios e subdiretórios -v: mostra os arquivos enquanto estão sendo copiados
COPIANDO ARQUIVOS Comando cp Exemplos cp teste.txt teste1.txt Copia o arquivo teste.txt para teste1.txt. cp teste.txt txt /tmp Copia o arquivo teste.txt txt para dentro do diretório /tmp. cp * /tmp Copia todos os arquivos do diretório atual para /tmp. cp /bin/*. Copia todos os arquivos do diretório /bin para o diretório em que nos encontramos no momento.
COPIANDO ARQUIVOS Comando cp Exemplos cp -R /bin /tmp Copia o diretório /bin e todos os arquivos/sub-diretórios existentes para o diretório /tmp. cp -R /bin/* /tmp Copia todos os arquivos do diretório /bin (exceto o diretório /bin) e todos os arquivos/sub-diretórios i existentes t dentro dele para /tmp. cp -R /bin /tmp Copia todos os arquivos e o cp R /bin /tmp Copia todos os arquivos e o diretório /bin para /tmp.
COMANDOS NO LINUX mv [opções] [origem] [destino]: move ou renomeia arquivos e diretórios Opções -i: pergunta antes de substituir um arquivo existente -f: substitui arquivos já existentes sem perguntar -r: copia diretórios e subdiretórios -v: mostra os arquivos enquanto estão sendo copiados
MOVER OU RENOMEAR ARQUIVOS E PASTAS Exemplos mv teste.txt teste1.txt Muda o nome do arquivo teste.txt txt para teste1.txt. txt mv teste.txt /tmp Move o arquivo teste.txt para /tmp. Lembre-se que o arquivo de origem é apagado após ser movido. mv teste.txt teste.new (supondo que teste.new já exista) Copia o arquivo teste.txt por cima de teste.new e apaga teste.txt após terminar a cópia.
COMANDOS NO LINUX cat [diretório/arquivo]: mostra o conteúdo de um arquivo binário ou texto
EXERCÍCIOS
DÚVIDAS e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Endereço eletrônico da disciplina: http://docente.ifrn.edu.br/ebertonmarinho 31