С этой страницы я прочитал:
Помните, что файл ".." всегда указывает на родительский каталог. И помните, что когда я создаю каталог, ядро создает файлы "." и ".." внутри каталога.
Поэтому каждый раз, когда я создаю каталог «под» моим текущим каталогом, в новом каталоге есть запись «..», которая является родительским каталогом.
Это означает, что при создании файла количество жестких ссылок на родительский каталог не увеличивается.
Я пробовал на виртуальной машине 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
увеличено до трех.