В Linux, когда вы создаете папку, она автоматически создает две жесткие ссылки на соответствующий индекс. Одна - папка, которую вы просили создать, другая - .специальная папка, эта папка.
Пример:
$ mkdir folder
$ ls -li
total 0
124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 folder
$ ls -lai folder
total 0
124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 .
124593716 drwxr-xr-x 3 fantattitude staff 102 18 oct 16:52 ..
Как вы можете видеть, оба folderи .внутри folderимеют одинаковый номер инода (показано с -iопцией).
Есть ли способ удалить эту специальную .жесткую ссылку?
Это только для экспериментов и любопытства.
Также я думаю, что ответ может относиться и к ..специальному файлу.
Я пытался заглянуть в rmчеловека, но не мог найти способ сделать это. Когда я пытаюсь удалить .все, что я получаю, это:
рм: "." и ".." нельзя удалить
Мне действительно любопытно, как все эти вещи работают, поэтому не воздерживайтесь от подробного описания предмета.
РЕДАКТИРОВАТЬ: Может быть, я не был ясен с моим постом, но я хочу понять основной механизм, который отвечает за .файлы и причины, почему они не могут быть удалены.
Я знаю, что стандарт POSIX запрещает папку с менее чем 2 жесткими ссылками, но на самом деле не понимаю, почему. Я хочу знать, возможно ли это сделать в любом случае.