Em sistemas operacionais de computador,mkfs é um comando usado para formatar umdispositivo de armazenamento em bloco com umsistema de arquivos específico. O comando é parte dos sistemas operacionaisUNIX etipo UNIX. No UNIX, um dispositivo de armazenamento em bloco deve ser formatado com um sistema de arquivos antes de poder sermontado e acessado por meio dahierarquia de sistema de arquivos do sistema operacional.
O comando foi originalmente implementado na primeira versão do UNIX como um método para inicializar um DECtape (usando o argumento "t") ou um pacote de discos RK03 (usando o argumento "r").[1] O processo de inicialização gravaria dados de formatação no dispositivo para que ele contivesse um sistema de arquivos vazio. Ele criou o super-bloco, lista-i (i-list) e lista livre no dispositivo de armazenamento e estabeleceu o diretório raiz com entradas para "." e ".." (si mesmo e o pai, respectivamente). Os pacotes RK03 tinham 4872 blocos disponíveis após a inicialização, enquanto as fitas tinham 578 blocos (com 512 bytes/bloco).[2] O executável mkfs era mantido no diretório/etc em vez de em um diretório binário, portanto, ele não seria chamado inadvertidamente e destruiria as informações.
Implementações posteriores de sistemas operacionais dotipo UNIX incluíram o comando mkfs, incluindo oHP-UX,[3] oMinix,[4] oSunOS[5] e oLinux.[6]
A sintaxe básica do comando, que é comum para todas as implementações modernas, é:
$mkfs-t<tipo_do_sa><dispositivo>
onde'tipo_do_sa'
é o tipo do sistema de arquivos e'dispositivo'
é o dispositivo UNIX de destino para gravar os dados do sistema de arquivos. Normalmente, o "dispositivo" é uma partição do disco. Geralmente, o comando é simplesmente umempacotador para outro comando que executa a formatação de um sistema de arquivos específico. Por exemplo,
$mkfs-text3/dev/sda1
chamaria o comandomke2fs
passando os argumentos apropriados para formatar o dispositivo/dev/sda1
com o sistema de arquivos ext3. As opções padrão para o comando são armazenadas no arquivomke2fs.conf
, geralmente no diretório/etc
. Dependendo da implementação e do sistema de arquivos específico solicitado, o comando pode ter muitas opções que podem ser especificadas, como tamanho doinode, tamanho dobloco, rótulo dovolume e outros recursos. (Vejasistema de arquivos para detalhes)
Os comandos específicos do sistema de arquivos que as chamadas do mkfs podem ser invocadas diretamente pelo usuário a partir da linha de comando. No Linux, a convenção tem sido nomear os comandos específicos do sistema de arquivos como:mkfs.<tipo_do_sa>
. Onde<tipo_do_sa>
é uma abreviação para o sistema de arquivos, por exemplo,mkfs.ext2
,mkfs.msdos
,mkfs.minix
etc. Os sistemas de arquivos suportados pelo comando variam de acordo com a implementação e incluem: MSDOS, SCO bfs, CPM, ext2 , ext3, ext4, minix, gordura (vfat), HFS, VXFS, disco RF, disco RK, DECtape e NTFS.