Мой вывод ls -l :
drwxr-xr-x 2 dario dario 4096 Sep 14 13:15 d1
-rw-r--r-- 1 dario dario 0 Sep 14 13:18 file1
Почему files = 1?
d1 пуст. Зачем показывать 2?
Мой вывод ls -l :
drwxr-xr-x 2 dario dario 4096 Sep 14 13:15 d1
-rw-r--r-- 1 dario dario 0 Sep 14 13:18 file1
Почему files = 1?
d1 пуст. Зачем показывать 2?
Число 1 для file1 говорит, что нет другой жесткой ссылки на этот файл. Если unlink или rm это file1 в текущем каталоге , то его содержимое будет помечено как свободное место на диске и в конечном итоге перезаписаны. Если бы было две другие жесткие ссылки, то общее число было бы 3 и это то, что вы увидите.
Число 2 для каталога d1 несколько похоже. В Linux вы не можете свободно создавать жесткие ссылки на каталоги, хотя (почти) в каждом каталоге есть как минимум два:
d1 ),. само по себе;.. в каждом из его подкаталогов (в данном случае их нет).Обратите внимание, что .. в самой d1 не влияет на это число. Это способствует подсчету ссылок родительского каталога d1 .
Исключением является / . У него нет родительского каталога, но . и .. в / ссылаются на / , так что у вас еще есть две ссылки плюс одна для каждого подкаталога.
Вот как это работает в файловой системе ext семьи. Другие файловые системы могут вести себя по-другому. Например, btrfs обычно показывает 1 для каталогов.
Каждый каталог содержит как минимум две записи. Это:
. (текущий каталог) и,
.. (родительский каталог).
file1 имеет одну ссылку, указывающую на него