Учебники

Unix / Linux — Основы файловой системы

Файловая система — это логическая коллекция файлов на разделе или диске. Раздел представляет собой контейнер для информации и при желании может охватывать весь жесткий диск.

Ваш жесткий диск может иметь различные разделы, которые обычно содержат только одну файловую систему, например, одну файловую систему, в которой находится файловая система /, или другую, содержащую файловую систему / home .

Одна файловая система на раздел позволяет логически обслуживать и управлять различными файловыми системами.

Все в Unix считается файлом, включая физические устройства, такие как DVD-диски, USB-устройства и дисководы.

Структура каталогов

Unix использует иерархическую структуру файловой системы, очень похожую на перевернутое дерево, с корнем (/) в основе файловой системы и всеми остальными каталогами, распространяющимися оттуда.

Файловая система Unix — это набор файлов и каталогов, который имеет следующие свойства:

  • У него есть корневой каталог ( / ), который содержит другие файлы и каталоги.

  • Каждый файл или каталог уникально идентифицируется по его имени, каталогу, в котором он находится, и уникальному идентификатору, обычно называемому inode .

  • По соглашению, корневой каталог имеет номер инода 2, а потерянный каталог & plus; found имеет номер инода 3 . Номера узлов 0 и 1 не используются. Номера файловых индексов можно увидеть, указав опцию -i в команде ls .

  • Это автономно. Нет никаких зависимостей между одной файловой системой и другой.

У него есть корневой каталог ( / ), который содержит другие файлы и каталоги.

Каждый файл или каталог уникально идентифицируется по его имени, каталогу, в котором он находится, и уникальному идентификатору, обычно называемому inode .

По соглашению, корневой каталог имеет номер инода 2, а потерянный каталог & plus; found имеет номер инода 3 . Номера узлов 0 и 1 не используются. Номера файловых индексов можно увидеть, указав опцию -i в команде ls .

Это автономно. Нет никаких зависимостей между одной файловой системой и другой.

Каталоги имеют конкретные цели и, как правило, содержат одинаковые типы информации для удобного поиска файлов. Ниже приведены каталоги, которые существуют в основных версиях Unix —

Sr.No. Каталог и описание
1

/

Это корневой каталог, который должен содержать только каталоги, необходимые на верхнем уровне структуры файла.

2

/ бен

Здесь находятся исполняемые файлы. Эти файлы доступны всем пользователям

3

/ DEV

Это драйверы устройств

4

/так далее

Команды каталога Supervisor, файлы конфигурации, файлы конфигурации диска, действительные списки пользователей, группы, Ethernet, хосты, куда отправлять критические сообщения

5

/ Lib

Содержит файлы общей библиотеки и иногда другие файлы, связанные с ядром

6

/ загрузки

Содержит файлы для загрузки системы

7

/Главная

Содержит домашний каталог для пользователей и других учетных записей

8

/ мнт

Используется для монтирования других временных файловых систем, таких как cdrom и floppy для дисковода CD-ROM и дисковода гибких дисков , соответственно

9

/ Proc

Содержит все процессы, отмеченные как файл номером процесса или другой информацией, которая является динамической для системы

10

/ TMP

Содержит временные файлы, используемые между загрузками системы

11

/ USR

Используется для разных целей и может использоваться многими пользователями. Включает административные команды, общие файлы, библиотечные файлы и другие

12

/ вар

Обычно содержит файлы переменной длины, такие как файлы журнала и печати, а также файлы любого другого типа, которые могут содержать переменное количество данных

13

/ SBIN

Содержит двоичные (исполняемые) файлы, обычно для системного администрирования. Например, fdisk и ifconfig utlities

14

/ ядро

Содержит файлы ядра

/

Это корневой каталог, который должен содержать только каталоги, необходимые на верхнем уровне структуры файла.

/ бен

Здесь находятся исполняемые файлы. Эти файлы доступны всем пользователям

/ DEV

Это драйверы устройств

/так далее

Команды каталога Supervisor, файлы конфигурации, файлы конфигурации диска, действительные списки пользователей, группы, Ethernet, хосты, куда отправлять критические сообщения

/ Lib

Содержит файлы общей библиотеки и иногда другие файлы, связанные с ядром

/ загрузки

Содержит файлы для загрузки системы

/Главная

Содержит домашний каталог для пользователей и других учетных записей

/ мнт

Используется для монтирования других временных файловых систем, таких как cdrom и floppy для дисковода CD-ROM и дисковода гибких дисков , соответственно

/ Proc

Содержит все процессы, отмеченные как файл номером процесса или другой информацией, которая является динамической для системы

/ TMP

Содержит временные файлы, используемые между загрузками системы

/ USR

Используется для разных целей и может использоваться многими пользователями. Включает административные команды, общие файлы, библиотечные файлы и другие

/ вар

Обычно содержит файлы переменной длины, такие как файлы журнала и печати, а также файлы любого другого типа, которые могут содержать переменное количество данных

/ SBIN

Содержит двоичные (исполняемые) файлы, обычно для системного администрирования. Например, fdisk и ifconfig utlities

/ ядро

Содержит файлы ядра

Навигация по файловой системе

Теперь, когда вы понимаете основы файловой системы, вы можете перейти к нужным файлам. Следующие команды используются для навигации по системе —

Sr.No. Команда и описание
1

имя файла кошки

Отображает имя файла

2

имя диска

Перемещает вас в указанный каталог

3

cp file1 file2

Копирует один файл / каталог в указанное место

4

имя файла

Определяет тип файла (двоичный, текстовый и т. Д.)

5

найти имя файла dir

Находит файл / каталог

6

имя файла заголовка

Показывает начало файла

7

меньше имени файла

Просматривает файл с конца или с начала

8

ls dirname

Показывает содержимое указанного каталога

9

mkdir dirname

Создает указанный каталог

10

больше имени файла

Просматривает файл от начала до конца

11

mv file1 file2

Перемещает местоположение или переименовывает файл / каталог

12

PWD

Показывает текущий каталог, в котором находится пользователь

13

рм имя файла

Удаляет файл

14

rmdir dirname

Удаляет каталог

15

хвостовое имя файла

Показывает конец файла

16

коснитесь имени файла

Создает пустой файл или изменяет существующий файл или его атрибуты

17

где имя файла

Показывает расположение файла

18

какое имя файла

Показывает местоположение файла, если он находится в вашем PATH

имя файла кошки

Отображает имя файла

имя диска

Перемещает вас в указанный каталог

cp file1 file2

Копирует один файл / каталог в указанное место

имя файла

Определяет тип файла (двоичный, текстовый и т. Д.)

найти имя файла dir

Находит файл / каталог

имя файла заголовка

Показывает начало файла

меньше имени файла

Просматривает файл с конца или с начала

ls dirname

Показывает содержимое указанного каталога

mkdir dirname

Создает указанный каталог

больше имени файла

Просматривает файл от начала до конца

mv file1 file2

Перемещает местоположение или переименовывает файл / каталог

PWD

Показывает текущий каталог, в котором находится пользователь

рм имя файла

Удаляет файл

rmdir dirname

Удаляет каталог

хвостовое имя файла

Показывает конец файла

коснитесь имени файла

Создает пустой файл или изменяет существующий файл или его атрибуты

где имя файла

Показывает расположение файла

какое имя файла

Показывает местоположение файла, если он находится в вашем PATH

Вы можете использовать справку Manpage, чтобы проверить полный синтаксис для каждой команды, упомянутой здесь.

Команда df

Первый способ управления пространством разделов — команда df (без диска) . Команда df -k (без диска) отображает использование дискового пространства в килобайтах , как показано ниже —

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

Некоторые каталоги, такие как / devices , показывают 0 в килобайтах, столбцы используемых и доступных, а также 0% для емкости. Это специальные (или виртуальные) файловые системы, и хотя они находятся на диске в каталоге /, сами по себе они не занимают места на диске.

Вывод df -k обычно одинаков во всех системах Unix. Вот что обычно включает в себя:

Sr.No. Колонка и описание
1

Файловая система

Имя физической файловой системы

2

кбайт

Всего килобайт свободного места на носителе

3

используемый

Всего килобайт использованного пространства (по файлам)

4

польза

Всего килобайт, доступных для использования

5

вместимость

Процент общего пространства, используемого файлами

6

Прикреплено к

На что монтируется файловая система

Файловая система

Имя физической файловой системы

кбайт

Всего килобайт свободного места на носителе

используемый

Всего килобайт использованного пространства (по файлам)

польза

Всего килобайт, доступных для использования

вместимость

Процент общего пространства, используемого файлами

Прикреплено к

На что монтируется файловая система

Вы можете использовать опцию -h (удобочитаемый для человека), чтобы отобразить вывод в формате, который показывает размер в более простой для понимания записи.

Du Command

Команда du (использование диска) позволяет указать каталоги, чтобы показать использование дискового пространства в определенном каталоге.

Эта команда полезна, если вы хотите определить, сколько места занимает конкретный каталог. Следующая команда отображает количество блоков, используемых каждым каталогом. Один блок может занять 512 байт или 1 килобайт в зависимости от вашей системы.

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

Опция -h облегчает понимание вывода —

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

Монтирование файловой системы

Файловая система должна быть смонтирована, чтобы ее можно было использовать в системе. Чтобы увидеть, что в настоящий момент смонтировано (доступно для использования) в вашей системе, используйте следующую команду:

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

Каталог / mnt , в соответствии с соглашением Unix, — это место, где находятся временные монтирования (такие как дисководы CDROM, удаленные сетевые диски и дисководы гибких дисков). Если вам нужно смонтировать файловую систему, вы можете использовать команду mount со следующим синтаксисом:

mount -t file_system_type device_to_mount directory_to_mount_to

Например, если вы хотите смонтировать компакт-диск в каталог / mnt / cdrom , вы можете набрать —

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

Это предполагает, что ваше устройство CD-ROM называется / dev / cdrom и вы хотите смонтировать его в / mnt / cdrom . Обратитесь к странице руководства по монтированию для получения более подробной информации или введите в командной строке mount -h для получения справочной информации.

После монтирования вы можете использовать команду cd для навигации по новой доступной файловой системе через точку монтирования, которую вы только что сделали.

Размонтирование файловой системы

Чтобы размонтировать (удалить) файловую систему из вашей системы, используйте команду umount , указав точку монтирования или устройство.

Например, чтобы размонтировать cdrom , используйте следующую команду —

$ umount /dev/cdrom

Команда mount позволяет вам получить доступ к вашим файловым системам, но в большинстве современных систем Unix функция автомонтирования делает этот процесс невидимым для пользователя и не требует вмешательства.

Квоты пользователей и групп

Квоты пользователей и групп предоставляют механизмы, с помощью которых объем пространства, используемого одним пользователем или всеми пользователями в конкретной группе, может быть ограничен значением, определенным администратором.

Квоты действуют в пределах двух пределов, которые позволяют пользователю предпринимать некоторые действия, если объем пространства или количество дисковых блоков начинают превышать установленные администратором ограничения —

  • Мягкий лимит — если пользователь превышает установленный лимит, существует льготный период, который позволяет ему освободить некоторое пространство.

  • Жесткий лимит — Когда жесткий лимит достигнут, независимо от льготного периода, дальнейшие файлы или блоки не могут быть выделены.

Мягкий лимит — если пользователь превышает установленный лимит, существует льготный период, который позволяет ему освободить некоторое пространство.

Жесткий лимит — Когда жесткий лимит достигнут, независимо от льготного периода, дальнейшие файлы или блоки не могут быть выделены.

Существует несколько команд для управления квотами:

Sr.No. Команда и описание
1

квота

Отображает использование диска и ограничения для пользователя группы

2

edquota

Это редактор квот. С помощью этой команды можно редактировать квоты пользователей или групп.

3

Quotacheck

Сканирует файловую систему на использование диска, создает, проверяет и восстанавливает файлы квот

4

setquota

Это редактор квот командной строки

5

quotaon

Это сообщает системе, что дисковые квоты должны быть включены в одной или нескольких файловых системах.

6

quotaoff

Это сообщает системе, что дисковые квоты должны быть отключены для одной или нескольких файловых систем.

7

Repquota

Это печатает сводную информацию об использовании диска и квотах для указанных файловых систем.

квота

Отображает использование диска и ограничения для пользователя группы

edquota

Это редактор квот. С помощью этой команды можно редактировать квоты пользователей или групп.

Quotacheck

Сканирует файловую систему на использование диска, создает, проверяет и восстанавливает файлы квот

setquota

Это редактор квот командной строки

quotaon

Это сообщает системе, что дисковые квоты должны быть включены в одной или нескольких файловых системах.

quotaoff

Это сообщает системе, что дисковые квоты должны быть отключены для одной или нескольких файловых систем.

Repquota

Это печатает сводную информацию об использовании диска и квотах для указанных файловых систем.

Вы можете использовать справку Manpage, чтобы проверить полный синтаксис для каждой команды, упомянутой здесь.