Вроде того, но учтите, что размер файла не определен четко на этом уровне точности.
Символьная ссылка состоит из четырех частей:
Если файловая система позволяет символическим ссылкам иметь несколько жестких ссылок, первые две части относятся к каждой записи каталога, а последние две части присутствуют только один раз для каждой символической ссылки.
В ext2 / ext3 / ext4 цель символьной ссылки сохраняется в индексном дескрипторе, если его длина не превышает 60 байт. Вы можете подтвердить это, задав запрос du
: он сообщает 0 для символических ссылок, чья цель составляет ≤60 байт, и один блок для более крупных целей.
Как и в случае с обычным файлом, цифра, указанная в du
, не включает хранилище для записи каталога и индексного дескриптора. Если вы хотите точно знать, сколько места занимает символическая ссылка, вы также должны посчитать это. Большинство классических файловых систем выделяют inodes во время создания файловой системы, поэтому затраты разделяются: размер записи каталога учитывается по количеству блоков данных, индекс inode учитывается по размеру пула inode.
Что касается размера самой записи каталога, точное количество байтов, занятых записью, может зависеть от того, какие другие записи присутствуют в каталоге. Однако каталог обычно занимает целое количество блоков, поэтому, если вы создаете все больше и больше записей, размер каталога остается прежним, пока записи не перестанут помещаться в один блок и не будет выделен второй блок, и так далее. Чтобы точно увидеть, как записи каталога хранятся в блоке, вам понадобится отладчик файловой системы и удовлетворительное понимание формата файловой системы или хорошее или отличное понимание формата файловой системы, а также знание того, какие другие записи присутствуют. в каталоге и, возможно, в порядке их создания и удаления других записей.
Таким образом, «несколько байтов для других метаданных»:
Кроме того, цель может занимать от 0 до одного блока.