столбец “блоков” в выводе fdisk

sort -t: -k2

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

sort -t: -k2,2

к виду на втором поле только.

5
21.03.2014, 12:02
4 ответа

Для понимания блока, дорожки, цилиндра необходимо знать такие понятия, как сектор, дорожка, цилиндр. Вот простое определение:

Blocks and clusters

The Unix communities employ the term block to refer to a sector or group of
sectors. For example, the Linux fdisk utility normally displays partition
table information using 1024-byte blocks, but also uses the word sector to
help describe a disk's size in the phrase, 63 sectors per track.

Вы можете прочитать больше в этой ссылке.

5
27.01.2020, 20:33

В моей версии Ubuntu 14.04 fdisk перечисляет разделы в блоках, но не сообщает мне, сколько секторов находится в каждом блоке. Однако он дает номер начального и конечного секторов для каждого раздела, и когда я вычитаю начальную точку из конечной точки, я получаю ровно в два раза больше секторов, чем в разделе есть блоки. То есть в каждом блоке Ubuntu 12.04 есть два сектора.

1
27.01.2020, 20:33

Я не верю fdisk делает отчеты по 1k блокам - или вообще сообщает о блоках . Со страницы man :

-u , - units [= unit]

  • При перечислении таблиц разделов показывать размеры в секторов или в цилиндрах . По умолчанию размеры отображаются в секторах . Для обратной совместимости можно использовать опцию без аргумента unit - тогда используется значение по умолчанию.Обратите внимание, что необязательный аргумент единицы измерения не может быть отделен от опции -u пробелом, правильная форма, например, -u = cylinders .

Хорошо, значит, fdisk не отображает вывод как блоки . По умолчанию он использует цилиндров или секторов . Что ж, вот что википедия говорит о секторе :

В компьютерном дисковом хранилище сектор является подразделением дорожки на магнитном или оптическом диске. В каждом секторе хранится фиксированный объем данных, доступных пользователю, традиционно 512 байтов для жестких дисков (HDD) и 2048 байтов для CD-ROM и DVD- ПЗУ. Новые жесткие диски используют секторы размером 4096 байт (4 КиБ) , которые известны как расширенный формат (AF).

Теперь это имеет для меня больше смысла. Я никогда раньше не слышал о секторе 1K , поэтому наткнувшись на него, я смутился. Однако некоторые поисковые запросы показали, что была небольшая партия дисков под брендом Seagate, которые были поставлены в течение части 2005 года, и действительно сообщали о размере сектора в 1 КБ.

И вообще, это прямо в выводе заголовка:

Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sector
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: E12A6152-B1E6-4D4A-9799-491B339BA633

Device        Start       End   Sectors  Size Type
/dev/sda1      4096   6197247   6193152    3G EFI System
/dev/sda2   6293504  31459327  25165824   12G Linux filesystem
/dev/sda3  31459328 234441614 202982287 96.8G Linux filesystem

Видите? Единицы: секторы размером 1 * 512 = 512 байт ...

1
27.01.2020, 20:33

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

В настоящее время существует множество различных типов оборудования и множество различных файловых систем (некоторые из которых не имеют понятия о размере блока), поэтому «размер блока» - это произвольное определение, выбираемое каждым инструментом. Большинство традиционных систем Unix сохранили размер блока 512 байт по умолчанию для обратной совместимости, и это то, что POSIX требует для нескольких команд ( dd , du , df ], ls , find -size ,…). Некоторые утилиты GNU / Linux по умолчанию отображают единицы измерения размером 1 КБ ( du , df , ls ,…), если они не вызываются в режиме POSIXLY_CORRECT . Я думаю, что переход на 1 КБ мотивирован исключительно потому, что это намного удобнее для людей.

Утилита Linux fdisk использовала блоки размером 1 КБ для двух декаров - заголовок также мог читать КБ . В контексте fdisk Linux «блок» всегда означает 1 КБ. Единица измерения по умолчанию была изменена в версии 2.25 , теперь единицей измерения являются сектора размером 512 байт. В экспертном режиме единицей измерения всегда были сектора по 512 байт. 512 байт - более естественная единица измерения низкого уровня для традиционных дисков ПК, потому что они записывают в секторах размером 512 байт, а границы разделов выровнены по 512 байт, поэтому использование 1 Кбайт в качестве единицы приводит к 1/2 дроби. Современные большие диски имеют более крупные сектора (но «секторы» широко используются для обозначения 512 байт независимо от каких-либо физических или логических характеристик диска), а разделы GPT обычно выравниваются по 1 МБ.

7
27.01.2020, 20:33

Теги

Похожие вопросы