Почему создание файла в Apfs увеличивает количество жестких ссылок на родительский каталог? - PullRequest
0 голосов
/ 25 июня 2019

С этой страницы я прочитал:

Помните, что файл ".." всегда указывает на родительский каталог. И помните, что когда я создаю каталог, ядро ​​создает файлы "." и ".." внутри каталога.

Поэтому каждый раз, когда я создаю каталог «под» моим текущим каталогом, в новом каталоге есть запись «..», которая является родительским каталогом.

Это означает, что при создании файла количество жестких ссылок на родительский каталог не увеличивается.

Я пробовал на виртуальной машине Fedora:

[vagrant@trial ~]$ mkdir foo
[vagrant@trial ~]$ ls -la foo
total 0
drwxrwxr-x. 2 vagrant vagrant   6 Jun 25 05:42 .
drwx------. 4 vagrant vagrant 106 Jun 25 05:42 ..
[vagrant@trial ~]$ touch foo/hello
[vagrant@trial ~]$ ls -la foo
total 0
drwxrwxr-x. 2 vagrant vagrant  19 Jun 25 05:42 .
drwx------. 4 vagrant vagrant 106 Jun 25 05:42 ..
-rw-rw-r--. 1 vagrant vagrant   0 Jun 25 05:42 hello

Жестких ссылок foo по-прежнему две, что я и ожидал.

Но когда я попробовал на Mac OS X, он действительно проводной:

➜  tmp mkdir foo
➜  tmp ls -la foo
total 0
drwxr-xr-x   2 laixintao  wheel   64 Jun 25 20:45 .
drwxrwxrwt  27 root       wheel  864 Jun 25 20:45 ..
➜  tmp touch foo/hello
➜  tmp ls -la foo
total 0
drwxr-xr-x   3 laixintao  wheel   96 Jun 25 20:46 .
drwxrwxrwt  27 root       wheel  864 Jun 25 20:45 ..
-rw-r--r--   1 laixintao  wheel    0 Jun 25 20:46 hello

Количество жестких ссылок foo увеличено до трех.

...