A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Instrutor.: Frank S. Fernandes Bastos

Apresentações semelhantes


Apresentação em tema: "Instrutor.: Frank S. Fernandes Bastos"— Transcrição da apresentação:

1 Gerenciamento, suporte e comandos mais utilizados em ambientes Linux e Solaris
Instrutor.: Frank S. Fernandes Bastos Foco.: Adiquirir conhecimento preparatório para Concurso referente itens do conteúdo Linux e Solaris Público.: Estudantes de concurso específico Local.: Sala de aula Número Slides.: 166 (incluindo este)

2 OBJETIVOS Transpor as barreiras no aprendizado para adquirir conhecimento suficiente para preparação e prova de concurso específico, Módulo Sistemas Operacionais Linux e Solaris.

3 Breve Histórico Entre os vários sistemas operacionais existentes, o Unix é um exemplo vivo de maturidade e eficiência. Um de seus maiores pontos fortes é a confiabilidade e por isso, durante mais de trinta anos tem sido utilizado universalmente nas mais diversas aplicações e plataformas de hardware. Ao longo dos anos, várias versões do unix surgiram, tanto comerciais como Solaris, IRIX, HP-UX, AIX, e livres, como FreeBSD e Linux. Sendo o último objeto alvo deste treinamento.

4 Cronologia Década de 1960 e início de Marcado pela era dos grandes computadores, caros e de difícil acesso à pessoas comuns. Com a crescente demanda por pesquisa era imprescindivel desenvolver um sistema operacional multi-usuário e multi-tarefa, que pudesse ser convertido para diferentes plataformas de hardware. Neste momento fora criado a primeira distribuição UNIX. Principais características agregadas.: Facilidade e praticidade na manipulação de objetos avançados de rede, facil administração de cotas de disco, FTP, , WWW, DNS, e o principal, baixo custo de implantação.

5 Cronologia Dentre os principais criadores, destacam-se o grupo da universidade católica da Califórnia, em Berkeley, que em 1975 licenciou a versão 6 da AT&T que após aprimoramentos relançou-se como UNIX BSD Em 1980, o surgimento das versões baseadas em workstations onde as primeiras versões comeciais foram liberadas (SunOS, Solaris) e outros. Até meados da década de 80, o unix ainda não possuia uma interface gráfica própria, neste momento, associados ao instituto MIT (Massachusets Institute of Technology) fora desenvolvido o padrão X windows System utilizado como base até os dias de hoje.

6 Cronologia Algumas datas importantes.: 1969, Ken Thompson cria o Unix
1971, É lançada a versão 1 do unix escrita em Assembly 1973, primeiro compilador C para Unix (Ritchie e Thompson) 1974, AT&T autoriza a distribuição do código-fonte Unix para universidades 1975, Lançada a versão 6 do unix 1978, Lançada a versão 7 do unix, agora com cobrança de licença

7 Cronologia Algumas datas importantes.:
1979, AT&T lança o Unix System III 1983, AT&T lança o Unix System V e a Universidade da Califórnia lança o BSD Unix 4.2 (Sun utiliza o kernel como base para o SUNOS) 1984, Servidor X Window começa a ser desenvolvido no MIT (Massachusets Institute of Technology) 1986, Primeira implementação comercial do XWindows, utilizava VAX 1987, AT&T Lança o Unix System V release 3. É lançado o BSD 4.3. Neste momento a SUN e a AT&T concordam em fundir o BSD UNIX e Unix System V

8 Cronologia Algumas datas importantes.:
1988, Criação do X Consortium, organização aberta que garante a evolução do X. Lançado o X11R3. 1990, AT&T lança o Unix System V Release 4, e a fusão com SUN coloca no mercado o MINIX através da internet. 1992, Lançamento do Solaris e do Linux 0.99pl5. 1992/1993, Lançada a primeira distribuição linux em CD-ROM (Yggdrasil) 1994, Lançada a versão livre do Xwindow, o XFree86, Microsoft lança o NT 3.5, dois anos depois, a versão NT 4.0

9 Cronologia Clone absoluto do Unix, criado como alternativa barata e funcional para quem não está disposto a pagar o alto preço de um sistema unix comercial ou não tem um computador suficientemente rápido. Em 1983, Richard Stallman fundou a Free Software Foundation, cujo projeto, GNU, tinha por finalidade criar um clone melhorado e livre do sistema operacional UNIX.

10 O Linux Linus Benedict Torvalds, aluno da Universidade de Helsinque, Finlândia, no final de Percebeu que o Intel era o único microprocessador disponível na época capaz de executar um clone do unix. Sua opção por este processador garantiu a ele, posteriormente, o grande número de voluntários que tornou o desenvolvimento do linux viável até hoje.

11 1974, Distribuição do Unix para universidades.
Cronologia do Linux 1969, Criação do Unix na AT&T. 1974, Distribuição do Unix para universidades. 1983, Richard Stallman cria a Free Software Foundation 1984, X window é criado no MIT. 1988, Criação do MINIX 1990, Linus Torvalds assiste à sua primeira aula de linguagem C. 1991, Linus Torvalds inicia o desenvolvimento do Linux. 1992, Versão 0.01 é discutida na internet. Lançada a versão 0.95 do Linux

12 Cronologia do Linux 1993, A Yggdragil libera a produção da distribuição Linux 1994, Xfree86 e 0.99pl15 do linux são lançados. RED-HAT, Slackware e outras distribuições surgem em CD-ROM. 1995, primeira versão modularizada do linux 1996, Caldera lança a versão 1.0 com netscape incluso 1998, Conectiva Lança primeira distribuilção brasileira do linux baseada no RedHat.

13 Licenciamento A licença GPL (GNU Public Licence) garante que o linux não seja um software de domínio público, mas licenciado á ele. Como vários grupos pelo mundo tem trabalhado conjuntamente para o desenvolvimento contínuo do LINUX, fez-se necessário a normatização e implantação do controle padrão de licenças. O linux segue o modelo de desenvolvimento aberto e, por isso mesmo, a cada nova versão liberada ao público, é considerado um “produto de qualidade”.

14 CopyRight e Numeração de versões
Versões r.x.y, onde x é um número par São versões estáveis e, enquanto o y é incrementado, apenas as correções de bugs são efetuadas. Assim, da versão para o houveram apenas correções de bugs e nenhuma característica nova. Versões r.x.y, onde x é um número impar São versões beta, destinadas apenas a desenvolvedores, podem ser instáveis e falhar, estão sujeitas a alterações por tempo indeterminado.

15 Distribuições Diversas empresas e organizações de voluntários decidiram juntar os programas do Linux em “pacotes” próprios aos quais elas fornecem suporte. Esses “pacotes” são chamados de distribuições e, entre as mais famosas e utilizadas, destacam-se.: Red Hat, Mandrake, Conectiva (brasileira), Debian, SlackWare, SuSE e Caldera. LSB (Linux Standard Base), é um conjunto de padrões cujo objetivo é compatibilizar e padronizar as diversas distribuições Linux, permitindo assim que qualquer software escrito para linux seja executado em qualquer distribuição desenvolvida de acordo com o LSB.

16 O que o Linux e o Solaris oferecem?
O Linux oferece diversas vantagens para quem o utiliza. Entre elas, destacam-se: Sistema multi-tarefa e multi-usuário de 32 ou 64 Bits Sistema Gráfico XWindow Suporte a linguagens (java, c, c++, pascal e outros) Memória virtual gerenciável. Código-fonte do kernel Centenas de programas em GPL, incluindo compiladores Estabilidade, segurança e Crescimento crescente.

17 Mais populares.: bash, csh, ksh e zsh
Termos utilizados Kernel Núcleo do sistema operacional, a parte mais próxima do nível físico (hardware). Composto de chamadas ao sistema, de acesso aos dispositivos de entrada e saída e de gerência de recursos. Shell Nome genérico de uma classe de programas que funcionam coo interpretador de comandos e linguagem de programação script (interpretado) no Unix. Mais populares.: bash, csh, ksh e zsh Script Script nada mais é que um arquivo que contém comandos shell, em uma situação normal podem ser executados pelo prompt.

18 Gerenciamento de memória
O linux é um sistema operacional com memória virtual paginada, isto quer dizer que podemos ter programas em execução cujo tamanho seja maior que a memória física disponível para executá-los. Com isso, o sistema passa a preocupar-se em manter em memória RAM apenas os programas que estão realmente em uso ou que possuem prioridade.

19 Gerenciamento Gráfico
Assim como vários outros sistemas operacionais, o linux também possui um bom ambiente gráfico. O ambiente gráfico do linux basea-se em um conceito chamado gerenciador de janelas, este, por sua vez, consiste em um software, rodando sob o X Windows System, que é responsável pelas funções de ajuste de tamanho de uma janela, minimização, maximização, etc. Dentre os gerenciadores de janelas mais utilizados, estão.: KDE, GNOME, XFCE, Enlightenment, Window Maker, AfterStep, Fvwm, e outros... Cabe lembrar que o uso de mouse é indispensável em ambientes gráficos no linux.

20 Gerenciamento de arquivos
Todas as informações utilizadas pelo linux e unix são baseadas em filesystem e arquivos. Estes podem conter textos, informações de programação, scripts, e qualquer outro tipo de informação.: Algumas informações.: No MS-DOS, os dispositivos de armazenamento são representados por unidades A:, B:, C: por exemplo. No linux, eles são representados por diretórios e filesystens cuja hierarquia é definida no momento de montagem. Existe diferenciação obrigatória entre letras maiúsculas e minúsculas (case sensitive) e não há bloqueio para inserção de espaços em nomes de arquivos e diretórios.

21 Sistema de arquivos Os caracteres ( # $ % ^ & * ( ) { } [ ] ‘ “ ? | ; < > ` + - = \ / .. ) não podem ser utilizados em nomes de arquivos Não há extensões compulsórias como .COM e .EXE para programas e outras extensões conhecidas nos sistemas operacionais microsoft.

22 Sistema de arquivos Tipos de arquivos do linux e solaris
Arquivos comuns, Texto, Dados, Scripts, binários e outros... Diretórios, são arquivos de índice que contém os nomes de arquivos que serão armazenados ou organizados como um grupo Links, Um arquivo que faz referência a outro arquivo ou diretório. Device Files, arquivos utilizados para representar dispositivos de hardware. Ex.: /dev/hdc, /dev/lp1 Sockets, São arquivos utilizados para comunicação entre processos. Pipes, Arquivos também utilizados para comunicação entre processos e residem também no diretório /dev

23 Mapeamento de arquivos para disco
Existem vários sistemas de arquivos UNIX (Minix, ext, ext2, ext3, JFS, XFS, ReiserFS, UFS, FFS, entre outros). O Ext2 (sistema de arquivos estendido 2) é o sistema de arquivos padrão utilizado pelo Linux. No entanto, o Linux é capaz de utilizar vários sistemas de arquivos além do ext2, Minix (primeiras versões do linux), ext (estendido original), ext3 (ext2 melhorado com recuperação rápida de dados em caso de desligamento anormal), MS-DOS, VFAT, NTFS eo ISO9660 (para CD-ROM)

24 Mapeamento de arquivos
Quando o Disco Rígido é formatado com um sistema de arquivos padrão UNIX/LiNUX é criado nele uma estrutura de dados chamado iNODE. O bloco 0 é o bloco que contém o sistema operacional. O bloco 1, é o superbloco que contém informações sobre o sistema de arquivos, como o número de iNODES, número de iNODES livres, Número de blocos do disco, etc.. A eventual destruição do superbloco provoca a falha de leitura dos arquivos do sistema. Depois dos superblocos estão os iNODES, elementos essenciais ao sistema de arquivos do linux.

25 Mapeamento de arquivos para disco
Quando o usuário cria um arquivo, um iNODE é alocado para ele. Estes são numerados de 1 até algum número máximo definido na formatação de acordo com o tamanho do disco. Cada iNODE tem 64 Bytes e contém informações sobre um arquivo.: UID (Identif. De usuário dono do arquivo) e GID (identif. De grupo) Tipo do arquivo (comum, diretório, etc, ou 0 se o iNODE não estiver sendo utilizado Permissões, Data e Hora de criação, acesso e última utilização, número de links, tamanho e localização dos blocos iNODE não contém o nome do arquivo, essa informação está armazenada em um arquivo de diretório.

26 iNODES e Mapeamento do disco
Um arquivo de diretório contém várias entradas. Cada entrada contém o nome de um arquivo e o seu iNODE. Para abrir um arquivo em um diretório, o sistema operacional simplesmente lê o diretório, comparando o nome do arquivo a ser encontrado com cada uma das entradas, até que o nome seja encontrado. Se o arquivo estiver no diretório, o S.O. obterá seu iNODE e esta identificação será colocada em uma área que se chama tabela de iNODES, estrutura esta pertencente ao Kernel. Quando esse iNODE é lido, é obtida a localização dos blocos onde está armazenado o arquivo desejado e logo após este é lido.

27 Divisão de blocos Bloco de boot Superbloco Tabela de iNODES
Blocos de dados

28 Estrutura básica do sistema de arquivos
/ - Diretório Raiz /boot - Kernel do sistema /proc - Sistemas de arquivos virtual de informações do kernel e proc. /dev - Arquivos de dispositivos de hardware /tmp - Arquivos temporários /etc - Arquivos de configuração do sistema /lib - Bibliotecas compartilhadas essenciais e módulos do kernel /mnt - Ponto de montagem temporária de sistemas de arquivos /opt - Pacotes de software opcionais

29 Estrutura básica do sistema de arquivos
/root - Diretório do superusuário root /home - Diretórios dos usuários /bin - Comandos essenciais do sistema. /sbin - Comandos essenciais de administração do sistema. /usr - Hierarquia secundária. /var - Dados variáveis

30 Complemento de aula

31 Navegação entre diretórios
Uso da estrutura / para referenciar a hierarquia de diretórios Uso do . (ponto) e .. (dois pontos) para representação de posição

32 Complemento de aula

33 Permissões e Segurança de Arquivos
Totalmente baseado em Leitura, escrita e execução Orientado ao Dono, Grupos e Outros Pode-se atribuir pelos métodos numérico e literal

34 Complemento de aula

35 Entrada e Saída Padrão Todo shell em um sistema operacional precisa comunicar-se com o usuário por meio de dispositivos de entrada e saída. Da mesma forma, os programas normalmente se utilizam de serviços do sistema operacional para a comunicação com o usuário. No Linux, todo programa (incluindo o shell) possuir pelo menos três dispositivos associados: Entrada-padrão de dados (stdin) Dispositivo pelo qual os programas obtêm dados de entrada para executar suas tarefas. Na maior parte teclado do terminal. Entretanto atrávés do shell podemos associar parametros ou arquivos por direcionamento.

36 Entrada e Saída Padrão Saída-padrão de dados (stdout)
Dispositivo pelo qual os programas normalmente enviam seus resultados. Em geral, monitor de vídeo do terminal é o padrão. Comandos de redirecionamento do shell podem associar arquivos como saída. Saída-padrão de erros (stderr) Dispositivo para o qual mensagens e dados decorrentes de erros são enviados. Idem ao anterior podem ser desviados para arquivos ou vistos no monitor do terminal.

37 Entrada e Saída Padrão Descritor Nome Abreviação Dispositivo
Entrada-Padrão Stdin Teclado 1 Saída-Padrão Stdout Vídeo 2 Saída-Padrão de erros Stderr

38 Complemento de aula

39 Redirecionamentos O redirecionamento é um recurso bastante interessante e útil que permite aos dados de saída serem armazenados em arquivos ou impressos, bem como dados de entrada que sejam obtidos de um arquivo em vez do teclado. Pipping é um recurso que permite conectar a saída de um comando na entrada de outro, sem limitação do número de conexões entre comandos, mas desde que cada um deles leia e escreva na saída-padrão.

40 Redirecionamentos Redirecionador ou pipe Função Comando > arquivo
Redireciona a saída padrão Comando < arquivo Redireciona a entrada padrão Comando >> arquivo Concatena a saída padrão Comando << arquivo Concatena a entrada padrão Comando 2> arquivo Redireciona a saída de erro padrão Comando 2>> arquivo Concatena a saída de erro padrão Comando1 | comando2 Pipe de comandos

41 Redirecionamentos Exemplos.: $ cat > arquivo1.txt
Teste de inclusao de dados <ENTER> <CTRL> + < D > $ more arquivo1.txt

42 Shell Introdução Shell é o nome genérico de uma classe de programas que funcionam como interpretador de comandos e linguagem de programação script (interpretada) no Unix ou Linux. Os shells mais populares são bash, csh, tcsh, ksh e zsh. O shell padrão do linux é o bash objeto alvo deste treinamento. Este shell é executado em um ambiente (environment) controlado por variáveis de ambiente, que são definições e valores que o shell e outros programas utilizam para configuração no momento em que é realizado o login.

43 Arquivos de configuração
Arquivo /etc/passwd e /etc/shadow Ambos os arquivos estão diretamente ligados às políticas de segurança dos ambientes unix e linux. passwd – Arquivo conteúdo de dados relacionados com usuários e associação a seus grupos. shadow - Armazenamento de senhas criptografadas.

44 Arquivos de configuração
Arquivo /etc/shells Contém os shells e programas que podem ser escolhidos pelo comando chsh. # cat /etc/shells /bin/bash /bin/bash2 /bin/sh /bin/ash ....

45 Arquivos de configuração
Arquivo /etc/profile Define as variáveis de ambiente para todos os usuários. É executado automaticamente no login.

46 Complemento de aula

47 Shell script Quoting A função do quoting é evitar a substituição de variáveis ou remover o significado dos caracteres especiais e palavras reservadas do shell, permitindo que estes sejam utilizados literalmente. Os caracteres ‘ (aspas simples), “ (aspas duplas) e \ (barra invertida) são usados para quoting.

48 Qualquer caractere seguinte a \ é considerado literalmente.
Shell script Quoting CONTINUAÇÃO É importante saber.: Qualquer string entre aspas simples é considerada literalmente, mas a substituição de parametros não é permitida. Qualquer string entre aspas duplas é considerada literalmente, mas a substituição de parametros é permitida. Qualquer caractere seguinte a \ é considerado literalmente.

49 Shell script Quoting CONTINUAÇÃO Exemplos.:
$ echo “você tem ‘ls | wc –l’ arquivos em ‘pwd’ “ $ echo ‘isto e um teste \”simples\”? ‘ $ export x=100 $ echo “o valor de \$x é $x”

50 Shell script Formas de comandos (Execução) Forma Definição/Exemplos ;\
Executa comandos múltiplos em linhas separadas # comando1 ;\ Comando2 Comando & Executa em segundo plano Comando1;comando2 Executa múltiplos comandos em sequencia $cd;ls (comando1;comando2) Subshell; trata os comandos como um grupo $(date;who) > arquivo1.txt Comando1 | comando2 Pipe; utiliza a saída do comando 1 como entrada para o comando 2

51 Shell script Formas de comandos (Execução) Forma Definição/Exemplos
Comando1 ‘comando2’ Substituição de comandos; utiliza a saída do comando2 como argumento para o comando1 $ vi ‘grep –l ifdef *.c’ Comando1 $(comando2) Substituição de comandos Comando1 && comando2 Executa o comando2 se o comando1 for bem sucedido. Comando1 || comando2 Executa o comando2 se o comando1 falhar {comando1;comando2} Executa os comandos no shell corrente.

52 Complemento de aula

53 Shell script Operadores
Os operadores lógicos e aritméticos utilizados pelo shell bash são informados a seguir, em ordem decrescente de precedência.:

54 Shell script Operadores Operador Descrição ! , ~
Negação lógica, complemento de 1 (utilizado em operações com bits) * / , % Multiplicação, divisão, módulo + , - Adição, subtração << , >> Deslocamento de bit à esquerda, deslocamento de bit à direita <= , >= Menor que ou igual, maior que ou igual < , > Menor que, maior que == , != Igualdade, desigualdade & AND ^ Exclusive OR | OR && AND lógico || OR lógico

55 Shell script Variáveis Especiais Operador Descrição $#
Número de parâmetros passados $- Opções fornecidas ao shell $? Valor de retorno do último comando do script $$ Número do processo do shell script em execução $! Número do último processo executado em background $n Argumento na linha de comando, onde n varia de 1 até 9, da esquerda para a direita $0 O nome do programa ou shell em execução $* Todos os parâmetros separados por espaços em branco. O mesmo que o anterior

56 Complemento de aula

57 Shell script Substituição de parâmetros Operador Descrição $parâmetro
Substitui parâmetro pelo conteúdo da variável. ${parâmetro} O mesmo que o anterior ${#parâmetro} Mostra o número de caracteres do parâmetro ${parâmetro=} O parâmetro torna-se nulo ${parâmetro-padrão} Se nenhum valor foi atribuído ao parâmetro, então utilizará padrão ${parâmetro=padrão} Se nenhum valor foi atribuído ao parâmetro, então utilizará padrão e novo valor. ${parâmetro+valor_novo} Se algum valor foi atribuído ao parâmetro, então utilizará valor_novo. ${parâmetro?mensagem} Se nenhum valor foi atribuído ao parâmetro, então exibe mensagem.

58 Shell script Substituição de comandos
O resultado da execução do comando é colocado no lugar do parâmetro. Pode ser demonstrada de duas formas.: $ (comando) ou ´comando´ . Exemplos.: $ echo o caminho para more é which more $ echo o caminho para more é `which more` $ echo o caminho para find é $(which find)

59 Shell script Expansão de chaves
É a combinação de todos os elementos entre as chaves, separados por vírgulas. Veja que em {,s}, o primeiro parâmetro é nulo, mas a vírgula é necessária. Exemplos.: $ echo {a,o}{,s}

60 Shell script Expansão aritmética
O bash permite a realização de aritmética com números inteiros Exemplos.: $ echo $((4*7))

61 Complemento de aula

62 Shell script Entrada interativa Read <linha>
Lê uma linha da entrada-padrão Exemplos.: $ echo –n “Digite seu nome.:” Read NOME SOBRENOME Echo “Prazer $NOME !”

63 Processo INIT O que é? O processo init é o primeiro programa executado pelo kernel de qualquer sistema operacional Linux/Unix na sua inicialização. Durante o boot, após ler o MBR do disco e saber como deverá ser o processo de inicialização do sistema, o próximo passo do linux é montar o / (barra ou raiz) e inicializar seu primeiro processo, o INIT, este por sua vez é o único processo do linux que não pode ser abortado pelo usuário. Este é o processo pai de seu sistema operacional.

64 Níveis de inicialização
SysV init Os níveis de execução definem como o sistema operacional inicializará. Nível Funcionalid. acordo com Red Hat, Solaris, Suse 0 halt Monousuário Multiusuário, sem NFS Multiusuário, com NFS Reservado X11 Reboot

65 Processo de INIT Localização
Os scripts de inicialização do linux estão localizados no diretório /etc/rc.d (ou, dependendo da distribuição, em etc como o Debian por exemplo). Neste diretório são encontrados os scripts de inicialização.: Rc.sysinit, Rc Rc.serial Rc.local E diretórios.: init.d, rc0.d, rc1.d, rc2.d .... Rc6.d

66 Níveis de inicialização
Localização O init.d contém vários scripts de inicialização. Já os diretórios rc0.d e os demais possuem links simbólicos para os scripts contidos em init.d. Cada script do diretório /etc/rc.d/init.d é concebido de forma a receber como argumento parametros de start, stop, restart e status.

67 Sequência de inicialização
Sequência de inicialização SysV init O arquivo /etc/inittab é lido e assim, definido o nível em que o sistema iniciará Init executa o script /etc/rc.d/rc.sysinit O processo init executa o script /etc/rc.d/rc que recebe o nível de execução como parâmetro. O script /etc/rc.d/rc executa os scripts de um dos diretórios /etc/rc.d/rc?.d de acordo com o nível escolhido. Init executa o script /etc/rc.d/rc.local Init executa o processo mingetty para configurar os terminais.

68 Editando scripts de inicialização
Entendendo os links contidos em /etc/rc.d/rc?.d O padrão descrito abaixo é padrão na maioria das distribuições linux. Se um link for iniciado com uma letra K (kill), quer dizer que o serviço será interrompido naquele nível de execução. Se um link é iniciado com a letra S (start), quer dizer que o serviço será iniciado naquele nível. São executados primeiro os links com as letras K e depois com S, a ordem depende dos números posteriores as letras, se iguais, são executados em ordem alfabética.

69 Complemento de aula

70 Comandos básicos halt / shutdown / poweroff Desliga o computador
Exemplo.: $ halt

71 Comandos básicos reboot Reinicializa o computador Exemplo.: $ reboot

72 Comandos básicos Init [Sinal]
Envia sinais para o terminal, será abordado melhor mais a diante no treinamento. Sinal é um valor inteiro; 6 – fecha todos os programas e reinicia em modo normal. Exemplo.: $ init 6

73 Configurando serviços
chkconfig <opção> <serviço> Gerencia os scripts de inicialização dos serviços e seus links simbólicos localizados nos vários diretórios de inicialização. # chkconfig lpd O script será executado nos níveis 2,3,4 e 5 e com prioridade de start 60 e de stop 50. --add Adiciona um serviço --del Remove um serviço --levels <n> <s> <off | on> Especifica os níveis de execução onde (n) é o nível e (s) o serviço.

74 Editando scripts de inicialização
Drives e arquivos de dispositivo Aos drives e partições do linux são dados nomes diferentes aos seus correspondentes em outros sistemas operacionais. Estes arquivos de dispositivos são encontrados no diretório /dev e são utilizados para a comunicação com os dispositivos em seu sistema (discos, mouse, etc.)

75 Editando scripts de inicialização
Exemplos de dispositivos de disco Dispositivo Descrição /dev/hda IDE Primária Master    /dev/hda1    Partição 1 da IDE Primária Master    /dev/hda2    Partição 2 da IDE Primária Master /dev/hdb IDE Primária Slave    /dev/hdb1    Partição 1 da IDE Primária Slave    /dev/hdb2    Partição 2 da IDE Primária Slave /dev/hdc IDE Secundária Master    /dev/hdc1    Partição 1 da IDE Secundária Master    /dev/hdc2    Partição 2 da IDE Secundária Master /dev/hdd IDE Secundária Slave    /dev/hdd1    Partição 1 da IDE Secundária Slave    /dev/hdd2    Partição 2 da IDE Secundária Slave ...

76 Montando volumes automaticamente
Montando automaticamente o sistema de arquivos /etc/fstab O arquivo /etc/fstab contém as entradas dos dispositivos e/ou partições que contém sistemas de arquivos existentes no linux. É possível adicionar mais dispositivos e/ou partições editando cuidadosamente esse arquivo.

77 Montando volumes automaticamente
Montando automaticamente o sistema de arquivos /etc/fstab 1ª coluna Dispositivo 2ª coluna Ponto de montagem 3ª coluna Tipo do sistema de arquivos (ext2, ext3, vfat, ...) 4ª coluna Opções de montagem Defaults – montagem padrão do dispositivo exec,noexec – Permite/Não execução de programas Auto,noauto – Monta/Não automaticamente user,nouser – Permite/não usuários comuns acessar rw, ro – Monta para leitura/gravação ou leitura somente

78 Montando volumes automaticamente
Montando automaticamente o sistema de arquivos /etc/fstab 5ª coluna Dump do dispositivo 0 Não faz o dump 1 Faz o dump 6ª coluna Verificação de reparo 0 Não faz 1 Faz verificação e reparo do dispositivo.

79 Complemento de aula

80 Arquivos de configuração
Arquivo /etc/HOSTNAME Armazena o nome do computador. Exemplo.: cat /etc/HOSTNAME Linux.site

81 Arquivos de configuração
Arquivo /etc/hosts Contém uma lista de endereços IP e nomes de computadores da rede local. Exemplo.: cat /etc/hosts localhost.localdomain localhost testelinux.linux.org.br servidor

82 Arquivos de configuração
Arquivo /etc/resolv.conf Nesse arquivo é configurado o cliente de DNS, que contém o nome do domínio do servidor DNS e o seu endereço IP. Exemplo.: cat /etc/resolv.conf Search linux.org.br Nameserver

83 Arquivos de configuração
Arquivo /etc/sysconfig/network/* Neste diretório são encontrados os script´s que possuem informações sobre as interfaces de rede. O padrão de nomenclatura dos arquivos são.: ifcfg-<INTERFACE> Seu conteúdo pode variar mas geralmente são usados os campos.: DEVICE=eth0 IPADDR= NETMASK= NETWORK= ONBOOT=yes

84 Complemento de aula

85 Tipos de comandos Comandos internos
São comandos que estão dentro de um shell interpretador de comandos. Quando o shell é carregado em memória, seus comendos ficam residentes nela. A principal vantagem destes comandos é a velocidade, pois, não precisamos acessar o disco para procurar e executar os mesmos, exemplos.: cd, alias, kill e logout

86 Tipos de comandos Comandos externos
São comandos que estão localizados em diretórios específicos no disco rígido, como /bin e /sbin. O linux precisa consultar o disco rígido sempre que um desses comandos é solicitado. A maioria dos comandos deste sistema operacional são externos. Exemplos.: ls, cp, rm, mv, mkdir e rmdir.

87 Convenções Quando o prompt que preceder o comando for o simbolo $, o comando poderá ser executado por qualquer usuário; #, Somente pelo root [TEXTO] sintaxe opcional <TEXTO> sintaxe obrigatória <nome_tecla>, tecla a ser precionada <nome_tecla> + <nome_tecla2>, precionar simultaneamente.

88 Comandos básicos Login
Cancela a sessão atual e inicia uma nova sessão de usuário Exemplo.: $ login

89 Comandos básicos Logout ou <CTRL> + <D>
Termina a sessão do usuário Exemplo.: $ logout

90 Comandos básicos Exit Encerra o shell de comandos corrente. Exemplo.:

91 Comandos básicos – Ajuda online
Man [opções] [seção] <comando>, para sair digite a tecla <Q> Consulta os manuais on-line do sistema operacional Opção Descrição -a Exibe todas as páginas do manual -h Exibe uma mensagem de ajuda -w Exibe a localização de páginas do manual a exibir Exemplo.: $ man ls

92 Comandos básicos – Ajuda online
info Exibe informações de um comando do sistema Opção Descrição -d <nomedir> Adiciona um diretório à lista de diretórios a ser procurada para arquivos. -f <arqinfo> Especifica o diretório a ser utilizado pelo comando info -h Exibe uma mensagem de ajuda. Exemplo.: $ info ls

93 Comandos básicos – Ajuda online
Whatis <palavra-chave> Consulta manuais on-line do sistema a apartir de um banco de dados. O usuário deve atualizar este banco de dados periodicamente com o comando makewhatis (root), para ajuda, digite makewhatis -? Exemplo.: $ whatis find, para sair tecle <Q>

94 Comandos básicos – Ajuda online
Apropos <palavra-chave> Exibe informações sobre um assunto específico apartir de um banco de dados. Esse comando utiliza o mesmo banco de dados do comando whatis. Exemplo.: $ apropos directory, para sair tecle <Q>

95 Comandos básicos – Navegação
cd [diretório] Muda, entra, no diretório de trabalho escolhido Exemplo.: $ cd /etc

96 Comandos básicos – Navegação
pwd Exibe o diretório corrente Exemplo.: $ pwd

97 Comandos básicos – Navegação
Tree [opções][diretório] Exibe a árvore de diretórios. Por padrão exibe arquivos e diretórios. Opções Descrição -d Exibe somente diretórios -l Segue links simbólicos Exemplo.: $ tree /var/lib

98 Comandos básicos – Navegação
Ls ou dir [opções][diretório] – Atenção.: DIR (exclusivo linux) Exibe o conteúdo dos diretórios Opções Descrição -a Exibe arquivos ocultos -l Exibe a listagem utilizando o formato longo de nomes -i Inclui na exibição o número do iNODE -t Ordena por data de alteração -r Reverte a ordenação (ordem inversa) -R Recursivo

99 Comandos básicos – Navegação
Find [caminho] [opções] <nome_arquivo> Procura arquivos no disco rígido. Opções Descrição -name Localiza arquivos cujos nomes sejam iguais ao especif. -follow Processa diretórios incluídos por meio de links -maxdepth <n> Restringe buscas a n níveis de diretórios. -ctime <n> Combina arquivos modificados exatamente n dias atrás -mtime <n> Combina arquivos não modificados n dias atrás -atime <n> Arquivos não utilizados n dias atrás

100 Comandos básicos – Navegação
Grep (UNIX), fgrep, egrep (LINUX) [opções] <padrão> <arquivos> Procura em um ou mais arquivos por linhas que contenham o padrão. Opções Descrição -F Utiliza expressões sem metacaracteres -E Padrão é uma expressão regular -e <expr> Procura pela expressão regular expr. -n Exibe o número da linha que contém padrão. -c Exibe apenas o número de linhas (quantidade) -f <arquivo> Lê o padrão a partir do arquivo

101 Comandos básicos Strings [opções] <arquivo>
Procura texto em arquivos binários. Opções Descrição -a Procura strings em todo o arquivo e não somente nos segmentos de texto e dados dos arquivos. -f Imprime o nome do arquivo antes de cada string Exemplo.: $strings /usr/games/sdoom | grep DOOM

102 Comandos básicos Whereis [opções] <comando>
Localiza o arquivo binário. O código-fonte e a página do manual para um comando. Opções Descrição -b Localiza apenas arquivos binários -s Apenas código-fonte -m Apenas páginas de manual Exemplo.: $whereis rpm

103 Comandos básicos – Navegação
Which <comando> Procura por um comando em diretórios e na variável de ambiente PATH. Exemplo.: $which clear

104 Comandos básicos – Navegação
Touch [opções]<arquivo> Atualiza a última data de acesso ao arquivo. Caso o arquivo não exista, será criado vazio por padrão. Opções Descrição -c Não cria o arquivo caso ele não exista. -m Atualiza somente a hora da modificação. -a Atualiza somente a data de acesso. Exemplo.: $touch arquivo1.doc

105 Comandos de Manipulação de arquivos
Rm [opções]<arquivos> Remove arquivos. Opções Descrição -f Não exibe mensagens de confirmação para eliminar -i Pede confirmação antes de eliminar. -r Apaga recursivamente -v Exibe o nome de cada arquivo antes de eliminá-lo. Exemplo.: $rm arquivo1.doc

106 Comandos de Manipulação de diretórios
mkdir [opções]<nome_diretório> Cria diretórios. Opções Descrição -p Cria os diretórios pai se ainda não existirem. -m <modo> Cria um diretório com o modo de acesso modo. Vide chmod --verbose Mostra o nome de cada diretório criado. Exemplo.: $mkdir dir1

107 Comandos de Manipulação de diretórios
rmdir [opções]<nome_diretório> Remove diretórios. Opções Descrição -p Remove os diretórios intermediários se vazios. --verbose Mostra o nome de cada diretório removido. Exemplo.: $rmdir dir1

108 Comandos de Manipulação de diretórios
mv [opções] <fonte> <destino> Move ou renomeia arquivos e diretórios. Opções Descrição -b Faz backup de arquivos que estão sendo movidos ou renomeados -f Remove arquivos existentes, sem confirmação -i Pede confirmação antes de mover um arquivo. -v Exibe o nome do arquivo antes de movê-lo. Exemplo.: $mv arq1 arq2

109 Comandos de Manipulação de diretórios
cp [opções] <caminho_origem> <caminho_destino> Copia um ou mais arquivos. Opções Descrição -a Preserva todos os atributos de arquivo. -b Faz backup antes de copiar -d Copia um link, mas não o arquivo apontado por este. -i Pede confirmação antes de sobrescrever arquivos. -l Cria links diretos em vez de copiar arquivos -p preserva propriedade, permis.e time stamp.

110 Comandos de Manipulação de arquivos
Ln [opções] <caminho> <nome_link> Cria links para arquivos e/ou diretórios. Opções Descrição -s Cria link simbólico -d Cria link direto para diretório. -f Força a criação do link -b Faz backup de cada arquivo de destino existente. -i Pede confirmação antes de remover arquivo. Exemplo.: $ln –s /exercicios/temp link

111 Comandos de terminal clear Limpa a tela do terminal virtual corrente.
Exemplo.: $ clear

112 Comandos de terminal Echo [opções] <mensagem>
Envia mensagem para o terminal. Opções Descrição -n Não imprime mudança de linha após a mensagem -e Habilita a interpretação de caracteres de escape na mensagem. Exemplo.: $ echo ´alo pessoal´

113 Comandos de terminal Mesg [opções]
Controla o recebimento de mensagens pelo terminal. Sem argumentos, mostra o estado atual. Opções Descrição Y Ativa o recebimento de mensagens N Desativa o recebimento de mensagens Exemplo.: $ mesg y

114 Comandos de sistema Uname [opções]
Exibe informações sobre o sistema operacional e o hardware Opções Descrição -a Exibe todas as opções -m Exibe o nome da plataforma -n Exibe o nome da máquina -s Exibe o nome do sistema operacional -v Exibe a data de lançamento do sistema operacional -r Exibe a versão do sistema operacional

115 Comandos de paginação Cat [opções] <arquivo>
Utilizado para visualizar o conteúdo dos arquivos. Opções Descrição -A Exibe todos os caracteres especiais -b Numera apenas as linhas não vazias. -n Numera todas as linhas na saída -v Exibe caracteres não passíveis de impressão (controle) -e Exibe final de linha (como $) -t Exibe caracteres de tabulação como ^I

116 Comandos de paginação More [opções] arquivo Exibe arquivos de texto.
Opções Descrição + n Exibe o arquivo começando na linha específica -s Reduz múltiplas linhas em branco a uma única Exemplo.: $ more /etc/mtools.conf

117 Comandos de filtragem Head [opções] <arquivo>
Exibe na saída-padrão uma quantidade de linhas de texto a partir do início do arquivo. Opções Descrição -n Exibe as n primeiras linhas do arquivo -b n Exibe os n primeiros blocos do arquivo -c n Exibe os n primeiros caracteres (bytes) do arquivo Exemplo.: $head -5 /etc/mtools.conf

118 Comandos de filtragem Tail [opções] <arquivo>
Exibe na saída-padrão uma quantidade de linhas de texto a partir do final do arquivo. Opções Descrição -n Exibe as n últimas linhas do arquivo -b <n> Exibe os n últimos blocos do arquivo -c <n> Exibe os n últimos caracteres (bytes) do arquivo -f Deixa em espera pelas últimas linhas. Exemplo.: $tail –f erros.log

119 Comandos de filtragem Wc [opções] <arquivo>
Conta palavras da entrada-padrão ou de um arquivo e apresenta o resultado na saída-padrão. Opções Descrição -l Conta as linhas -w Conta as palavras -c Conta os caracteres Exemplo.: $wc –l /etc/mtools.conf

120 Comandos de filtragem Tr [opções] [str1 [str2]]
Substitui caracteres da entrada-padrão presentes em str1 por seus correspondentes em str2. Opções Descrição -c Efetua a troca de todos s caracteres que não estejam especificados em str1 -d Elimina ocorrências de caracteres de str1 na entrada -s Elimina repetições de caracteres de str2 na saída Exemplo.: $ ls | tr ‘a-z’ ‘A-Z’

121 Comandos de filtragem Sort [opções] <arquivo>
Ordena os dados recebidos da entrada-padrão ou de um arquivo, escrevendo-os na saída-padrão. Opções Descrição -m Intercala dois arquivos já ordenados, escrevendo a intercalação na saída padrão -r Inverte a ordem da classificação, de ascendente para descendente. -t <separador> Utiliza separador como caractere de separação de campos Exemplo.: $ sort teste.txt

122 Comandos de filtragem Cut [opções] <arquivo>
Seleciona trechos de cada linha de texto recebido da entrada-padrão ou de um arquivo, apresentando o resultado na saída-padrão. Opções Descrição -b <bytes> Seleciona bytes -c <caracteres> Seleciona caracteres -f <campos> Seleciona listas de campos, onde estas podem ser números separados por vírgulas ou faixas de números como n1-n2, ou ainda combinações de ambos. -d <c> Especifica o deliminatador c Exemplo.: $ cut –f 1,5 –d: /etc/passwd

123 Comandos de filtragem Paste [opções] <arquivo>
Exibe lado a lado o conteúdo de arquivos. Opções Descrição -s Exibe as linhas de um arquivo em série em vez de uma linha abaixo da outra -d <c> Especifica o delimitador de campos como sendo o caractere c Exemplo.: $ paste –d, arquivo1.txt arquivo2.txt

124 Comandos de filtragem Tee [opções] <arquivo>
Exibe a saída de um programa e a escreve em um arquivo simultaneamente. Opções Descrição -a Concatena o arquivo em vez de sobrescreve-lo -i Ignora interrupções. Exemplo.: $ ftp ftp.suse.com | tee ftp.out

125 Comandos de filtragem Diff [opções] <arquivo1> <arquivo2>
Exibe na tela as diferenças entre dois arquivos-texto (ou todos os arquivos com mesmo nome em dois diretórios). Opções Descrição -a Considera todos os arquivos do tipo texto -b Ignora sequencias de espaços e caracteres de tabulação -d Tenta localizar um conjunto menor de modificações -f Gera saída similar à da opção –e, mas de interpretação mais facil -i Não distingue maisculas e minusculas

126 Comandos de compactação e fracionamento
Tar [opções] <arquivos_ou_diretórios> [arquivo_tar] Armazena ou extrai vários arquivos e diretórios dentro de um único arquivo ou dispositivo. Opções Descrição -c Cria um novo arquivo .tar e adiciona a ele os arquivos especificados -x Retira os arquivos agrupados no arquivo .tar -f Indica que o destino é um arquivo em disco e não uma fita magnética -t Lista o conteúdo do arquivo .tar -v Exibe o nome de cada arquivo proces.

127 Comandos de compactação e fracionamento
Split [opções] <arquivo [prefixo]> Divide um arquivo em partes. Para reunir as partes, utilize o comando cat. Opções Descrição -b n[k|m] Especifica o número de bytes de cada parte. Os modificadores k (kilobytes) e m (megabytes) podem ser utilizados. [prefixo] Especifica o prefixo a ser usado no nome de cada parte do arquivo original (default=x) Exemplo.: $ split –b1400k teste.txt part

128 Comandos de compactação e fracionamento
Compress [opções] <arquivos> Compacta um ou mais arquivos utilizando a compactação Lempel-Ziv. Opções Descrição -c Grava o arquivo compactado na saída-padrão e retém o arquivo original -d Descompacta o arquivo. -r Compacta recursivamente arquivos em todos os subdiretórios -v Exibe uma mensagem conforme cada arquivo é compactado. -V Exibe a versão do comando.

129 Comandos de compactação e fracionamento
UnCompress [opções] <arquivos> Descompacta um ou mais arquivos compactados com compress. Opções Descrição -c Grava o resultado na saída-padrão e retém o original -r Descompacta recursivamente -v Exibe uma mensagem conforme cada arquivo é descompactado. -V Exibe a versão do comando. Exemplo.: $ uncompress documentos.tar.Z

130 Comandos de compactação e fracionamento
Gzip [opções] <arquivos> Compacta um ou mais arquivos. Opções Descrição -c Grava o arquivo compactado e retém o original -d Descompacta arquivo -f Sobrescreve existentes -h Exibe mensagem de ajuda -l Lista o conteúdo de um arquivo compactado. -t Testa a intregridade do arquivo compactado.

131 Comandos de compactação e fracionamento
gunzip [opções] <arquivos> Descompacta arquivos compactados pelos comandos gzip e compress. Utiliza as mesmas opções de gzip. Exemplo.: $ gunzip documentos.tar.gz

132 Dicas Manipulação de arquivos com espaços em nomes
Em alguns momentos, caracteres especiais ou espaços em nomes de arquivos atrapalham rotinas ou acessos aos mesmos. Para tal, observa-se a inclusão de aspas nos acessos aos mesmos como no exemplo abaixo. Exemplo.: $ mkdir “Meus Documentos” $ cd “linux teste”

133 Pacotes Gerenciadores de pacotes (package managers)
As várias distribuições do linux possuem formas diferentes de instalação de pacotes, as distribuições RedHat, Debian e Slackware possuem gerenciadores de pacotes (package managers) para a instalação de programas. A enfase na maioria das vezes se dá em cima do RPM (Red Hat Package Manager) que utiliza estes pacotes .rpm e é o gerenciador de pacotes mais utilizado nas distribuições linux.

134 Pacotes Rpm [opções] <nome_pacote>
Gerenciador de pacotes da Red Hat Opções Descrição -i Instalação simples -v Exibe detalhes da instalação -h Mostra o caractere # como progresso da instalação -U Atualização de programa de uma versão anterior para uma atual. --nodeps Não procura dependências (útil para instalar vários pacotes relacionados, a ordem de instalação dos pacotes não importará).

135 Pacotes Dpkg [opções] <nome_pacote>
Gerenciador de pacotes do Debian (.deb) Opções Descrição -i Instalação simples -r Desinstala o pacote (exceto arq. De configuração) -P Desinstala o pacote (Todos os arquivos) -l Exibe os pacotes que estão instalados. -S Exibe o pacote do qual o arquivo faz parte. -L Exibe os arquivos que fazem parte de um pacote instalado

136 Pacotes Installpkg [opções] <nome_pacote>
Principalmente o slackware faz uso do programa pkgtool para instalar e desinstalar pacotes do sistema. Além dele, existem outros como o installpkg (instalador de pacotes binários do slackware). -warn Somente gera um relatório do que aconteceria se um pacote fosse instalado. -m Faz um pacote do diretório corrente e seus subdiretórios como um pacote com o nome especificado. -r Instala o conteúdo do diretório corrente e seus subdiretórios como um pacote com nome especificado. Exemplos.: $ installpkg tree-1.3-1cl.i386.tgz

137 Pacotes removepkg [opções] <nome_pacote> Removedor de pacotes
Opções Descrição -warn Somente gera um relatório do que aconteceria se um pacote fosse desinstalado. -keep Salva os arquivos temporários criados. Exemplos.: $ removepkg tree-1.3-1cl.i386.tgz

138 Pacotes Instalação customizada
Esta é a forma mais difícil e menos usual de instalar um pacote, pois, esses arquivos são o programa fonte propriamente dito de forma compactada. A primeira ativida consiste na descompactação do pacote.: $ tar –xvzf <nome_arquivo> Após descompactado, entre no diretório e execute o script de configuração, compilação e instalação. $ ./configure $ make $ make install

139 Pacotes Pkgadd [nome pacote] Instalador de pacotes padrão do solaris
Pkgadd solaris-ed-kb22123.pkg

140 Pacotes Apt-get [opções] <comando> [pacote]
Utilitário para manipulação de pacotes. Opção Descrição -d Faz download de pacotes, mas não os instala -f Repara um sistema com dependencias quebradas -h Exibe uma mensagem de ajuda -v Exibe a versão do comando

141 Pacotes Apt-get [opções] <comando> [pacote] CONTINUAÇÃO
Utilitário para manipulação de pacotes. Comando Descrição Update Atualiza banco de dados do apt-get com arquivos Install <pct> Instala um novo pacote Source <pct> Faz o download do pacote rpm fonte para o diretório Remove <pct> Remove um pacote Upgrade Procura por pacotes desatualizados e atualiza Dist-upgrade Semelhante à upgrade, instala novos se necessário Clean Remove arquivos de /var/cache/apt/archives

142 Comandos de edição O Editor vi
O vi é um editor de textos que possui dois modos de interação com o usuário: o modo de comando e o modo edição. Quando iniciado, o vi trabalha em modo comando. O modo edição pode ser acessado teclando-se um dos comandos de tecla como <I> (inserção) e o modo comando teclando-se <esc> e o comando pertinente. Exemplo.: $ vi $ vi arquivo.txt

143 Comandos de edição Vi <arquivo> CONTINUAÇÃO Editor de textos
Comando Ação < : > + < q > Sai do vi sem salvar < : > + < q! > Sai do vi forçadamente sem salvar < : > + < qw > Sai do vi salvando o arquivo corrente < : > + < w > Salva o arquivo corrente < : > + < w arq> Salva o arquivo corrente com o nome arq < : > + < e arq> Abre o arquivo arq < : > + < r arq> Insere o arquivo arq no ponto.

144 Variáveis Variáveis de ambiente Variáveis de ambiente locais
Disponíveis somente para o shell corrente, não sendo acessadas pelos subprocessos. Variáveis de ambiente globais Disponíveis tanto para o shell corrente como para os subprocessos que venham fazer uso delas.

145 Variáveis, atribuição Export <variável_ambiente> [=valor]
Torna global o valor de uma variável de ambiente. Exemplo.: $ EDITOR=/usr/bin/pico $ export EDITOR Ou $ export EDITOR=/usr/bin/pico

146 Variáveis, atribuição set
Verifica lista de variáveis e valores das variáveis carregadas. Exemplo.: $ set

147 Variáveis, atribuição Unset <variável_de_ambiente>
Exclui o valor de uma variável de ambiente. Exemplo.: $ unset EDITOR

148 Variáveis, atribuição printenv
Exibe a lista de variáveis de ambiente. As variáveis de ambiente são tradicionalmente escritas em letras maiúsculas, embora isto não seja obrigatório Exemplo.: $ printenv

149 Variáveis, Valores PATH
Indica os lugares onde o bash deverá procurar programas executáveis. Quando for necessário executar programas que estejam fora do PATH deve-se incluir na frente do nome do executável “. /<programa>” Exemplo.: $ echo $PATH

150 Variáveis, Valores SHELL
Exibe o shell em uso corrente. Para alterar o shell corrente, use o comando chsh. Exemplo.: $ echo $SHELL

151 Shell Chsh [opções] [usuário]
Alterar o shell default que é iniciado no login. Opção Descrição -l Lista os shells disponíveis -s <shell> Especifica o nome do shell executável a ser utilizado (o shell pode ser qualquer programa listado no arquivo /etc/shells, como /bin/bash e /bin/csh Exemplo.: $ chsh -l

152 Variáveis, Valores DISPLAY
Indica qual é o terminal gráfico corrente. Só funciona quando executado sob o X window. Exemplo.: $ echo $DISPLAY

153 Variáveis, Valores PS1 e PS2
São os prompts (níveis 1 e 2) que serão mostrados pelo bash, para lhe requisitar uma linha de comando. Código Descrição \! Exibe o número de histórico do comando corrente. \# O número desse comando. \$ Use $ como prompt para todos os usuários, exceto o usuário root, que tem # como seu prompt. \w Diretório de trabalho corrente. \[ Inicia a sequencia de caracteres não passíveis de impressão

154 Variáveis, Valores PS1 e PS2 CONTINUAÇÃO
São os prompts (níveis 1 e 2) que serão mostrados pelo bash, para lhe requisitar uma linha de comando. Código Descrição \u Exibe o nome do usuário Exemplos.: $ PS1=“Data: \d Tempo.: \t->”

155 Histórico de comandos History [opções] Exibe o histórico de comandos.
Opção Descrição -r Utiliza o arquivo .bash_history como histórico, em vez da lista de histórico de trabalho. -w Reescreve o arquivo .bash_history. Exemplo.: $ history

156 Comandos (sinônimos) Alias [sinonimo=“comando”]
Exibe e define sinônimos de comandos Unix e Linux. Os sinônimos permitem criar novos “comandos” que correspondem a qualquer linha de comando válida do shell Exemplo.: $ alias zera=“clear”

157 Comandos (sinônimos) unalias [sinonimo] Desfaz um sinônimo existente.
Exemplo.: $ unalias zera

158 Shell script Shell Scripts
Podemos escrever programas de shell criando arquivos script contendo séries de comandos de shell. A primeira linha do arquivo script deve começar com #!<caminho_shell>, que indica ao kernel que o arquivo script é executável. Para o shell bash, a primeira linha será da seguinte forma.: #!/bin/bash Outra importante atividade é determinar as permissões para o script.: # chmod u+x <shell_script>

159 Shell script Editor de fluxo SED (Stream Editor)
Efetua operações de procura, substituição, inserção e apagamento em arquivos de texto, sendo muito utilizado em programação shell. [<endereco1>, [<endereço2>]] <função> [argumento] Exemplos.: # sed ‘s/bash/csh/g’ /etc/passwd Substitui a palavra bash por csh no arquivo /etc/passwd # sed ‘3,5d’ arquivo1 Apaga as linhas 3, 4 e 5 do arquivo 1

160 Shell script Linguagem awk
É uma linguagem interpretada e poderosa. Em programação shell é muito utilizada para separar campos. É mais flexível que o comando cut. Exemplo.: # cat /etc/passwd | awk –F : ‘{print $1}’ Imprime a primeira coluna do arquivo /etc/passwd # echo | awk –F . ‘{print $4 “.” $3 “.” $2 “.” $1}’ Imprime o endereço IP ao contrário

161 Shell script Let <expressão>
Realiza aritmética com números inteiros. Exemplos.: $ echo –n “Digite dois números.:” Read A B Let C=0 Let C=A+B Echo $(( C ))

162 Shell script – Estruturas condicionais
if Execução de blocos de comandos condicionais. If <expressão> then [[ comandos ]] Elif <expressão> then Else [[ comandos que serão executados se nenhum acima for verdadeiro ]] fi

163 Shell script – Estruturas condicionais
if Exemplo.: #!/bin/bash Echo –n “digite sua idade:” Read i If [ $i < 20 ] then echo voce é novo (a) Else echo voce é velho (a) fi

164 Shell script – Estruturas condicionais
case Testa o valor com os parâmetros descritos em cada condição, caso nenhum seja atendido executará o contido no parâmetro *. Case <valor> in param1) comando;; param2) *) esac

165 Criação de menus Select CONTINUAÇÂO Criação de menus #!/bin/bash
Select NOME in frank.txt teste.txt outro.txt Do vi $NOME Done Exit

166 Shell script – Loop for Executa um loop enquanto condição não atingir o topo. For <variável> in <valores> Do <comandos> done

167 Shell script – Loop Condicional
While Executa loop enquanto condição verdadeira. #!/bin/bash While [ $# -gt 0 ] Do echo $1 shift Done

168 Cria partições no disco rígido.
Fdisk [opções] [dispositivo] Cria partições no disco rígido. Opção Descrição -l Exibe as partições e sai. -s Exibe o tamanho da partição, não para MS-DOS. Se utilizado o menu do fdisk, devemos especificar o dispositivo.: Exemplo.: fdisk /dev/sda1

169 Editando scripts de inicialização
Mkfs [opções] <dispositivo> Cria um sistema de arquivos em um dispositivo de armazenamento (formata logicamente o dispositivo) Opções Descrição -v Exibe as operações que o comando mkfs executa. -c Verifica a existência de blocos ruins -t <tipo> Determina o tipo, pode ser ext2, ext3, reiserfs ou msdos Exemplo.: mkfs –t ext2 /dev/hdb1

170 Formatando um disquete
Formatando um disquete – fdformat [opções] <disp> <tipo> Efetua formatação de baixo nível em um disco flexivel sem criar um sistema de arquivos. Opções Descrição -n Não faz verificação após formatação tipo H1200 = Drive 5 ¼ 1.2Mb H1440 = Drive 3 ½ 1.44 Mb Exemplo.: fdformat /dev/fd0H1440

171 Verificando espaço em disco
Verificando espaço em disco – df [opções] [dispositivo] Verificar espaço em disco. Opções Descrição -i Mostra os valores em inodes -k Mostra os valores em kilobytes Exemplos.: df /dev/sda1

172 Verificando espaço ocupado
Du [opções] [arquivo ou diretório] Informa o espaço ocupado pelos arquivos ou diretórios. Opções Descrição -a Exibe os dados dos diretórios e arquivos -b Exibe os dados em bytes -m Exibe os dados em megabytes -s Exibe apenas o espaço total ocupado Exemplo.: du /usr

173 Recuperação de FileSystem
Fsck [opções] <dispositivo> Verifica e repara um sistema de arquivos de um dispositivo de armazenamento. Opções Descrição -A Verifica todos os sistemas de arquivos da fstab -C Mostra barra de progresso (so para ext2/ext3) -N Mostra apenas o que seria feito -a Repara automaticamente todos os sistemas de arquivo -r repara interativamente o sistema de arquivos -t <tipo_sist> Especifica o tipo de sistema

174 Criando discos de boot Mkbootdisk [opções] <versão_kernel> (REDHAT) Cria um disquete de inicialização com o LILO. Obrigatoriamente deve-se estar utilizando o LILO para tal. Mkbootdisk -- verbose –device /dev/fd

175 Identificação de hardware
Reconhecimento de hardware No linux e solaris, todo reconhecimento de hardware é feito por softwares especialistas que fazem a interação com sistema operacional para obter as informações necessárias.

176 Identificação de hardware
Pnpdump [opções] > [arquivo] Procura dispositivos plug & play ISA no computador. Opção Descrição -d Exibe o conteúdo de todos os registradores das placas -c Configura as placas plug & play ISA removendo conflito Exemplo.: pnpdump –c > /etc/isapnp.conf

177 Identificação de hardware
isapnp <arquivo> Configura placas plug & play a partir do arquivo gerado pelo comando pnpdump. É chamado pelo arquivo /etc/rc.d/rc.sysinit quando o linux é inicializado. Exemplo.: isapnp /etc/isapnp.conf

178 Identificação de hardware
Lspci [opções] Exibe informações sobre os dispositivos PCI conectados ao computador. Opções Descrição -v Exibe informações detalhadas sobre os dispositivos PCI conectados ao computador. Exemplo.: lspci -v

179 E-MAIL.: Frank.bastos@gmail.com MSN.: frankbastos@hotmail.com
Contato Frank S. F. Bastos .: MSN.: Skype.: frankbastos


Carregar ppt "Instrutor.: Frank S. Fernandes Bastos"

Apresentações semelhantes


Anúncios Google