(работает с большинством оболочек):
IFS=; <file \
read -r IFS # read 1 line into $IFS
set -- $IFS # split while eliding $IFS whitespace
echo "$((${#IFS}-$#))" # $IFS len less $IFS field count
О разбиении MSDOS на разделы:
This would seem to indicate that the first hard drive has a fat partition of some sort on the second disk partition and is referred to as an msdos partition scheme.
На самом деле указание msdos2
имеет отношение только к схеме разбиения; Формат, используемый для определения разделов. Например, альтернативный формат — GPT. Это не имеет ничего общего с содержимым разделов, например, с используемыми файловыми системами, такими как FAT.
Относительно срезов:
What is a sub partition and how does it differ from logical and extended partitions? More specifically: what is a BSD 'a' partition and a first PC slice number?
Путаница здесь происходит из-за разницы в терминологии в системах BSD Unix. В игре есть два уровня «разделения».
Первый — это разделы MSDOS (или GPT ). На этом уровне информация о разделах хранится в структуре, расположенной в начале диска (, а в случае GPT копия хранится в конце диска ). Это уровень разделения, понятный аппаратному обеспечению; Прошивка BIOS или UEFI знает, как загрузить ОС (или менеджер загрузки/загрузчик )с таких разделов.
Вторым уровнем в данном случае является метка диска BSD . Эта информация о разделах хранится в разделе MSDOS/GPT. Кроме того, аппаратное обеспечение (, по крайней мере, в случае ПК ), не понимает и не использует этот уровень разделения. Операционная система должна что-то с этим сделать. Системы BSD могут использовать эту схему разбиения.
А вот и кикер. В контексте систем BSD,раздел MSDOS/GPT называется слайсом, а подразделы -, созданные меткой диска BSD, называются разделами.
Возможно, вы заметили сходство между разделами BSD и логическими разделами MSDOS. Хотя они концептуально похожи, в том, что раздел верхнего уровня -разделен на подразделы -, как вы можете видеть, они реализованы по-разному.