Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


apostila de linux, Notas de estudo de Engenharia Informática

apostila de linux

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 01/04/2010

danilo-souza-32
danilo-souza-32 🇧🇷

8 documentos

1 / 86

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Sumário
1 O Linux 5
1.1 Algumas Características do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 SoftwareLivre ...................................................... 7
1.3 Estrutura básica de diretórios do Sistema Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Comandos......................................................... 8
1.4.1 Comandos Internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 Comandos Externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Aviso de comando (Prompt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Interpretador de comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Terminal Virtual (console) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8 Coringas.......................................................... 10
2 Relação entre DOS e GNU/Linux 11
2.1 Relacionando dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Comandos equivalentes entre DOS e Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Usando a sintaxe de comandos DOS no Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Formatando disquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Formatando disquetes para serem usados no Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Formatando disquetes compatíveis com o DOS/Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 Programas de Formatação Gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 PontosdeMontagem ............... .................................... 14
2.6 Identificação de discos e partições em sistemas Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Montando (acessando) uma partição de disco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7.1 fstab........................................................ 16
2.8 Desmontando uma partição de disco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Execução de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9.1 Executando um comando/programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.10path ............................................................ 17
2.11 Tipos de Execuçãode comandos/programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.12 Executando programas em seqüência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.13ps ............................................................. 17
2.14top............................................................. 18
2.15 Controle de execução de processos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.15.1 Interrompendo a execução de um processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.15.2 Parando momentaneamente a execução de um processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.15.3 jobs........ ................................................ 19
2.15.4 fg ........................................ ................. 19
2.15.5 bg.................................... ..................... 19
2.15.6 kill ........................ ................................ 19
2.15.7 killall .............................. ......................... 19
2.15.8 killall5 ......................... ............................. 20
2.15.9 Sinais do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.16 Fechando um programa quando não se sabe como sair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.17 Eliminando caracteres estranhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Comandos para manipulação de diretório 22
3.1 ls.............................................................. 22
3.2 cd ............................................................. 23
3.3 pwd ............................................................ 23
3.4 mkdir ........................................................... 24
3.5 rmdir ........................................................... 24
4 Comandos para manipulação de Arquivos 24
4.1 cat............................................................. 24
4.2 rm............................................................. 25
4.3 cp ............................................................. 25
4.4 mv............................................................. 26
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56

Pré-visualização parcial do texto

Baixe apostila de linux e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity!

Sumário

  • 1 O Linux
    • 1.1 Algumas Características do Linux
    • 1.2 Software Livre
    • 1.3 Estrutura básica de diretórios do Sistema Linux
    • 1.4 Comandos
      • 1.4.1 Comandos Internos
      • 1.4.2 Comandos Externos
    • 1.5 Aviso de comando (Prompt)
    • 1.6 Interpretador de comandos
    • 1.7 Terminal Virtual (console)
    • 1.8 Coringas
  • 2 Relação entre DOS e GNU/Linux
    • 2.1 Relacionando dispositivos
    • 2.2 Comandos equivalentes entre DOS e Linux
    • 2.3 Usando a sintaxe de comandos DOS no Linux
    • 2.4 Formatando disquetes
      • 2.4.1 Formatando disquetes para serem usados no Linux
      • 2.4.2 Formatando disquetes compatíveis com o DOS/Windows
      • 2.4.3 Programas de Formatação Gráficos
    • 2.5 Pontos de Montagem
    • 2.6 Identificação de discos e partições em sistemas Linux
    • 2.7 Montando (acessando) uma partição de disco
      • 2.7.1 fstab
    • 2.8 Desmontando uma partição de disco
    • 2.9 Execução de programas
      • 2.9.1 Executando um comando/programa
    • 2.10 path
    • 2.11 Tipos de Execução de comandos/programas
    • 2.12 Executando programas em seqüência
    • 2.13 ps
    • 2.14 top
    • 2.15 Controle de execução de processos
      • 2.15.1 Interrompendo a execução de um processo
      • 2.15.2 Parando momentaneamente a execução de um processo
      • 2.15.3 jobs
      • 2.15.4 fg
      • 2.15.5 bg
      • 2.15.6 kill
      • 2.15.7 killall
      • 2.15.8 killall5
      • 2.15.9 Sinais do Sistema
    • 2.16 Fechando um programa quando não se sabe como sair
    • 2.17 Eliminando caracteres estranhos
  • 3 Comandos para manipulação de diretório
    • 3.1 ls
    • 3.2 cd
    • 3.3 pwd
    • 3.4 mkdir
    • 3.5 rmdir
  • 4 Comandos para manipulação de Arquivos
    • 4.1 cat
    • 4.2 rm
    • 4.3 cp
    • 4.4 mv
  • 5 Comandos Diversos
    • 5.1 clear
    • 5.2 date
    • 5.3 df
    • 5.4 ln
    • 5.5 du
    • 5.6 find
    • 5.7 free
    • 5.8 grep
    • 5.9 head
    • 5.10 more
    • 5.11 less
    • 5.12 sort
    • 5.13 tail
    • 5.14 time
    • 5.15 touch
    • 5.16 uptime
    • 5.17 dmesg
    • 5.18 echo
    • 5.19 su
    • 5.20 uname
    • 5.21 reboot
    • 5.22 shutdown
    • 5.23 wc
  • 6 Comandos de rede
    • 6.1 who
    • 6.2 Telnet
      • 6.2.1 finger
    • 6.3 ftp
    • 6.4 whoami
    • 6.5 dnsdomainname
    • 6.6 hostname
    • 6.7 talk
  • 7 Comandos para manipulação de contas
    • 7.1 adduser
    • 7.2 addgroup
    • 7.3 passwd
    • 7.4 userdel
    • 7.5 groupdel
    • 7.6 Adicionando um novo grupo a um usuário
    • 7.7 id
    • 7.8 users
    • 7.9 groups
  • 8 Permissões de acesso a arquivos e diretórios
    • 8.1 Donos, grupos e outros usuários
    • 8.2 Permissões de Acesso Especiais
    • 8.3 A conta root
    • 8.4 chmod
    • 8.5 chgrp
    • 8.6 chown
    • 8.7 Modo de permissão octal
    • 8.8 umask
  • 9 Redirecionamentos e Pipe
    • 9.1 >
    • 9.2 > >
    • 9.3 <
    • 9.4 | (pipe)
    • 9.5 Diferença entre o "|" e o ">"
    • 9.6 tee
  • 10 Impressão
    • 10.1 Portas de impressora
    • 10.2 Imprimindo diretamente para a porta de impressora
  • 11 Rede
    • 11.1 O que é uma rede
    • 11.2 Protocolo de Rede
    • 11.3 Endereço IP
      • 11.3.1 Classes de Rede IP
      • 11.3.2 Para instalar uma máquina usando o Linux em uma rede existente
      • 11.3.3 Endereços reservados para uso em uma rede Privada
    • 11.4 Interface de rede
      • 11.4.1 A interface loopback
      • 11.4.2 Atribuindo um endereço de rede a uma interface (ifconfig)
    • 11.5 Roteamento
      • 11.5.1 Configurando uma rota no Linux
    • 11.6 Resolvedor de nomes (DNS)
      • 11.6.1 O que é um nome?
      • 11.6.2 Arquivos de configuração usados na resolução de nomes
      • 11.6.3 Executando um servidor de nomes
    • 11.7 Serviços de Rede
      • 11.7.1 Serviços iniciados como Daemons de rede
      • 11.7.2 Serviços iniciados através do inetd
    • 11.8 Segurança da Rede e controle de Acesso
      • 11.8.1 /etc/ftpusers
      • 11.8.2 /etc/securetty
      • 11.8.3 O mecanismo de controle de acessos tcpd
      • 11.8.4 Arquivos de controle de acesso a rede
      • 11.8.5 Firewall
    • 11.9 Outros arquivos de configuração relacionados com a rede
      • 11.9.1 /etc/services
      • 11.9.2 /etc/protocols
  • 12 Kernel e Módulos
    • 12.1 O Kernel
    • 12.2 Módulos
    • 12.3 Como adicionar suporte a Hardwares e outros dispositivos no kernel
    • 12.4 kmod
    • 12.5 lsmod
    • 12.6 insmod
    • 12.7 rmmod
    • 12.8 modprobe
    • 12.9 depmod
    • 12.10modconf
    • 12.11Recompilando o Kernel
    • 12.12Arquivos relacionados com o Kernel e Módulos
      • 12.12.1 /etc/modules
      • 12.12.2 modules.conf
    • 12.13Aplicando Patches no kernel
  • 13 Arquivos e daemons de Log
    • 13.1 Daemons de log do sistema
      • 13.1.1 syslogd
      • 13.1.2 Arquivo de configuração ‘syslog.conf’
      • 13.1.3 klogd
    • 13.2 logger
  • 14 Compactadores
    • 14.1 O que fazem os compactadores/descompactadores?
    • 14.2 Extensões de arquivos compactados
    • 14.3 gzip
    • 14.4 zip
    • 14.5 unzip
    • 14.6 tar
    • 14.7 bzip2
    • 14.8 rar
  • 15 Personalização do Sistema
    • 15.1 Variáveis de Ambientes
    • 15.2 Modificando o Idioma usado em seu sistema
    • 15.3 alias
    • 15.4 Arquivo ‘/etc/profile’
    • 15.5 Arquivo ‘.bash_profile’
    • 15.6 Arquivo ‘.bashrc’
    • 15.7 Arquivo ‘.hushlogin’
    • 15.8 Diretório ‘/etc/skel’
  • 16 Configuração do sistema
    • 16.1 Acentuação
      • 16.1.1 Acentuação em modo Texto
      • 16.1.2 Acentuação em modo gráfico
  • 17 Compilação
    • 17.1 O que é compilação?
    • 17.2 Compilador
  • 18 Manutenção do Sistema
    • 18.1 Checagem dos sistemas de arquivos
      • 18.1.1 fsck.ext2
    • 18.2 fsck.minix
    • 18.3 badblocks
    • 18.4 defrag
    • 18.5 Limpando arquivos de LOGS
    • 18.6 Tarefas automáticas de manutenção do sistema
    • 18.7 cron
      • 18.7.1 O formato de um arquivo crontab
  • 19 X Window (ambiente gráfico)
    • 19.1 O que é X Window?
    • 19.2 A organização do ambiente gráfico X Window
    • 19.3 Iniciando o X
    • 19.4 Servidor X
  • 20 Como obter ajuda no sistema
    • 20.1 Páginas de Manual
    • 20.2 Info Pages
    • 20.3 Help on line
    • 20.4 help
    • 20.5 apropos/whatis
    • 20.6 locate
    • 20.7 which

20.8 Documentos HOWTO’s.................................................. 84 20.9 Documentação de Programas............................................... 85 20.10FAQ............................................................ 85 20.11Listas de discussão.................................................... 85

Resumo Este documento tem por objetivo ser uma referência ao aprendizado do usuário e um guia de consulta, operação e configuração de sistemas Linux (e outros tipos de *ix). A última versão deste guia pode ser encontrada na Página Oficial do Foca GNU/Linux (http://www.metainfo.org/focalinux). Novas versões são lançadas com uma freqüência mensal e você pode receber avisos de lança- mentos preenchendo um formulário na página Web. Nota de Copyright Copyleft (C) 1999-2001 - Gleydson Mazioli da Silva. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License". Uma cópia física ou verbal deste documento pode ser distribuída ou colocada em meios de distribuição eletrônicos (tais como Homepages, servidores FTP, Gopher, disquetes, etc) livremente sem a permissão do autor. Reproduções, distribuições comerciais devem ser feitas com a autorização do autor. A distribuição comercial é encorajada, no entanto o autor deve ser notificado e todas as informações de direitos reservados devem permanecer intactos. A inclusão de partes deste documento em outros trabalhos ou pequenas citações, podem ser feitas desde que contenha um aviso constando o documento de origem.

1 O Linux

O ‘Linux’ é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Op- eracional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como Free Software (software livre) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele está proibido de fazer a comercialização do sistema. Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar em outros computa- dores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código aberto pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema. Para rodar o ‘Linux’ você precisa, no mínimo, de um computador 386 SX com 2 MB de memória e 40MB disponíveis em seu disco rígido para uma instalação básica e funcional. O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o ‘Linux’ você não encontrará muita dificuldade em operar um sistema do tipo ‘UNIX, FreeBSD, HPUX, SunOS,’ etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O código fonte aberto permite que qualquer pessoa veja como o sistema funciona (útil para aprendizado), corrija alguma proble- ma ou faça alguma sugestão sobre sua melhoria, esse é um dos motivos de seu rápido crescimento, do aumento da compatibilidade de periféricos (como novas placas sendo suportadas logo após seu lançamento) e de sua estabilidade. Outro ponto em que ele se destaca é o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos de última geração e mais antigos (a maioria deles já ultrapassados e sendo completamente suportados pelo sistema operacional). Este é um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanços tecnológicos com as máquinas que possui. Hoje o ‘Linux’ é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e também ajuda na coordenação entre os desenvolvedores. O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa comercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e sua mensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoas responsáveis sobre a falha encontrada para devida correção.

1.1 Algumas Características do Linux

É de graça e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o ‘DOS’, ‘Windows’, ‘OS/2’) no mesmo computador.

Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil para situações de manutenção em servidores de redes ou para a emulação de "mais computadores" virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se conecta tem a impressão que a rede possui servidores diferentes. O sistema de arquivos usado pelo ‘GNU/Linux’ (‘Ext2’) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-usuárias exigentes e gravações intensivas. Permite a montagem de um servidor Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o ‘Apache’, é distribuído gratuitamente junto com o Linux. Por ser um sistema operacional de código aberto, você pode ver o que o código fonte (o que foi digitado pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta processando o programa). Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos.

Pode ser executado em 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.).

Consultores técnicos especializados no suporte ao sistema espalhados por todo o mundo.

Entre muitas outras características que você descobrirá durante o uso do sistema.

TODOS OS ÍTENS DESCRITOS ACIMA SÃO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE

SEU FUNCIONAMENTO.

1.2 Software Livre

Softwares Livres são programas que possuem o código fonte incluído (o código fonte é o que o programador digitou para fazer o programa) e você pode modificar ou distribui-los livremente. Existem algumas licenças que permitem isso, a mais comum é a General Public Licence (ou GPL). Os softwares livres muitas vezes são chamados de programas de código aberto (ou OSS). Muito se acredita no compartilhamento do conhecimento e tendo liberdade de cooperar uns com outros, isto é importante para o aprendizado de como as coisas funcionam e novas técnicas de construção. Existe uma longa teoria desde 1950 valorizando isto, muitas vezes pessoas assim são chamadas de "Hackers Éticos". Outros procuram aprender mais sobre o funcionamento do computador e seus dispositivos (periféricos) e muitas pessoas estão procurando por meios de de evitar o preço absurdo de softwares comerciais através de programas livres que possuem qualidade igual ou superior, devido a cooperação em seu desenvolvimento. Você pode modificar o código fonte de um software livre a fim de melhora-lo ou acrescentar mais recursos e o autor do programa pode ser contactado sobre a alteração e os benefícios que sua modificação fez no programa, e esta poderá ser incluída no programa principal. Deste modo, milhares de pessoas que usam o programa se beneficiarão de sua contribuição.

1.3 Estrutura básica de diretórios do Sistema Linux

O sistema ‘GNU/Linux’ possui a seguinte estrutura básica de diretórios:

‘/bin’ Contém arquivos programas do sistema que são usados com freqüência pelos usuários.

‘/boot’ Contém arquivos necessários para a inicialização do sistema.

‘/cdrom’ Ponto de montagem da unidade de CD-ROM.

‘/dev’ Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador.

‘/etc’ Arquivos de configuração de seu computador local.

‘/floppy’ Ponto de montagem de unidade de disquetes

‘/home’ Diretórios contendo os arquivos dos usuários.

‘/lib’ Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel.

‘/lost+found’ Local para a gravação de arquivos/diretórios recuperados pelo utilitário ‘fsck.ext2’. Cada partição possui seu próprio diretório ‘lost+found’.

‘/mnt’ Ponto de montagem temporário.

‘/proc’ Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos.

‘/root’ Diretório do usuário ‘root’.

‘/sbin’ Diretório de programas usados pelo superusuário (root) para administração e controle do funcionamento do sistema.

‘/tmp’ Diretório para armazenamento de arquivos temporários criados por programas.

‘/usr’ Contém maior parte de seus programas. Normalmente acessível somente como leitura.

‘/var’ Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema, e-mails, spool de impressora, cache, etc.

1.4 Comandos

Comandos são ordens que passamos ao sistema operacional para executar uma determinada tarefa. Cada comando tem uma função específica, devemos saber a função de cada comando e escolher o mais adequado para fazer o que desejamos, por exemplo:

‘ls’ - Mostra arquivos de diretórios

‘cd’ - Para mudar de diretório

Este guia tem uma lista de vários comandos organizados por categoria com a explicação sobre o seu funcionamento e as opções aceitas (incluindo alguns exemplos). É sempre usado um espaço depois do comando para separa-lo de uma opção ou parâmetro que será passado para o processamento. Um comando pode receber opções e parâmetros:

Opções

As opções são usadas para controlar como o comando será executado, por exemplo, para fazer uma listagem mostrando o dono, grupo, tamanho dos arquivos você deve digitar ‘ls -l’. Opções podem ser passadas ao comando através de um "-" ou "–":

  • Opção identificada por uma letra. Podem ser usadas mais de uma opção com um único hífen. O comando ‘ls -l -a’ é a mesma coisa de ‘ls -la’
  • Opção identificada por um nome. O comando ‘ls –all’ é equivalente a ‘ls -a’. Pode ser usado tanto "-" como "–", mas há casos em que somente "-" ou "–" esta disponível.

Parâmetros

Um parâmetro identifica o caminho, origem, destino, entrada padrão ou saída padrão que será passada ao comando. Se você digitar: ‘ls /usr/doc/copyright’, ‘/usr/doc/copyright’ será o parâmetro passado ao comando ‘ls’, neste caso queremos que ele liste os arquivos do diretório /usr/doc/copyright. É normal errar o nome de comandos, mas não se preocupe, quando isto acontecer o sistema mostrará a mensagem ‘command not found’ (comando não encontrado) e voltará ao aviso de comando. As mensagens de erro não fazem nenhum mal ao seu sistema, somente dizem que algo deu errado para que você possa corrigir e entender o que aconteceu. No ‘GNU/Linux’, você tem a possibilidade de criar comandos personalizados usando outros comandos mais simples (isto será visto mais adiante). Os comandos se encaixam em duas categorias: Comandos Internos e Comandos Externos. Por exemplo: ‘"ls -la /usr/doc"’, ‘ls’ é o comando, ‘-la’ é a opção passada ao comando, e “/usr/doc” é o diretório passado como parâmetro ao comando ‘ls’.

1.4.1 Comandos Internos

São comandos que estão localizados dentro do interpretador de comandos (normalmente o ‘Bash’) e não no disco. Eles são carrega- dos na memória RAM do computador junto com o interpretador de comandos. Quando executa um comando, o interpretador de comandos verifica primeiro se ele é um Comando Interno caso não seja é verificado se é um Comando Externo. Exemplos de comandos internos são: ‘cd, exit, echo, bg, fg, source, help’

1.4.2 Comandos Externos

São comandos que estão localizados no disco. Os comandos são procurados no disco usando o ‘path’ e executados assim que encontrados.

Um exemplo prático: Se você estiver usando o sistema no Terminal 1 com o nome "joao" e desejar entrar como "root" para instalar algum programa, segure ‘ALT’ enquanto pressiona para abrir o segundo terminal virtual e faça o login como "root". Será aberta uma nova seção para o usuário "root" e você poderá retornar a hora que quiser para o primeiro terminal pressionando ‘ALT’+.

1.8 Coringas

Coringas (ou referência global) é um recurso usado para especificar um ou mais arquivos ou diretórios do sistema de uma só vez. Este é um recurso permite que você faça a filtragem do que será listado, copiado, apagado, etc. São usados 3 tipos de coringas no ‘GNU/Linux’:

"*" - Faz referência a um nome completo/restante de um arquivo/diretório.

"?"- Faz referência a uma letra naquela posição.

‘[padrão]’ - Faz referência a um padrão contido em um arquivo. Padrão pode ser:

‘[a-z][1-0]’ - Faz referência a caracteres de ‘a’ até ‘z’ ou de ‘1’ até ‘10’.

‘[a,z][1,0]’ - Faz a referência aos caracteres ‘a’ e ‘z’ ou ‘1’ e ‘10’ naquela posição.

‘[a-z,1,0]’ - Faz referência aos caracteres de ‘a’ até ‘z’ e ‘1’ e ‘10’ naquela posição.

A procura de caracteres é "Case Sensitive" assim se você deseja que sejam localizados todos os caracteres alfabéticos você deve usar ‘[a-zA-Z]’. Caso a expressão seja seguida de um ‘^’, faz referência a qualquer caracter exceto o da expressão. Por exemplo ‘[^abc]’ faz referência a qualquer caracter exceto ‘a’, ‘b’ e ‘c’. Lembrando que os 3 tipos de coringas ("", "?" e "[]") podem ser usados juntos. Para entender melhor vamos a prática: Vamos dizer que tenha 5 arquivo no diretório ‘/usr/teste’: ‘teste1.txt, teste2.txt, teste3.txt, teste4.new, teste5.new’. Caso deseje listar todos os arquivos do diretório ‘/usr/teste’ você pode usar o coringa "" para especificar todos os arquivos do diretório: ‘cd /usr/teste’ e ‘ls ’ ou ‘ls /usr/teste/’. Não tem muito sentido usar o comando ‘ls’ com "*" porque todos os arquivos serão listados se o ‘ls’ for usado sem nenhum Coringa. Agora para listar todos os arquivos ‘teste1.txt, teste2.txt, teste3.txt’ com excessão de ‘teste4.new’, ‘teste5.new’, podemos usar inicialmente 3 métodos:

  1. Usando o comando ‘ls *.txt’ que pega todos os arquivos que começam com qualquer nome e terminam com ‘.txt’.
  2. Usando o comando ‘ls teste?.txt’, que pega todos os arquivos que começam com o nome ‘teste’, tenham qualquer caracter no lugar do coringa ‘?’ e terminem com ‘.txt’. Com o exemplo acima ‘teste*.txt’ também faria a mesma coisa, mas se também tivéssemos um arquivo chamado ‘teste10.txt’ este também seria listado.
  3. Usando o comando ‘ls teste[1-3].txt’, que pega todos os arquivos que começam com o nome ‘teste’, tenham qualquer caracter entre o número 1-3 no lugar da 6a letra e terminem com ‘.txt’. Neste caso se obtém uma filtragem mais exata, pois o coringa ? especifica qualquer caracter naquela posição e [] especifica números, letras ou intervalo que será usado.

Agora para listar somente ‘teste4.new’ e ‘teste5.new’ podemos usar os seguintes métodos:

  1. ‘ls *.new’ que lista todos os arquivos que terminam com ‘.new’
  2. ‘ls teste?.new’ que lista todos os arquivos que começam com ‘teste’, contenham qualquer caracter na posição do coringa ? e terminem com ‘.new’.
  3. ‘ls teste[4,5].*’ que lista todos os arquivos que começam com ‘teste’ contenham números de 4 e 5 naquela posição e terminem com qualquer extensão.

Existem muitas outras formas de se fazer a mesma coisa, isto depende do gosto de cada um. O que pretendi fazer aqui foi mostrar como especificar mais de um arquivo de uma só vez. O uso de coringas será útil ao copiar arquivos, apagar, mover, renomear, e nas mais diversas partes do sistema. Alias esta é uma característica do ‘GNU/Linux’: permitir que a mesma coisa possa ser feita com liberdade de várias maneiras diferentes.

2 Relação entre DOS e GNU/Linux

2.1 Relacionando dispositivos

Os dispositivos também são identificados e uma forma diferente que no ‘DOS’ por exemplo: DOS/Windows Linux A: /dev/fd B: /dev/fd C: /dev/hda LPT1 /dev/lp LPT2 /dev/lp LPT3 /dev/lp COM1 /dev/ttyS COM2 /dev/ttyS COM3 /dev/ttyS COM4 /dev/ttyS

2.2 Comandos equivalentes entre DOS e Linux

Esta seção contém os comandos equivalentes entre estes dois sistemas e a avaliação entre ambos. Grande parte dos comandos podem ser usados da mesma forma que no ‘DOS’, mas os comandos ‘Linux’ possuem avanços para utilização neste ambiente multiusuário/multitarefa. O objetivo desta seção é permitir as pessoas com experiência em ‘DOS’ fazer rapidamente no ‘GNU/Linux’ as tarefas que fazem no ‘DOS’. A primeira coluna tem o nome do comando no ‘DOS’, a segunda o comando que possui a mesma função no ‘GNU/Linux’ e na terceira coluna as diferenças.

DOS Linux Diferenças cls clear Sem diferenças dir ls -la A listagem no Linux possui mais campos (as permissões de acesso) e o total de espaço ocupado no diretório e livre no disco deve ser visto separadamente usando o comando du e df. Permite também listar o conteúdo de diversos diretórios com um só comando (ls /bin /sbin /...). dir/s ls -lR Sem diferenças. dir/od ls -tr Sem diferenças. cd cd Poucas diferenças. cd sem parâmetros retorna ao diretório de usuário e também permite o uso de "cd -" para retornar ao diretório anteriormente acessado. del rm Poucas diferenças. O rm do Linux permite especificar diversos arquivos que serão apagados (rm arquivo1 arquivo2 arquivo3). Para ser mostra- dos os arquivos apagados, deve-se especificar o parâmetro "-v" ao co- mando, e "-i" para pedir a confirmação ao apagar arquivos. md mkdir Uma só diferença: No Linux permite que vários diretórios sejam criados de uma só vez (mkdir /tmp/a /tmp/b...). copy cp Poucas diferenças. Para ser mostrados os arquivos enquanto estão sendo copiados, deve-se usar a opção "-v", e para que ele pergunte se deseja substituir um arquivo já existente, deve-se usar a opção "-i". echo echo Sem diferenças. path path No Linux deve ser usado ":" para separar os diretórios e usar o co- mando "export PATH=caminho1:/caminho2:/caminho3:" para definir a variável de ambiente PATH. O path atual pode ser visualizado através do comando "echo $PATH". ren mv Poucas diferenças. No Linux não é possível renomear vários arquivos de uma só vez (como "ren *.txt *.bak"). É necessário usar um shell script para fazer isto. type cat Sem diferenças. ver uname -a Poucas diferenças (o uname tem algumas opções a mais). date date No Linux mostra/modifica a Data e Hora do sistema. time date No Linux mostra/modifica a Data e Hora do sistema. attrib chmod O chmod possui mais opções por tratar as permissões de acesso de leitu- ra, gravação e execução para donos, grupos e outros usuários. scandisk e2fsck O fsck é mais rápido e extensivo na checagem. doskey —– A edição de teclas é feita automaticamente pelo bash.

‘mmd’ - Cria diretórios

‘mmount’ - Monta discos DOS

‘mmove’ - Move ou renomeia arquivos/subdiretórios

‘mpartition’ - Particiona um disco para ser usado no DOS

‘mrd’ - Remove um diretório

‘mren’ - Renomeia arquivos

‘mtype’ - Visualiza o conteúdo de arquivos (equivalente ao cat)

‘mtoolstest’ - Exibe a configuração atual do ‘mtools’

‘mshowfat’ - Mostra a FAT da unidade

‘mbadblocks’ - Procura por setores defeituosos na unidade

‘mzip’ - Altera modo de proteção e ejeta discos em unidades Jaz/ZIP

‘mkmanifest’ - Cria um shell script para restaurar nomes extensos usados no UNIX

‘mcheck’ - Verifica arquivos na unidade

2.4 Formatando disquetes

As subseções seguintes explicarão maneiras de formatar seus disquetes para serem usados no ‘GNU/Linux’ e ‘DOS/Windows’.

2.4.1 Formatando disquetes para serem usados no Linux

Para formatar disquetes para serem usados no ‘GNU/Linux’ use o comando:

‘mkfs.ext2 [ -c ] [ /dev/fd0 ]’

Em alguns sistemas você deve usar ‘mke2fs’ no lugar de ‘mkfs.ext2’. A opção ‘-c’ faz com que o ‘mkfs.ext2’ procure por blocos danificados no disquete e ‘/dev/fd0’ especifica a primeira unidade de disquetes para ser formatada (equivalente a ‘A:’ no DOS). Mude para ‘/dev/fd1’ para formatar um disquete da segunda unidade. OBS: Este comando cria um sistema de arquivos ext2 no disquete que é nativo do ‘GNU/Linux’ e permite usar características como permissões de acesso e outras. Isto também faz com que o disquete NÃO possa ser lido pelo ‘DOS/Windows’. Para formatar um disquete no ‘GNU/Linux’ usando o FAT12 (compatível com o DOS/Windows) veja próxima seção. Exemplo: ‘mkfs.ext2 -c /dev/fd0’

2.4.2 Formatando disquetes compatíveis com o DOS/Windows

A formatação de disquetes ‘DOS’ no ‘GNU/Linux’ é feita usando o comando ‘superformat’ que é geralmente incluído no pacote ‘mtools’. O ‘superformat’ formata (cria um sistema de arquivos) um disquete para ser usado no ‘DOS’ e também possui opções avançadas para a manipulação da unidade, formatação de intervalos de cilindros específicos, formatação de discos em alta capacidade e verificação do disquete. ‘superformat [ opções ] [ dispositivo ]’

dispositivo Unidade de disquete que será formatada. Normalmente ‘/dev/fd0’ ou ‘/dev/fd1’ especificando respectivamente a primeira e segunda unidade de disquetes.

opções

-v [num] Especifica o nível de detalhes que serão exibidos durante a formatação do disquete. O nível 1 especifica um ponto mostrado na tela para cada trilha formatada. Veja a página de manual do ‘superformat’ para detalhes.

-superverify Verifica primeiro se a trilha pode ser lida antes de formata-la. Este é o padrão.

–dosverify, -B Verifica o disquete usando o utilitário ‘mbadblocks’. Usando esta opção, as trilhas defeituosas encontradas serão automaticamente marcadas para não serem utilizadas.

–verify_later, -V Verifica todo o disquete no final da formatação.

–noverify, -f Não faz verificação de leitura.

Na primeira vez que o ‘superformat’ é executado, ele verifica a velocidade de rotação da unidade e a comunicação com a placa controladora, pois os discos de alta densidade são sensíveis a rotação da unidade. Após o teste inicial ele recomendará adicionar uma linha no arquivo ‘/etc/driveprm’ como forma de evitar que este teste seja sempre executado. OBS : Esta linha é calculada de acordo com a rotação de usa unidade de disquetes, transferência de dados e comunicação com a placa controladora de disquete. Desta forma ela varia de computador para computador Note que não é necessário montar a unidade de disquetes para formata-la. Segue abaixo exemplos de como formatar seus disquetes com o ‘superformat’: ‘superformat /dev/fd0’ - Formata o disquete na primeira unidade de disquetes usando os valores padrões.

‘superformat /dev/fd0 dd’ - Faz a mesma coisa que o acima, mas assume que o disquete é de Dupla Densidade (720Kb).

‘superformat -v 1 /dev/fd0’ - Faz a formatação da primeira unidade de disquetes (‘/dev/fd0’) e especifica o nível de detalhes para 1, exibindo um ‘ponto’ após cada trilha formatada.

2.4.3 Programas de Formatação Gráficos

Além de programas de formatação em modo texto, existem outros para ambiente gráfico (X11) que permitem fazer a mesma tarefa. Entre os diversos programas destaco o ‘gfloppy’ que além de permitir selecionar se o disquete será formatado para o ‘GNU/Linux’ (ext2) ou ‘DOS’ (FAT12), permite selecionar a capacidade da unidade de disquetes e formatação rápida do disco.

2.5 Pontos de Montagem

O ‘GNU/Linux’ acessa as partições existente em seus discos rígidos e disquetes através de diretórios. Os diretórios que são usados para acessar (montar) partições são chamados de Pontos de Montagem. Para detalhes sobre montagem de partições, veja Seção 4.5, ‘Montando (acessando) uma partição de disco’. No ‘DOS’ cada letra de unidade (C:, D:, E:) identifica uma partição de disco, no ‘GNU/Linux’ os pontos de montagem fazem parte da grande estrutura do sistema de arquivos raiz.

2.6 Identificação de discos e partições em sistemas Linux

No ‘GNU/Linux’, os dispositivos existentes em seu computador (como discos rígidos, disquetes, tela, portas de impressora, modem, etc) são identificados por um arquivo referente a este dispositivo no diretório ‘/dev’. A identificação de discos rígidos no ‘GNU/Linux’ é feita da seguinte forma:

/dev/hda | | || | | ||_Número que identifica o número da partição no disco rígido. | | | | | |_Letra que identifica o disco rígido (a=primeiro, b=segundo, etc...). | | | |_Sigla que identifica o tipo do disco rígido (hd=ide, sd=SCSI, xd=XT). | |_Diretório onde são armazenados os dispositivos existentes no sistema.

Abaixo algumas identificações de discos e partições em sistemas Linux:

/dev/fd0 - ‘Primeira unidade de disquetes’.

/dev/fd1 - ‘Segunda unidade de disquetes’.

/dev/hda - ‘Primeiro disco rígido na primeira controladora IDE do micro (primary master)’.

/dev/hda1 - ‘Primeira partição do primeiro disco rígido IDE’.

/dev/hdb - ‘Segundo disco rígido na primeira controladora IDE do micro (primary slave)’.

/dev/hdb1 - ‘Primeira partição do segundo disco rígido IDE’.

/dev/sda - ‘Primeiro disco rígido na primeira controladora SCSI’.

2.7.1 fstab

O arquivo ‘/etc/fstab’ permite que as partições do sistema sejam montadas facilmente especificando somente o dispositivo ou o ponto de montagem. Este arquivo contém parâmetros sobre as partições que são lidos pelo comando ‘mount’. Cada linha deste arquivo contém a partição que desejamos montar, o ponto de montagem, o sistema de arquivos usado pela partição e outras opções. ‘fstab’ tem a seguinte forma: Sistema de arquivos Ponto de Montagem Tipo Opções Dump ordem /dev/hda1 / ext2 defaults 0 1 /dev/hda2 /boot ext2 defaults 0 2 /dev/hda3 /dos msdos defaults,noauto,rw 0 0 /dev/hdg /cdrom iso9660 defaults,noauto 0 0 Onde:

Sistema de Arquivos Partição que deseja montar.

Ponto de montagem Diretório do ‘GNU/Linux’ onde a partição montada será acessada.

Tipo Tipo de sistema de arquivos usado na partição que será montada. Para partições ‘GNU/Linux’ use ext2, para partições ‘DOS’ (sem nomes extensos de arquivos) use msdos, para partições ‘Win 95’ (com suporte a nomes extensos de arquivos) use vfat, para unidades de CD-ROM use iso.

Opções Especifica as opções usadas com o sistema de arquivos: ‘defaults’ - Utiliza valores padrões de montagem.

‘noauto’ - Não monta os sistemas de arquivos durante a inicialização (útil para CD-ROMS e disquetes).

‘ro’ - Monta como somente leitura.

‘user’ - Permite que usuários montem o sistema de arquivos (não recomendado por motivos de segurança).

‘sync’ é recomendado para uso com discos removíveis (disquetes, zip drives, etc) para que os dados sejam gravados ime- diatamente na unidade (caso não seja usada, você deve usar o comando Seção 8.22, ‘sync’ antes de retirar o disquete da unidade.

Ordem Define a ordem que os sistemas de arquivos serão verificados na inicialização do sistema. Se usar 0, o sistema de arquivos não é verificado. O sistema de arquivos raíz que deverá ser verificado primeiro é o raíz "/". Após configurar o ‘/etc/fstab’, basta digitar o comando ‘mount /dev/hdg’ ou ‘mount /cdrom’ para que a unidade de CD-ROM seja montada. Você deve ter notado que não é necessário especificar o sistema de arquivos da partição pois o ‘mount’ verificará se ele já existe no ‘/etc/fstab’ e caso existir, usará as opções especificadas neste arquivo. Para maiores detalhes veja as páginas de manual ‘fstab’ e ‘mount’.

2.8 Desmontando uma partição de disco

Para desmontar um sistema de arquivos montado com o comando ‘mount’, use o comando ‘umount’. Você deve ter permissões de root para desmontar uma partição.

‘umount [ dispositivo / ponto de montagem ]’

Você pode tanto usar ‘umount /dev/hda1’ como ‘umount /mnt’ para desmontar um sistema de arquivos ‘/dev/hda1’ montado em ‘/mnt’. Observação: O comando ‘umount’ executa o ‘sync’ automaticamente no momento da desmontagem para garantir que todos os dados ainda não gravados serão salvos.

2.9 Execução de programas

Este capítulo explica como executar programas no ‘GNU/Linux’ e o uso das ferramentas de controle de execução dos programas.

2.9.1 Executando um comando/programa

Para executar um comando, é necessário que ele tenha permissões de execução (veja Seção 11.2, ‘Tipos de Permissões de acesso’ e Seção 6.1, ‘ls’) e que esteja no caminho de procura de arquivos (veja Seção 5.2, ‘path’). No aviso de comando # (root) ou $ (usuário), digite o nome do comando e tecle Enter. O programa/comando é executado e receberá um número de identificação (chamado de PID - Process Identification), este número é útil para identificar o processo no sistema e assim ter um controle sobre sua execução (será visto mais adiante neste capítulo). Todo o programa executado no ‘GNU/Linux’ roda sob o controle das permissões de acesso. Recomendo ver mais tarde o Capítulo 11, ‘Permissões de acesso a arquivos e diretórios’. Exemplos de comandos: ‘ls’, ‘df’, ‘pwd’.

2.10 path

Path é o caminho de procura dos arquivos/comandos executáveis. O path (caminho) é armazenado na variável de ambiente ‘PATH’. Você pode ver o conteúdo desta variável com o comando ‘echo $PATH’. Por exemplo, o caminho ‘/usr/local/bin:/usr/bin:/bin:/usr/bin/X11’ significa que se você digitar o comando ‘ls’, o interpretador de comandos iniciará a procura do programa ‘ls’ no diretório ‘/usr/local/bin’, caso não encontre o arquivo no diretório ‘/usr/local/bin’ ele inicia a procura em ‘/usr/bin’, até que encontre o arquivo procurado. Caso o interpretador de comandos chegue até o último diretório do path e não encontre o arquivo/comando digitado, é mostrada a seguinte mensagem: ‘bash: ls: command not found’ (comando não encontrado). O caminho de diretórios vem configurado na instalação do Linux, mas pode ser alterado no arquivo ‘/etc/profile’. Caso deseje alterar o caminho para todos os usuários, este arquivo é o melhor lugar, pois ele é lido por todos os usuários no momento do login. Caso um arquivo/comando não esteja localizado em nenhum dos diretórios do path, você deve executa-lo usando um ‘./’ na frente do comando. Se deseja alterar o ‘path’ para um único usuário, modifique o arquivo ‘.bash_profile’ em seu diretório de usuário (home). OBSERVAÇÃO: Por motivos de segurança, não inclua o diretório atual ‘$PWD’ no ‘path’.

2.11 Tipos de Execução de comandos/programas

Um programa pode ser executado de duas formas:

  1. ‘Primeiro Plano’ - Também chamado de foreground. Quando você deve esperar o término da execução de um programa para executar um novo comando. Somente é mostrado o aviso de comando após o término de execução do comando/programa.
  2. ‘Segundo Plano’ - Também chamado de background. Quando você não precisa esperar o término da execução de um programa para executar um novo comando. Após iniciar um programa em background , é mostrado um número PID (identificação do Processo) e o aviso de comando é novamente mostrado, permitindo o uso normal do sistema.

O programa executado em background continua sendo executado internamente. Após ser concluído, o sistema retorna uma men- sagem de pronto acompanhado do número PID do processo que terminou. Para iniciar um programa em ‘primeiro plano’, basta digitar seu nome normalmente. Para iniciar um programa em ‘segundo plano’, acrescente o caracter ‘"&"’ após o final do comando. OBS: Mesmo que um usuário execute um programa em segundo plano e saia do sistema, o programa continuará sendo executado até que seja concluído ou finalizado pelo usuário que iniciou a execução (ou pelo usuário root). Exemplo: ‘find / -name boot.b &’ O comando será executado em segundo plano e deixará o sistema livre para outras tarefas. Após o comando ‘find’ terminar, será mostrada uma mensagem.

2.12 Executando programas em seqüência

Os comandos podem ser executados em seqüência (um após o término do outro) se os separarmos com ";". Por exemplo: ‘echo primeiro;echo segundo;echo terceiro’

2.13 ps

Algumas vezes é útil ver quais processos estão sendo executados no computador. O comando ‘ps’ faz isto, e também nos mostra qual usuário executou o programa, hora que o processo foi iniciado, etc. ‘ps [ opções ]’ Onde: opções

2.15.2 Parando momentaneamente a execução de um processo

Para parar a execução de um processo rodando em primeiro plano, basta pressionar as teclas ‘CTRL’+‘Z’. O programa em execução será pausado e será mostrado o número de seu job e o aviso de comando. Para retornar a execução de um comando pausado, use ‘fg’ ou , ‘bg’. O programa permanece na memória no ponto de processamento em que parou quando ele é interrompido. Você pode usar outros comandos ou rodar outros programas enquanto o programa atual está interrompido.

2.15.3 jobs

O comando ‘jobs’ mostra os processos que estão parados ou rodando em segundo plano. Processos em segundo plano são iniciados usando o símbolo ‘"&"’ no final da linha de comando ou através do comando ‘bg’. ‘jobs’ O número de identificação de cada processo parado ou em segundo plano (job), é usado com os comandos, ‘fg’ e , ‘bg’.

2.15.4 fg

Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Você deve usar o comando ‘jobs’ para pegar o número do processo rodando em segundo plano ou interrompida, este número será passado ao comando ‘fg’ para ativa-lo em primeiro plano.

‘fg [ número ]’

Onde número é o número obtido através do comando ‘jobs’. Caso seja usado sem parâmetros, o ‘fg’ utilizará o último programa interrompido (o maior número obtido com o comando ‘jobs’). Exemplo: ‘fg 1’.

2.15.5 bg

Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Para fazer um programa em primeiro plano rodar em segundo, é necessário primeiro interromper a execução do comando com ‘CTRL’+ ‘Z’, será mostrado o número da tarefa interrompida, use este número com o comando ‘bg’ para iniciar a execução do comando em segundo plano. ‘bg [ número ]’ Onde: número número do programa obtido com o pressionamento das teclas ‘CTRL’+‘Z’ ou através do comando ‘jobs’.

2.15.6 kill

Permite enviar um sinal a um comando/programa. Caso seja usado sem parâmetros, o ‘kill’ enviará um sinal de término ao processo sendo executado. ‘kill [ opções ] [ sinal ] [ número ]’ Onde:

número É o número de identificação do processo obtido com o comando, ‘ps’

sinal Sinal que será enviado ao processo. Se omitido usa ‘-15’ como padrão.

opções

-9 Envia um sinal de destruição ao processo ou programa. Ele é terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporários criados por ele.

Você precisa ser o dono do processo ou o usuário root para termina-lo ou destruí-lo. Você pode verificar se o processo foi finalizado através do comando ‘ps’. Exemplo: ‘kill 500’, ‘kill -9 500’.

2.15.7 killall

Permite finalizar processos através do nome.

‘killall [ opções ] [ sinal ] [ processo ]’

Onde:

processo Nome do processo que deseja finalizar

sinal Sinal que será enviado ao processo (pode ser obtido usando a opção ‘-i’).

opções

-i Pede confirmação sobre a finalização do processo.

-l Lista o nome de todos os sinais conhecidos.

-q Ignora a existência do processo.

-v Retorna se o sinal foi enviado com sucesso ao processo.

-w Finaliza a execução do ‘killall’ somente após finalizar todos os processos.

Exemplo: ‘killall -HUP inetd’

2.15.8 killall

Envia um sinal de finalização para todos os processos sendo executados.

‘killall5 [ sinal ]’

2.15.9 Sinais do Sistema

Retirado da página de manual ‘signal’. O ‘GNU/Linux’ suporta os sinais listados abaixo. Alguns números de sinais são dependentes de arquitetura. Primeiro, os sinais descritos no POSIX 1 : Sinal Valor Ação Comentário HUP 1 A Travamento detectado no terminal de controle ou finalização do processo controlado INT 2 A Interrupção através do teclado QUIT 3 C Sair através do teclado ILL 4 C Instrução Ilegal ABRT 6 C Sinal de abortar enviado pela função abort FPE 8 C Exceção de ponto Flutuante KILL 9 AEF Sinal de destruição do processo SEGV 11 C Referência Inválida de memória PIPE 13 A Pipe Quebrado: escreveu para o pipe sem leitores ALRM 14 A Sinal do Temporizador da chamada do sistema alarm TERM 15 A Sinal de Término USR1 30,10,16 A Sinal definido pelo usuário 1 USR2 31,12,17 A Sinal definido pelo usuário 2 CHLD 20,17,18 B Processo filho parado ou terminado CONT 19,18,25 Continuar a execução, se interrompido STOP 17,19,23 DEF Interromper processo TSTP 18,20,24 D Interromper digitação no terminal TTIN 21,21,26 D Entrada do terminal para o processo em segundo plano TTOU 22,22,27 D Saída do terminal para o processo em segundo plano As letras da coluna ‘Ação’ tem o seguinte significado:

  • ‘A’ - A ação padrão é terminar o processo.
  • ‘B’ - A ação padrão é ignorar o sinal.
  • ‘C’ - A ação padrão é terminar o processo e mostrar o core.
  • ‘D’ - A ação padrão é parar o processo.
  • ‘E’ - O sinal não pode ser pego.
  • ‘F’ - O sinal não pode ser ignorado. Sinais não descritos no POSIX 1 mas descritos na SUSv2 :