У Linux, коли ви створюєте папку, вона автоматично створює два жорстких посилання на відповідний inode. Одна - це папка, яку ви попросили створити, а інша - .
спеціальна папка цієї папки.
Приклад:
$ 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
людину, але не міг знайти способу це зробити. Коли я намагаюся видалити .
все, що я отримую, це:
rm: "." і ".." не можна видалити
Мені дуже цікаво, як ці речі працюють, тому не утримуйтесь від того, щоб бути дуже багатослівним з цього приводу.
EDIT: Можливо, я не зрозумів свою посаду, але я хочу зрозуміти основний механізм, який відповідає за .
файли та причини, за якими їх не можна видалити.
Я знаю, що стандарт POSIX забороняє папку з менш ніж 2 жорсткими посиланнями, але насправді не розумію, чому. Я хочу знати, чи можна це зробити в будь-якому випадку.