MKFS(1M) 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.