Ссылки
Существует два способа связать файл foo с другим именем файла bar.
жесткая ссылка - это имя-дубликат для существующего файла (ln foo bar),
символичесая ссылка или "symlink" - это специальный файл, который указывает на другой файл по его имени (ln -s foo
bar).
Смотрите следующий пример на предмет изменения счетчика ссылок и тонкую разницу в результате команды rm
$ echo "Исходное содержимое" > foo
$ ls -l foo
-rw-r--r-- 1 osamu osamu 4 Feb 9 22:26 foo
$ ln foo bar # жесткая ссылка $ ln -s foo baz # символическая ссылка $ ls -l foo bar baz
-rw-r--r-- 2 osamu osamu 4 Feb 9 22:26 bar
lrwxrwxrwx 1 osamu osamu 3 Feb 9 22:28 baz -> foo
-rw-r--r-- 2 osamu osamu 4 Feb 9 22:26 foo
$ rm foo
$ echo "Новое содержимое" > foo
$ cat bar
Исходное содержимое $ cat baz
Новое содержимое
Символическая ссылка всегда имеет номинальные права доступа файла "rwxrwxrwx", как это было показано в предыдущем примере, и эффективные права доступа соответствующие правам доступа файлу, на который ссылка указывает.
Каталог . является ссылкой на сам каталог, в котором он находится, то есть счетчик ссылок любого нового каталога начинается с 2. Каталог .. ссылается на родительский каталог, поэтому счетчик ссылок каталога увеличивается с добавлением новых подкаталогов.