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

Introdução ao Linux: Sistema Operacional Multitarefa e Livre, Notas de estudo de Informática

Uma visão geral do linux, um sistema operacional multiusuário, multitarefa e multiprocessado, baseado no unix, de código aberto e de distribuição livre. O texto aborda as principais características do linux, sua história e comparação com o ms-dos em termos de comandos. Além disso, são apresentadas algumas distribuições linux populares e comandos essenciais.

Tipologia: Notas de estudo

2013

Compartilhado em 23/04/2013

luis-fabiano-7
luis-fabiano-7 🇧🇷

2 documentos

1 / 11

Toggle sidebar

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

Não perca as partes importantes!

bg1
1 Sistema Operacional GNU/Linux1
De maneira simples pode-se dizer que o Linux é um sistema operacional
multiusuário, multitarefa e multiprocessado, de livre distribuição, baseado no sistema
operacional UNIX - o nome Linux vem do nome de seu criador, o finlandês Linus
Torvalds. Ser multiusuário significa que várias pessoas podem utilizar o mesmo
computador ao mesmo tempo, através de conexões remotas ou de terminais.
O termo multitarefa significa que o Linux é capaz de executar diversos
programas ou serviços ao mesmo tempo. Já o termo multiprocessado se refere ao
fato de que ele pode ser instalado em máquinas com mais de um processador e é
capaz de utilizar inteligentemente esses vários processadores, obtendo o melhor
desempenho possível.
E o mais importante, é de livre distribuição, o que significa que o Linux pode ser
copiado e distribuído sem que se tenha que comprar licenças ou pagar por isso. O
código-fonte do sistema está ao alcance de quem quiser vê-los e modificá-los.
O termo Linux representa apenas o kernel do sistema. Muitos dos aplicativos
que acompanham o kernel, como compiladores e editores de texto, foram criados pela
GNU, por isso, é comum se referir ao sistema como GNU/Linux.
Embora o kernel seja uma parte importante do Linux, ele sozinho não constitui o
sistema GNU/Linux. O kernel é o “núcleo” do sistema e é responsável pelas funções
de mais baixo nível, como o gerenciamento de memória, gerenciamento de processos
e da CPU. O kernel também é o responsável pelo suporte aos sistemas de arquivos,
dispositivos e periféricos conectados ao computador, como placas SCSI, placas de
rede, de som, portas seriais, e outros.
1.0 Histórico
No ano de 1991 um dos estudantes da Universidade de Helsinki na Finlândia
chamado Linus Benedict Torvalds, na época com 21 anos, queria rodar o UNIX em
casa, mas pelo alto custo do hardware e das versões comerciais do UNIX, ele
resolveu escrever o seu próprio sistema operacional UNIX para rodar em um PC, o
Linux (junção do próprio nome do Linus com UNIX).
Após escrever o primeiro kernel (núcleo do sistema operacional) com base no
Minix2, ele percebeu que ele não conseguiria fazer tudo sozinho. Então para resolver o
problema, utilizou a Internet para publicar suas intenções juntamente com o código-
fonte do LINUX, convocando todos aqueles que se interessassem para juntar-se a ele.
mensagem enviada por Linus em 5 de outubro de 1991 para o grupo
comp.os.minix:
Você suspira pelos melhores dias do Minix-1.1, quando homens eram
homens e escreviam seus próprios drivers de dispositivos? Você está sem um
bom projeto e esta morrendo por colocar as mãos em um S.O. que possa ser
modificado de acordo com suas necessidades? Você está achando frustrante
quando tudo funciona no Minix? Não está atravessando noites para deixar
programas interessantes funcionando? Então esta mensagem pode ser
exatamente para você.
Como eu mencionei, há um mês atrás, estou trabalhando em uma versão
independente de um S.O. similar ao Minix para computadores AT-386. Ele
1 Trecho extraído da apostila Oficina II: Linux em Rede. Autores: A. Ferrasa, D. C. Foltran Jr, M. Severich 2004.
2 Minix: um pequeno sistema operacional UNIX desenvolvido por Andrew S. Tanenbaum,
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Introdução ao Linux: Sistema Operacional Multitarefa e Livre e outras Notas de estudo em PDF para Informática, somente na Docsity!

1 Sistema Operacional GNU/Linux^1

De maneira simples pode-se dizer que o Linux é um sistema operacional

multiusuário, multitarefa e multiprocessado, de livre distribuição, baseado no sistema

operacional UNIX - o nome Linux vem do nome de seu criador, o finlandês Linus

Torvalds. Ser multiusuário significa que várias pessoas podem utilizar o mesmo

computador ao mesmo tempo, através de conexões remotas ou de terminais.

O termo multitarefa significa que o Linux é capaz de executar diversos

programas ou serviços ao mesmo tempo. Já o termo multiprocessado se refere ao

fato de que ele pode ser instalado em máquinas com mais de um processador e é

capaz de utilizar inteligentemente esses vários processadores, obtendo o melhor

desempenho possível.

E o mais importante, é de livre distribuição, o que significa que o Linux pode ser

copiado e distribuído sem que se tenha que comprar licenças ou pagar por isso. O

código-fonte do sistema está ao alcance de quem quiser vê-los e modificá-los.

O termo Linux representa apenas o kernel do sistema. Muitos dos aplicativos

que acompanham o kernel , como compiladores e editores de texto, foram criados pela

GNU, por isso, é comum se referir ao sistema como GNU/Linux.

Embora o kernel seja uma parte importante do Linux, ele sozinho não constitui o

sistema GNU/Linux. O kernel é o “núcleo” do sistema e é responsável pelas funções

de mais baixo nível, como o gerenciamento de memória, gerenciamento de processos

e da CPU. O kernel também é o responsável pelo suporte aos sistemas de arquivos,

dispositivos e periféricos conectados ao computador, como placas SCSI, placas de

rede, de som, portas seriais, e outros.

1.0 Histórico

No ano de 1991 um dos estudantes da Universidade de Helsinki na Finlândia

chamado Linus Benedict Torvalds, na época com 21 anos, queria rodar o UNIX em

casa, mas pelo alto custo do hardware e das versões comerciais do UNIX, ele

resolveu escrever o seu próprio sistema operacional UNIX para rodar em um PC, o

Linux (junção do próprio nome do Linus com UNIX).

Após escrever o primeiro kernel (núcleo do sistema operacional) com base no

Minix

2

, ele percebeu que ele não conseguiria fazer tudo sozinho. Então para resolver o

problema, utilizou a Internet para publicar suas intenções juntamente com o código-

fonte do LINUX, convocando todos aqueles que se interessassem para juntar-se a ele.

mensagem enviada por Linus em 5 de outubro de 1991 para o grupo

comp.os.minix:

Você suspira pelos melhores dias do Minix-1.1, quando homens eram

homens e escreviam seus próprios drivers de dispositivos? Você está sem um

bom projeto e esta morrendo por colocar as mãos em um S.O. que possa ser

modificado de acordo com suas necessidades? Você está achando frustrante

quando tudo funciona no Minix? Não está atravessando noites para deixar

programas interessantes funcionando? Então esta mensagem pode ser

exatamente para você.

Como eu mencionei, há um mês atrás, estou trabalhando em uma versão

independente de um S.O. similar ao Minix para computadores AT-386. Ele

(^1) Trecho extraído da apostila Oficina II: Linux em Rede. Autores: A. Ferrasa, D. C. Foltran Jr, M. Severich – 2004. (^2) Minix: um pequeno sistema operacional UNIX desenvolvido por Andrew S. Tanenbaum,

finalmente chegou em um estágio em que pode ser utilizado (embora possa

não ser o que você esteja esperando), e eu estou disposto a colocar os fontes

para ampla distribuição. Ele está na versão 0.02... contudo eu tive sucesso

rodando bash, gcc, gnu-make, gnu-sed, compress, etc. nele.

Com esta mensagem Linus Torvalds anunciou a primeira versão oficial do Linux,

versão 0.02. Desde então muitos programadores têm respondido ao seu chamado, e

têm contribuído não somente ajudando com as novas versões do kernel, mas também

com programas das mais diversas áreas, todos de livre distribuição ( free software ).

Apesar das contribuições de vários programadores ao redor do mundo, as novas

versões estáveis do kernel são somente liberadas pelo próprio Linus após sua revisão.

1.0 Distribuições

Uma distribuição Linux é o conjunto dos vários programas que compõem o

Linux, o kernel e, com freqüência, um sistema gerenciador de programas e um

instalador. As distribuições Linux podem ser tão pequenas a ponto de caber em

apenas alguns disquetes ou grandes e completas a ponto de utilizar vários CDs.

1.0.0 Conectiva

É a distribuição brasileira de maior destaque e com certeza a distribuição

brasileira mais usada. Até mesmo em outros países da América Latina essa

distribuição tem seu destaque. Existem escolas que são credenciadas a darem cursos

e certificados reconhecidos pela Conectiva SA. Toda sua documentação está em

Português.

1.0.0 Debian

É uma das únicas distribuições que não é mantida por uma empresa. O Debian é

todo desenvolvido por voluntários e estudantes de uma universidade. Foi inovador

criando uma ferramenta chamada apt-get que atualiza o sistema resolvendo todas

as dependências de pacotes. Esta ferramenta está presente, inclusive, na distribuição

brasileira Conectiva.

1.0.0 Gentoo

O grupo brasileiro (GentooBR http://www.gentoobr.org/) de usuários desta

distribuição descreve o Gentoo Linux como: “uma meta-distribuição Linux com um

grande enfoque na otimização e flexibilidade”. Neste caso, a palavra “enfoque“ se

refere à automatização dos processos envolvidos em otimização e flexibilidade.

Por exemplo, a otimização é obtida através da compilação do código-fonte do

software. Como esta pode não ser uma tarefa intuitiva para o usuário iniciante, o

Gentoo Linux compila automaticamente o software usando opções (que podem ser

modificadas) voltadas para a sua arquitetura/preferência.

A “flexibilidade” é obtida através de uma ferramenta de gerenciamento de

software eficiente, bem como a disponibilidade de um conjunto abrangente de

softwares.

1.0.0 Mandrake

Mandrake é a distribuição preferida e a mais indicada para quem está iniciando

em Linux. A empresa francesa MandrakeSoft aposta num sistema com muitas

ferramentas que vão auxiliar quem está iniciando em Linux.

Comando

no MS-DOS

Similar

no Linux

Função no Linux

ATTRIB chmod Alterar restrições de acesso a arquivos e diretórios

CD cd (^) Caminhar entre diretórios

CLS clear (^) Limpar a tela

COMP diff (^) Verificar diferenças entre arquivos

COPY cp (^) Copiar arquivos e diretórios

DATE date Mostrar/alterar data do sistema

DEL rm (^) Remover arquivos

DELTREE rm -r Remover diretórios recursivamente

DIR ls (^) Listar arquivos/diretórios

ECHO echo (^) Imprimir texto na saída padrão

EDIT mcedit, vi, pico (^) Editores de texto

EDLIN ed (^) Editor de linha de texto

HELP man Consulta manuais disponíveis no sistema

MD mkdir (^) Criar diretório

MORE more, less (^) Visualizar arquivos, pausa na saída de comandos

MOVE mv (^) Mover arquivos/diretórios

PRINT lp, lpr (^) Mandar arquivos para fila de impressão

RD rmdir Remover diretório vazios

REN mv (^) Renomear arquivos

SORT sort Ordenar entrada padrão, arquivos

TIME date (^) Date

TYPE cat (^) Listar conteúdo de arquivos

VER uname –a (^) Mostrar versão do sistema em uso

XCOPY /S cp –r (^) Copiar diretórios recursivamente

1.0.0 Ajuda do sistema

Para obter ajuda sobre comandos, serviços, dispositivos, arquivos de

configuração, entre outras informações, pode-se utilizar em um shell o comando man

ou no ambiente gráfico a ferramenta xman para caminhar entres as diferentes seções

de manuais, que são tradicionalmente divididas em 8 seções principais, como mostra

a Tabela 1-2.

F Pré-requisitos: Para acessar os manuais verifique se os pacotes necessários

estão instalados executando o seguinte comando em um shell :

rpm –q man man-pages man-pages-pt_BR XFree86-progs

A consulta realizada pelo comando rpm vai listar o nome de todos os pacotes

instalados, bem como sua versão. Se os pacotes não forem listados você pode instalá-

los (em um shell ) com o comando:

apt-get install man man-pages man-pages-pt_BR XFree86-progs

Tabela 1-2: Seções de manuais do UNIX

Número Descrição

1 Comandos de usuário

2 Chamadas de sistema

3 Subrotinas (programação)

4 Dispositivos

5 Formatos de arquivos

6 Jogos

7 Miscelânea

8 Administração do sistema

man – Consulta os manuais on-line do sistema

Sintaxe: man [-adfkwP] [seção]

Opções Descrição -a Encontra todas as páginas que coincidam com o padrão -d (^) Mostra informações de debug -f (^) Equivalente ao comando whatis -k (^) Equivalente ao comando apropos -P paginador Indica um programa alternativo a ser usado para mostrar as páginas -w (^) Mostra a localização física das páginas seção (^) Especifica em qual seção dos manuais buscar a informação

nome O man mostrará ajuda referente a um nome

Exemplo: [root@asterix root]# man rpm, da acesso ao manual do rpm.

Outra forma de obter ajuda é acessar a documentação disponível no diretório

/usr/share/doc. Muitos pacotes de software instalam documentação adicional (não

somente páginas do man) neste local.

1.0 Manipulando arquivos e diretórios

cd – Muda o diretório de trabalho, ou diretório corrente

Sintaxe: cd [diretório]

Sem parâmetros, o diretório HOME (casa) do usuário será acessado.

Se usarmos “~user” o diretório HOME de user será acessado. Se ao invés

disso utilizarmos o símbolo “-“, será retornado ao último diretório acessado.

chgrp – Muda o grupo de um arquivo ou diretório

Sintaxe: chgrp [-Rcvf] [arquivo ...]

A mudança pode ser efetuada pelo administrador do sistema (um super-

usuário) ou pelo dono do arquivo. O grupo pode ser especificado pelo seu

número de identificação (ID) ou pelo seu nome.

Opções Descrição -c (^) Mostra informações sobre os arquivos modificados -f (^) Não mostra mensagens de erro

X – permissão de execução 1

Para o dígito E temos a seguinte representação:

Significado Valor octal Nenhum atributo ligado 0 Bit sticky ligado 1 Bit setgid ligado 2 Bit setuid ligado 4

Atributos especiais:

Bit Significado setuid O arquivo é executado como se fosse invocado pelo proprietário; não faz sentido para diretórios setgid O arquivo é executado sob seu grupo, mesmo que o usuário invocador não participe do dele; todo arquivo criado em um diretório setgid é criado com o mesmo grupo do diretório sticky Um arquivo criado sob um diretório com o bit sticky ligado pode ser removido ou renomeado apenas pelo proprietário (ou o root). Em arquivos executáveis o bit sticky faz com que estes arquivos sejam mantidos na área de swap do sistema

chown – Muda o proprietário e opcionalmente o grupo de um arquivo ou diretório

Sintaxe: chown [-Rcvf] [dono][[:.]grupo] arquivos

Dono e o grupo podem ser especificados por seu ID ou por seus nomes.

Opções Descrição -c Mostra o nome dos arquivos que o dono está sendo alterado -f (^) Não mostra mensagens de erro -R (^) Altera o dono dos arquivos nos subdiretórios (recursivamente) -v (^) Descreve cada mudança de maneira detalhada

cp – Copia um ou vários arquivos

Sintaxe: cp [-abdfilprsuxvPS] [arquivo...]

Quando vários arquivos estiverem sendo copiados, destino deve se

referir a um diretório.

Opções Descrição -a (^) Preserva as características originais do arquivo sempre que possível -b (^) Cria um backup dos arquivos antes de sobrescrevê-los -d Copia o link , não o arquivo ao qual foi feita referência -f Força a cópia e sobrescrita de arquivos -i (^) Pede a confirmação antes de sobrescrever um arquivo existente -l (^) Cria hard links em de cópias dos arquivos -P (^) Copia arquivos criando também os elementos (diretórios) intermediários do caminho ( path ) -p Também copia as permissões e data de modificação dos arquivos -r, -R Copia o conteúdo do diretório e seus subdiretórios (recursivamente) -s (^) Cria links simbólicos em vez de copiar arquivos. O caminho até os arquivos fonte deve ser absoluto -S sufixo (^) Anexa no nome dos arquivos de backup a extensão definida por sufixo -u (^) Previne a sobrescrita de arquivos com o mesmo nome quando o destino tem data mais recente -v Mostra o nome de cada arquivo antes de copiá-lo -x (^) Copia somente os arquivos que estiverem no mesmo sistema de arquivos do diretório corrente

ls – lista o conteúdo do diretório

Sintaxe: ls [opções] [arquivo...]

Opções Descrição -C (^) Lista arquivos em colunas, ordenados verticalmente.

-F Sufixa o nome de cada diretório com '/', cada nome de FIFO com '|', e cada

nome de executável com '*'.

-R Lista os diretórios encontrados, recursivamente.

-a Inclue os arquivos com o nome iniciando com '.' na listagem.

-c (^) Usa o tempo de alteração ao invés do tempo de modificação para ordenar (com

-t) ou listar (com -l).

-i Precede a saída para o arquivo pelo seu número serial (número do inode).

-l (^) Lista no formato longo o tipo e modo de acesso do arquivo, o número de ligações para o arquivo, o nome do proprietário, o nome do grupo, o tamanho do arquivo (em bytes), o rótulo de tempo, e o nome do arquivo.

Os tipos de arquivos podem ser: ‘-‘ para um arquivo comum, ‘d’ para um

diretório, ‘b’ para um dispositivo de bloco, ‘c’ para um dispositivo de caractere,

‘l’ para uma ligação simbólica, ‘p’ para um FIFO, ‘s’ para um socket.

Por padrão, o rótulo de tempo exibido é aquele da última modificação; as

opções -c e -u selecionam outros dois rótulos de tempo. Para arquivos de

dispositivos especiais o tamanho do campo é geralmente substituído pelos números de dispositivos maior e menor. -q (^) Mostra caracteres não imprimíveis no nome do arquivo como ponto de interrogação. (Isto é permitido como padrão para a saída em um terminal.) -r Inverte a ordem da ordenação. -t (^) Ordena a exibição pelo rótulo de tempo. -u (^) Usa o tempo do último acesso no lugar do tempo de modificação para ordenar

(com -t) ou listar (com -l).

-1 (^) Para saída em coluna simples.

mkdir – Cria diretórios

Sintaxe: mkdir [-pm] <diretório> [diretório...]

Opções Descrição -m mode (^) Cria um novo diretório com as especificações de permissões -p (^) Se um caminho de diretórios for especificado onde algum subdiretório não existir, ele então também será criado.

mount – Monta novos sistemas de arquivos na árvore de diretórios

Sintaxe: mount [opções] [origem] [ponto_montagem]

Um sistema de arquivos é anexado no diretório definido por

ponto_montagem. Parâmetros que não forem especificados serão lidos de

/etc/fstab.

Opções Descrição

-a Monta todos os sistemas de arquivos especificados em /etc/fstab

-f (^) Efetua uma montagem falsa. Para efeito de testes

-n Suprime entradas em /etc/mtab

-r (^) O sistemas de arquivos é montado com o status de somente leitura

-t tipo Monta um sistema de arquivos de um certo tipo. (ext2, msdos, hpfs, proc,

nfs, iso9660, vfat, smbfs)

-v Mostra mensagens de saída

mv – Move ou renomeia arquivos ou diretórios

Sintaxe: mv [-bfiuSv] [arquivo...]

Tabela 1-3: Teclas de acesso a funções do mcedit

Tecla

Console Linux

(interface texto)

Finalidade

F2 (^) Salvar o arquivo atual

F3 +<movimentação>

Pressione para marcar o ponto inicial e final de uma seleção. A área selecionada poderá ser copiada, movida, ou apagada. A seleção também pode ser feita com o mouse.

F

Acesso à janela Substituir. Digite a expressão a ser pesquisada e sua substituição e pressione

F

+ (copia)

+ (cola)

Copia a área selecionada para a posição do cursor.

F

+ (recorta)

+ (cola)

Move a área selecionada para a posição do cursor.

F7 Acesso à janela Procurar. Digite a expressão a ser pesquisada e pressione

F8 + (^) Apaga a área selecionada ou a linha atual.

F9 Acesso a barra de menus

F10 (^) Sair do mcedit.

F12 Salvar arquivo como (digite o nome do arquivo quando surgir a janela Salvar).

Ctrl-u (^) Desfaz a última ação efetuada.

1.0.0 vi

F Pré-requisitos: Para utilizar este editor verifique se os pacotes necessários estão

instalados executando o seguinte comando no shell : rpm –q --whatprovides

vi

O vi é o editor de texto padrão do UNIX, ele é simples e rápido, embora não seja

muito intuitivo. Ele foi criado por William Joy da Universidade de Berkeley, seus

comandos são baseados em combinações de teclas, e é por esse motivo que sua

utilização não é intuitiva.

Sintaxe: vi [nome_arquivo]

O vi possui dois modos, o modo de edição e modo de comando, para entrar no

modo de edição tecle e para entrar no modo de comando tecle .

Existem dois tipos de comandos, os comandos de linha e os comandos visuais.

Para ativar os comandos de linha tecle <:> e então digite o comando desejado no

prompt , os comandos visuais são digitados diretamente no modo de comando.

Como há muitos comandos no vi, vamos destacar apenas os principais nas

tabelas a seguir.

Tabela 1-4: Principais comandos de linha no editor vi

Comandos de linha Significado

help ou h Ajuda.

write ou w Gravar arquivo.

read ou r Ler um arquivo. Ex.: r /etc/hosts

print ou p Imprime o arquivo atual.

close ou c Fechar o vi.

quit ou q Sair do vi, para sair sem salvar use q!

wquit ou wq Salva e sai.

Tabela 1-5: Principais comandos visuais no editor vi

Comandos visuais Significado

_/ Busca por uma palavra do ponto atual para frente no documento.

_? Busca por uma palavra do ponto atual para trás no documento.

_n Repete busca.

_N Repete busca na direção oposta.

_^ Posiciona o cursor no início da linha.

_$ Posiciona o cursor no fim da linha.

_X Apaga o caracter à esquerda do cursor.

_x Apaga o caracter que estiver sob o cursor.

_R Escreve sobre as palavras.

_D Apaga o texto a partir do cursor até o final da linha.

_u Desfaz o último comando.