MKFS(1M)
НАЗВАНИЕ
mkfs - создание файловой системы
СИНТАКСИС
/etc/mkfs специальный_файл [число_блоков[:число_описателей]]
[прототип] [промежуток число_блоков_на_цилиндре]
ОПИСАНИЕ
Утилита mkfs создает файловую систему на устройстве,
заданном именем специального_файла. Последующие аргументы командной строки определяют характеристики создаваемой файловой системы. Перед началом содержательных
действий утилита ждет 10 секунд, и в это время ее можно
завершить аварийно, введя символ прерывания (обычно
CTRL+C).
Из двух возможных вторых аргументов (число_блоков, прототип) должен быть задан ровно один.
Если второй аргумент командной строки является цепочкой
цифр, он трактуется как десятичное число_блоков (физических, по 1024 байта), которые будет занимать файловая
система. Если число_описателей файлов не указано, по
умолчанию оно принимается равным количеству логических
(теперь также 1024-байтных) блоков, деленному на 4.
Утилита строит файловую систему, состоящую из единственного пустого каталога. Блок программы начальной загрузки (блок 0) остается неинициализированным. Впрочем,
система эту информацию все равно не использует [см.
fs(4)].
Если второй аргумент есть имя файла, доступного на чтение, mkfs рассматривает этот файл как прототип, задающий строение файловой системы. Прототип содержит поля,
разделенные пробелами или символами перевода строки.
Ниже приводится пример файла-прототипа.
/stand/diskboot
4872 110
d--777 3 1
usr d--777 3 1
sh ---755 3 1 /bin/sh
ken d--755 6 1
$
b0 b--644 3 1 0 0
c0 c--644 3 1 0 0
$
$
Первая строка содержит имя файла с программой начальной
загрузки (атавизм).
Строка 2 задает количество физических (по 1024 байта)
блоков, которые будет занимать файловая система, и количество описателей файлов.
Строки 3-9 определяют файлы и каталоги, которые должны
войти в файловую систему.
Строка 3: Корневой каталог.
Строки 4-6 и 8-9: Остальные каталоги и файлы.
Символ $ в седьмой строке означает, что mkfs должна завершить обработку текущей ветви файловой системы. Символы $ в строках 10 и 11 завершают процесс, так как
дальнейшие спецификации отсутствуют.
В спецификации файла указываются режим, идентификаторы
владельца и группы, начальное содержимое файла. Допустимый синтаксис для определения содержимого зависит от
первого символа в режиме файла.
Режим файла записывается в виде цепочки из шести символов. Первый символ обозначает тип файла. Этот символ
может принимать одно из четырех значений: -bcd, которые
означают соответственно обычный, специальный блочный,
специальный символьный файл или файл-каталог. Второй
символ может принимать значение u (переустанавливать
идентификатор пользователя) или - (не переустанавливать). Третий символ может принимать значение g (переустанавливать идентификатор группы) или - (не переустанавливать). Затем указываются три восьмеричные цифры,
определяющие права доступа владельца, группы и прочих
пользователей [см. chmod(1)].
После указания режима файла указываются две десятичные
цифры; они определяют идентификаторы пользователя и
группы для владельца файла.
Если файл является обычным, то далее может указываться
маршрутное имя файла, который будет в него скопирован.
Если файл является специальным, то следующие две цифры
определяют старший и младший номера устройства. Если
файл является каталогом, то mkfs создает в нем файлы .
и .., а затем (рекурсивно) читает список имен и спецификаций для файлов данного каталога. Как указывалось
выше, признаком конца списка служит символ $.
Двумя последними аргументами командной строки являются
промежуток между последовательно читаемыми блоками одного цилиндра и число_блоков_на_цилиндре. Если эти аргументы не заданы или имеют недопустимые значения, используются подразумеваемые значения, соответственно 7 и
400.
СМ. ТАКЖЕ
chmod(1) в Справочнике пользователя.
dir(4), fs(4) io(4) в Справочнике программиста.
СЮРПРИЗЫ
При указании файла-прототипа нельзя ни копировать файлы, размер которых превышает 64К байт, ни создавать
ссылки.
Максимальное число описателей файлов равно 65500.