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.