В 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 жесткими ссылками, но на самом деле не понимаю, почему. Я хочу знать, возможно ли это сделать в любом случае.