Unix / Linux - Fundamentos do sistema de arquivos

Um sistema de arquivos é uma coleção lógica de arquivos em uma partição ou disco. Uma partição é um contêiner de informações e pode abranger um disco rígido inteiro, se desejado.

Seu disco rígido pode ter várias partições que geralmente contêm apenas um sistema de arquivos, como um sistema de arquivos que hospeda o /file system ou outro contendo o /home file system.

Um sistema de arquivos por partição permite a manutenção lógica e o gerenciamento de diferentes sistemas de arquivos.

Tudo no Unix é considerado um arquivo, incluindo dispositivos físicos como DVD-ROMs, dispositivos USB e unidades de disquete.

Estrutura de Diretório

O Unix usa uma estrutura de sistema de arquivos hierárquica, muito parecida com uma árvore de cabeça para baixo, com a raiz (/) na base do sistema de arquivos e todos os outros diretórios se espalhando a partir daí.

Um sistema de arquivos Unix é uma coleção de arquivos e diretórios que possui as seguintes propriedades -

  • Ele tem um diretório raiz (/) que contém outros arquivos e diretórios.

  • Cada arquivo ou diretório é identificado exclusivamente por seu nome, o diretório em que reside e um identificador exclusivo, normalmente chamado de inode.

  • Por convenção, o diretório raiz tem um inode número de 2 e a lost+found diretório tem um inode número de 3. Números de inode0 e 1não são usados. Números de inode de arquivo podem ser vistos especificando o-i option para ls command.

  • É independente. Não há dependências entre um sistema de arquivos e outro.

Os diretórios têm finalidades específicas e geralmente contêm os mesmos tipos de informações para localizar arquivos facilmente. A seguir estão os diretórios que existem nas principais versões do Unix -

Sr. Não. Diretório e descrição
1

/

Este é o diretório raiz que deve conter apenas os diretórios necessários no nível superior da estrutura do arquivo

2

/bin

É aqui que os arquivos executáveis ​​estão localizados. Esses arquivos estão disponíveis para todos os usuários

3

/dev

Estes são drivers de dispositivo

4

/etc

Comandos do diretório do supervisor, arquivos de configuração, arquivos de configuração de disco, listas de usuários válidas, grupos, ethernet, hosts, para onde enviar mensagens críticas

5

/lib

Contém arquivos de biblioteca compartilhada e às vezes outros arquivos relacionados ao kernel

6

/boot

Contém arquivos para inicializar o sistema

7

/home

Contém o diretório inicial para usuários e outras contas

8

/mnt

Usado para montar outros sistemas de arquivos temporários, como cdrom e floppy para o CD-ROM dirigir e floppy diskette drive, respectivamente

9

/proc

Contém todos os processos marcados como um arquivo por process number ou outras informações que são dinâmicas para o sistema

10

/tmp

Contém arquivos temporários usados ​​entre inicializações do sistema

11

/usr

Usado para diversos fins e pode ser usado por muitos usuários. Inclui comandos administrativos, arquivos compartilhados, arquivos de biblioteca e outros

12

/var

Normalmente contém arquivos de comprimento variável, como arquivos de registro e impressão e qualquer outro tipo de arquivo que pode conter uma quantidade variável de dados

13

/sbin

Contém arquivos binários (executáveis), geralmente para administração do sistema. Por exemplo,fdisk e ifconfig utilidades

14

/kernel

Contém arquivos de kernel

Navegando no sistema de arquivos

Agora que você entende os fundamentos do sistema de arquivos, pode começar a navegar até os arquivos de que precisa. Os seguintes comandos são usados ​​para navegar no sistema -

Sr. Não. Comando e Descrição
1

cat filename

Exibe um nome de arquivo

2

cd dirname

Move você para o diretório identificado

3

cp file1 file2

Copia um arquivo / diretório para o local especificado

4

file filename

Identifica o tipo de arquivo (binário, texto, etc)

5

find filename dir

Encontra um arquivo / diretório

6

head filename

Mostra o início de um arquivo

7

less filename

Navega em um arquivo do final ou do início

8

ls dirname

Mostra o conteúdo do diretório especificado

9

mkdir dirname

Cria o diretório especificado

10

more filename

Percorre um arquivo do início ao fim

11

mv file1 file2

Move a localização ou renomeia um arquivo / diretório

12

pwd

Mostra o diretório atual em que o usuário está

13

rm filename

Remove um arquivo

14

rmdir dirname

Remove um diretório

15

tail filename

Mostra o final de um arquivo

16

touch filename

Cria um arquivo em branco ou modifica um arquivo existente ou seus atributos

17

whereis filename

Mostra a localização de um arquivo

18

which filename

Mostra a localização de um arquivo se ele estiver em seu PATH

Você pode usar a Ajuda da página de manual para verificar a sintaxe completa de cada comando mencionado aqui.

O Comando df

A primeira maneira de gerenciar seu espaço de partição é com o df (disk free)comando. O comandodf -k (disk free) exibe o disk space usage in kilobytes, como mostrado abaixo -

$df -k
Filesystem      1K-blocks      Used   Available Use% Mounted on
/dev/vzfs        10485760   7836644     2649116  75% /
/devices                0         0           0   0% /devices
$

Alguns dos diretórios, como /devices, mostra 0 nas colunas kbytes, usado e disponível, bem como 0% para a capacidade. Esses são sistemas de arquivos especiais (ou virtuais) e, embora residam no disco em /, por si próprios não consomem espaço em disco.

o df -ka saída é geralmente a mesma em todos os sistemas Unix. Aqui está o que geralmente inclui -

Sr. Não. Coluna e Descrição
1

Filesystem

O nome do sistema de arquivos físicos

2

kbytes

Total de kilobytes de espaço disponível no meio de armazenamento

3

used

Total de kilobytes de espaço usado (por arquivos)

4

avail

Total de kilobytes disponíveis para uso

5

capacity

Porcentagem do espaço total usado pelos arquivos

6

Mounted on

Em que o sistema de arquivos é montado

Você pode usar o -h (human readable) option para exibir a saída em um formato que mostra o tamanho em uma notação mais fácil de entender.

The du Command

o du (disk usage) command permite especificar diretórios para mostrar o uso de espaço em disco em um diretório específico.

Este comando é útil se você deseja determinar quanto espaço um diretório específico está ocupando. O comando a seguir exibe o número de blocos consumidos por cada diretório. Um único bloco pode levar 512 bytes ou 1 quilo byte, dependendo do seu sistema.

$du /etc
10     /etc/cron.d
126    /etc/default
6      /etc/dfs
...
$

o -h opção torna a saída mais fácil de compreender -

$du -h /etc
5k    /etc/cron.d
63k   /etc/default
3k    /etc/dfs
...
$

Montagem do sistema de arquivos

Um sistema de arquivos deve ser montado para ser utilizável pelo sistema. Para ver o que está atualmente montado (disponível para uso) em seu sistema, use o seguinte comando -

$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$

o /mntO diretório, pela convenção do Unix, é onde as montagens temporárias (como unidades de CDROM, unidades de rede remotas e unidades de disquete) estão localizadas. Se você precisa montar um sistema de arquivos, pode usar o comando mount com a seguinte sintaxe -

mount -t file_system_type device_to_mount directory_to_mount_to

Por exemplo, se você deseja montar um CD-ROM para o diretório /mnt/cdrom, você pode digitar -

$ mount -t iso9660 /dev/cdrom /mnt/cdrom

Isso pressupõe que o seu dispositivo de CD-ROM é chamado /dev/cdrom e que você deseja montá-lo /mnt/cdrom. Consulte a página do manual da montagem para informações mais específicas ou tipo de montagem-h na linha de comando para obter informações de ajuda.

Após a montagem, você pode usar o comando cd para navegar no sistema de arquivos recentemente disponível através do ponto de montagem que você acabou de criar.

Desmontando o sistema de arquivos

Para desmontar (remover) o sistema de arquivos do seu sistema, use o umount comando identificando o ponto de montagem ou dispositivo.

Por exemplo, to unmount cdrom, use o seguinte comando -

$ umount /dev/cdrom

o mount command permite que você acesse seus sistemas de arquivos, mas na maioria dos sistemas Unix modernos, o automount function torna esse processo invisível para o usuário e não requer intervenção.

Cotas de usuário e grupo

As cotas de usuário e grupo fornecem os mecanismos pelos quais a quantidade de espaço usado por um único usuário ou todos os usuários em um grupo específico pode ser limitada a um valor definido pelo administrador.

As cotas operam em torno de dois limites que permitem que o usuário execute alguma ação se a quantidade de espaço ou número de blocos de disco começar a exceder os limites definidos pelo administrador -

  • Soft Limit - Caso o usuário ultrapasse o limite definido, há um período de carência que permite ao usuário liberar espaço.

  • Hard Limit - Quando o limite rígido é atingido, independentemente do período de carência, nenhum arquivo ou bloco adicional pode ser alocado.

Existem vários comandos para administrar cotas -

Sr. Não. Comando e Descrição
1

quota

Exibe o uso do disco e limites para um usuário do grupo

2

edquota

Este é um editor de cotas. A cota de usuários ou grupos pode ser editada usando este comando

3

quotacheck

Verifica o uso do disco em um sistema de arquivos, cria, verifica e repara arquivos de cota

4

setquota

Este é um editor de cotas de linha de comando

5

quotaon

Isso anuncia ao sistema que as cotas de disco devem ser habilitadas em um ou mais sistemas de arquivos

6

quotaoff

Isso anuncia ao sistema que as cotas de disco devem ser desabilitadas para um ou mais sistemas de arquivos

7

repquota

Isso imprime um resumo do uso do disco e cotas para os sistemas de arquivos especificados

Você pode usar a Ajuda da página de manual para verificar a sintaxe completa de cada comando mencionado aqui.