29
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO SISTEMA DE ARQUIVOS PROFESSOR CARLOS MUNIZ

21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

Embed Size (px)

Citation preview

Page 1: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃOSISTEMA DE ARQUIVOS

PROFESSOR CARLOS MUNIZ

Page 2: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• SISTEMA DE ARQUIVOS

Professor Carlos Muniz [email protected] 2

Um sistema de arquivos é um conjunto de estruturas lógicas e derotinas, que permitem ao sistema operacional controlar o acesso aodisco rígido. Diferentes sistemas operacionais usam diferentessistemas de arquivos. Conforme cresce a capacidade dos discos eaumenta o volume de arquivos e acessos, esta tarefa torna-se maise mais complicada, exigindo o uso de sistemas de arquivos cadavez mais complexos e robustos. Existem diversos sistemas dearquivos diferentes, que vão desde sistemas simples como o FAT16,que utilizamos em cartões de memória, até sistemas como o NTFS,EXT3 e ReiserFS, que incorporam recursos muito mais avançados.

Page 3: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• SISTEMA DE ARQUIVOS

Professor Carlos Muniz [email protected] 3

No mundo Windows, temos apenas três sistemas de arquivos:FAT16, FAT32 e NTFS. O FAT16 é o mais antigo, usado desdeos tempos do MS-DOS, enquanto o NTFS é o mais complexo eatual. Apesar disso, temos uma variedade muito grande desistemas de arquivos diferentes no Linux (e outros sistemas Unix),que incluem o EXT2, EXT3, ReiserFS, XFS, JFS e muitos outros.Para quem usa apenas o Windows, estes sistemas podemparecer exóticos, mas eles são velhos conhecidos de quemtrabalha com servidores, já que neles o Linux é que é o sistemamais popular.

Page 4: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DEFINIÇÃO DE ARQUIVO

Professor Carlos Muniz [email protected] 4

Em informática, um arquivo é um conjunto de dados que serelacionam de alguma forma, ou seja, juntos descrevem umainformação ou conjunto de informações. Em função da natureza doscomputadores, arquivos são sempre formados por dados digitais,organizados seguindo algum tipo de estrutura (ou formato). Arquivospodem representar informações das mais diversas naturezas comoimagens, áudio, texto, instruções para processadores, etc. podendoinclusive representar uma combinação desses tipos, como por exemploum vídeo que contém informações gráficas (a imagem), sonoras (oáudio)e textuais (a legenda).

Page 5: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DEFINIÇÃO DE ARQUIVO

Professor Carlos Muniz [email protected] 5

Cada arquivo precisa de uma identificação. Do ponto de vista deum computador, arquivos são geralmente identificados por números(como os inodes). Do ponto de vista do usuário de um computador,um arquivo é quase sempre representado por um nome. Ocomputador guarda associações entre os nomes e os números parapoder transformar o primeiro no segundo sempre que necessário.Como um sistema computacional costuma lidar com milhares dearquivos, é comum que vários arquivos sejam agrupados emconjuntos maiores, seguindo alguma organização que facilite arecuperação de arquivos por parte dos usuários.

Page 6: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• EXTENSÕES DE NOMES

Professor Carlos Muniz [email protected] 6

Nomes de arquivos são sequências de caracteres queidentificam um arquivo, mas lembre-se que alguns caracteressão especiais. No sistema operacional MS DOS, nomes dearquivos eram limitados a oito caracteres mais uma extensão detrês caracteres. O ponto era um caracter especial que separavao nome (propriamente dito) da extensão. A extensão era usadapara identificar o tipo de arquivo, ou seja, a organização dosdados num arquivo. Assim o arquivo aed1.txt era um arquivochamado aed1 cujas informações estavam organizadas naforma de texto puro.

Page 7: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• EXTENSÕES DE NOMES

Professor Carlos Muniz [email protected] 7

• As extensões de nomes não determinam o tipo de arquivo,apenas sugerem. Um arquivo que termina com .jpg pode ser umarquivo executável.

• Existe uma convenção em Linux de que arquivos cujo nomecomeça com um ponto são arquivos ocultos (geralmentearquivos de configuração que os programas preferem manterlonge da vista dos usuários).

Page 8: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• EXTENSÕES DE NOMES

Professor Carlos Muniz [email protected] 8

• Existe uma convenção no Windows de que extensões"conhecidas" são escondidas do usuário. A intenção é evitarque o usuário as altere, o que traria erros para os programasque determinam o tipo de arquivo pela extensão do seu nome(comuns no Windows). Essa política traz muito mais problemaspara os usuários que entendem de informática do que trazvantagens. Aprenda a configurar o Windows Explorer paraque ele não esconda as extensões.

Page 9: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• RECOMENDAÇÕES PARA NOMES DE ARQUIVOS

Professor Carlos Muniz [email protected] 9

Para evitar problemas com nomes de arquivos, é recomendável:• não usar espaços nos nomes de arquivos ou diretórios: espaço

são separadores, por isso um nome com espaço éfrequentemente interpretado como vários nomes;

• não usar caracteres acentuados nos nomes: caracteresacentuados são representados por números diferentes nos váriossistemas de codificação;

• não usar letras maiúsculas: em vários sistemas de arquivos daMicroSoft, as letras maiúsculas são consideradas equivalentes àssuas correspondentes minúsculas, mas em outros sistemas dearquivos não são.

Page 10: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DEFINIÇÃO DE DIRETÓRIO

Professor Carlos Muniz [email protected] 10

Um diretório é uma subdivisão lógica de um sistema de arquivos, quepermite o agrupamento de arquivos que se relacionam de algumaforma. Diretórios são frequentemente chamados de pastas em funçãode uma analogia presente nos sistemas Windows que maisrecentemente foi adotada por diversos outros sistemas.A divisão proporcionada por um diretório é lógica, no sentido quenão existe necessariamente uma divisão física das informaçõesrelativas a um diretório. Alguns sistemas como o Linux, permiteminclusive que um arquivo possa ser identificado por mais de um nome,que podem inclusive ser parte de diretórios diferentes num mesmosistema de arquivos.

Page 11: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• ORGANIZAÇÃO HIERÁRQUICA DE UM SISTEMA DE ARQUIVOS

Professor Carlos Muniz [email protected] 11

Um sistema computacional costuma lidar com milhares dearquivos. Assim é normal que existam centenas de diretóriospara organizar esses arquivos. Assim, os próprios diretórios sãotambém organizados em grupos, numa estrutura hierárquica,facilitando a recuperação de diretórios por usuários.

Page 12: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• ORGANIZAÇÃO HIERÁRQUICA DE UM SISTEMA DE ARQUIVOS

Professor Carlos Muniz [email protected] 12

Organização hierárquica significa que diretórios também sãoorganizados em conjuntos por meio de outros diretórios. Assimpodemos dizer que um diretório é um conjunto de arquivos ediretórios. Dessa forma, diretórios podem ser chamados desubdiretórios quando se faz referência aos diretórios que oscontém.Essa organização hierárquica exige um ponto de partida; umdiretório fixo a partir do qual todos os outros podem seridentificados. Esse ponto de partida é chamado de diretórioraiz.

Page 13: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• REFERÊNCIAS A ARQUIVOS

Professor Carlos Muniz [email protected] 13

Voltando ao problema da identificação de arquivos por partedos usuários, a organização hierárquica implica que os arquivosnão serão necessariamente identificáveis por seus nomes pura esimplesmente, mas sim por seus nomes combinados com os nomesdos diretórios que os contém. Um sistema computacional podeter vários arquivos chamados notas, cada qual num diretóriodiferente.

Page 14: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• NOMES COMPLETOS

Professor Carlos Muniz [email protected] 14

A combinação nome do arquivo mais nome dos diretórios que ocontém é conhecida por nome completo. Um nome completo é umaidentificação única de um arquivo num sistema computacional. Ésomente através de nomes completos que os arquivos podem seridentificados.

Em Linux um nome completo deve começar com a barra, como em/home/alunos/fulano/programas/aed1/alomundo.pas. A barrainicial identifica o diretório raiz.

Page 15: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• NOMES COMPLETOS

Professor Carlos Muniz [email protected] 15

Em Windows, os sistemas de arquivos contém um outro tipo desubdivisão, os drives. Cada drive contém um diretório raiz, quecontém subdiretórios e arquivos. Drives são identificados por umaúnica letra seguida do sinal de dois pontos. Assim, um exemplo denome completo no Windows é algo comoZ:\programas\aed1\alomundo.pas.

Page 16: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• SEPARADORES ('/' E '\')

Professor Carlos Muniz [email protected] 16

Na seção anterior podemos notar que nomes de arquivos e diretóriossão combinados por caracteres especiais. Especiais no sentido de quenão devem (e em geral simplesmente não podem) ser usados emnomes comuns, pois têm a função de combinar nomes de arquivos ediretórios para formar nomes completos. Esses caracteres especiaispodem ser entendidos como separadores que identificam as váriaspartes de um nome completo.Podemos notar que o Windows usa o caracter \ (barra invertida)enquanto que o Linux (e a maioria dos outros sistemas operacionas)usam o caracter / (barra) como separador.

Page 17: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• SEPARADORES ('/' E '\')

Professor Carlos Muniz [email protected] 17

O arquivo/home/alunos/fulano/programas/aed1/alomundo.pas é entãoum arquivo chamado alomundo.pas que fica num diretóriochamado aed1 que fica num diretório chamado programas,que fica num diretório chamado fulano, que fica num diretóriochamado alunos, que fica num diretório chamado home que ficano diretório raiz.

Page 18: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DIRETÓRIO CORRENTE

Professor Carlos Muniz [email protected] 18

Diretório corrente é uma referência, usada para transformarnomes relativos em nomes completos, permitindo a identificaçãode um arquivo. Cada programa tem o seu diretório corrente.Vários programas sendo executados ao mesmo tempo podemter diretórios correntes distintos.

Page 19: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DIRETÓRIO CORRENTE

Professor Carlos Muniz [email protected] 19

Quando a parte inicial de um nome é omitida (nome relativo), oprograma que deseja recuperar o arquivo em questão adiciona odiretório corrente ao nome. Desta forma, o arquivo/home/alunos/fulano/programas/aed1/alomundo.pas pode seridentificado, por exemplo, pelo nomeprogramas/aed1/alomundo.pas, desde que o diretório corrente seja/home/alunos/fulano. Se o diretório corrente for outro, o nomerelativo programas/aed1/alomundo.pas pode identificar um outroarquivo (talvez o/home/alunos/beltrano/programas/aed1/alomundo.pas) ou podeidentificar nenhum.

Page 20: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DIRETÓRIO CORRENTE

Professor Carlos Muniz [email protected] 20

A predominância dos programas com interface gráfica faz comque hoje em dia, nomes de arquivos sejam frequentementedefinidos através de cliques no mouse, da seguinte forma: Oprograma abre uma janela conhecida como "diálogo de abrir(ou salvar) arquivo", em que aparece o conteúdo do diretóriocorrente (diretórios ou pastas contidos no diretório corrente). Ousuário então clica em um desses elementos, alterando odiretório corrente e recomeçando o processo caso o elementoselecionado seja um diretório ou terminando o processo pelaseleção de um nome de arquivo.

Page 21: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DIRETÓRIO CORRENTE

Professor Carlos Muniz [email protected] 21

Os diálogos de abrir arquivos podem incluir formas de escrevero nome desejado (especialmente no caso de programas paraLinux). O nome pode ser escrito de forma completa ou deforma relativa ao diretório corrente, que é apresentado pelajanela. Escrever um nome relativo (em oposição a clicar várioselementos) pode ser uma forma mais eficiente de identificar umarquivo. Aprenda a usar esse recurso.No caso do Windows, o uso de drives, cria a necessidade doconceito do drive corrente, análogo ao do diretório corrente.

Page 22: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• DIRETÓRIO CORRENTE

Professor Carlos Muniz [email protected] 22

Os diálogos de abrir arquivos podem incluir formas de escrevero nome desejado (especialmente no caso de programas paraLinux). O nome pode ser escrito de forma completa ou deforma relativa ao diretório corrente, que é apresentado pelajanela. Escrever um nome relativo (em oposição a clicar várioselementos) pode ser uma forma mais eficiente de identificar umarquivo. Aprenda a usar esse recurso.No caso do Windows, o uso de drives, cria a necessidade doconceito do drive corrente, análogo ao do diretório corrente.

Page 23: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• PATH (CAMINHO)

Professor Carlos Muniz [email protected] 23

O sistema de completar nomes de arquivos por meio dodiretório corrente não é muito eficiente para nomes de arquivosque são programas executáveis.Isso porque é comum que na organização hierárquica de umsistema de arquivos, os arquivos que contém programasexecutáveis fiquem separados dos arquivos que contém dadosa serem usados por esses programas.

Page 24: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• PATH (CAMINHO)

Professor Carlos Muniz [email protected] 24

Os nomes de arquivos que são programas executáveis podemser completados de uma outra forma: o PATH. Path (caminho emInglês) é uma lista de diretórios usada para completar nomesde programas. O path, ao contrário do diretório corrente, éuma configuração do computador, não necessita ser alteradaconstantemente (os programas do seu computador não sãoalterados toda hora) e, a não ser que seja alterado duranteuma sessão de uso do computador, é igual para todos osprogramas.

Page 25: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• PATH (CAMINHO)

Professor Carlos Muniz [email protected] 25

No Linux, existem restrições ao uso do diretório corrente paracompletar nomes de programas executáveis. Isso porque usar odiretório corrente cria problemas de segurança (ajuda aenganar um usuário, fazendo com que ele execute umprograma achando que está executando outro). O diretóriocorrente é usado para completar somente nomes que comecempela identificação de diretórios. Vamos supor que você acaboude criar um programa executável chamado somador, ou maisprecisamente, (...)

Page 26: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• PATH (CAMINHO)

Professor Carlos Muniz [email protected] 26

(...)/home/alunos/fulano/programas/aed1/somador. Se vocêmandar executar o arquivo somador, tendo como diretóriocorrente o diretório /home/alunos/fulano/programas/aed1, oarquivo não será executado (a restrição de segurança impedeque o nome seja completado). Porém, se você mandar executaro arquivo aed1/somador (que é um nome relativo começandocom um diretório), tendo como diretório corrente o diretório/home/alunos/fulano/programas, o arquivo será executado.

Page 27: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• PATH (CAMINHO)

Professor Carlos Muniz [email protected] 27

Em geral, a configuração do PATH num computador só énecessária durante a instalação de um programa. Se vocêencontrar um computador da UFLA em que o PATH está malconfigurado, dificultando a execução dos programas instalados,solicite a correção para o pessoal responsável.

Page 28: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• NOMES ESPECIAIS

Professor Carlos Muniz [email protected] 28

Existem dois nomes especiais (no sentido em que seu uso éreservado) de diretórios. O diretório '.' (ponto) é sempre umareferência ao diretório corrente. O diretório '..' (ponto ponto) ésempre uma referência ao diretório imediatamente superior (nahierarquia de diretórios) ao diretório corrente.Esses nomes especiais são úteis em diversas ocasiões, porexemplo:

Page 29: 21 Sistema de Arquivos - professorcarlosmuniz.com.br · podemos dizer que um diretório é um conjunto de arquivos e diretórios. ... Em Windows, os sistemas de arquivos contém um

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE ARQUIVOS

• NOMES ESPECIAIS

Professor Carlos Muniz [email protected] 29

• Para contornar a restrição de segurança (não completarnomes de programas com o diretório corrente a não ser queo nome comece por um diretório) do Linux. Mande executar./somador ao invés de somador.

• Para contornar a questão do nome padrão em ligaçõesHTML (./ ao invés de index.html).

Os sistemas da família Unix têm um outro nome especial muitoútil. É o ~ (til). Ele é uma referência ao diretório home.Diretório home é um diretório num sistema de arquivos queserve para uso pessoal de um determinado usuário.