При попытке команда
me@me:~$ ls -hl | head -5
total 60M
-rw-r--r-- 1 me me 250 Jan 16 11:43 $tty
-rw-r--r-- 1 me me 0 Jan 16 11:41 1
drwxr-xr-x 2 me me 4.0K Jan 16 15:28 Desktop
drwxr-xr-x 7 me me 4.0K Jan 13 14:33 Documents
Найденный этим Documents
каталог имеет 7 жестких ссылок, какова причина такого дублирования?
Если каталог Documents
имеет семь жестких ссылок, это означает что:
Одна жесткая ссылка с имени Documents
в его родительском каталоге.
Одна жесткая ссылка от записи .
в Documents
самостоятельно.
Пять жестких ссылок от записей ..
в пяти подкаталогах.
ls -l
показывает количество жестких ссылок (?)Каталоги псевдонима папок не могут быть трудно связаны (но они могут быть связаны с с символьными ссылками). Число в том же месте как количество жестких ссылок для файлов означает что-то еще, связанное с тем, в каком количестве пространства папка нуждается в 'таблице' файловой системы, потому что число растет с количеством подпапок.
Жесткие ссылки означают, что на данные в определенном inode указывает больше чем одно имя файла (таким образом, трудно связанные имена совместно используют то же inode число).
Существует подробное объяснение Sergiy Kolodyazhnyy в этой ссылке и этом комментарии его,
Каталоги псевдонима папок не могут быть трудно связаны пользователями, так как это создало бы проблемы с файловой системой. Сама файловая система позволяет жесткие ссылки очень управляемым способом, который является.. и. специальные записи. Размер, однако, как показывают, в большинстве случаев составляет 4 096 байтов (см. это связанное сообщение), но если я не ошибаюсь, каталог с большим количеством записей может пробежаться через то число. Это может стоить добавить к ответу
Столбец № 5 в выводе ls-l показывает размер файла (?)
Но что относительно папок - большинство папок занимает 4 кибибита, но когда существует много файлов (и подпапки), имена не могут быть сжаты в 4 кибибита, и больше места будет выделено, 8 кибибитов, 12 кибибитов и т.д. Мой 'худший' случай является папкой кэша Firefox с 'размером' 4 012 кибибитов. Это содержит 58 971 файл, и эти файлы занимают 2,2 гибибайта. Это напоминает мне, что получает время ясное кэш Firefox ;-)
Можно проверить, что inode число папки Documents уникально, никакой другой файл или папка не совместно используют его. Можно проверить другие папки также.
Попробуйте следующие команды (возможно, измененный, если у Вас есть другой язык (чем английский язык).
Определите inode число (Вы получите другое число, чем I),
$ls -lid ~/Documents/
3017032 drwxr-xr-x 2 sudodus sudodus 4096 feb 28 2016 /home/sudodus/Documents/
Поиск файлов/папок с этим inode число (и стараются избегать слишком многих выводов предупреждения/ошибки),
$ sudo find / -path /proc -prune -o -ls | grep ' 3017032 '
[sudo] password for sudodus:
3017032 4 drwxr-xr-x 2 sudodus sudodus 4096 feb 28 2016 /home/sudodus/Documents
find: ‘/run/user/1000/gvfs’: Permission denied
или
$ sudo find / -inum 3017032 -ls
3017032 4 drwxr-xr-x 2 sudodus sudodus 4096 feb 28 2016 /home/sudodus/Documents
find: '/proc/1643/task/1643/net': Invalid argument
find: '/proc/1643/net': Invalid argument
find: '/proc/1741/task/1741/net': Invalid argument
find: '/proc/1741/net': Invalid argument
find: '/proc/4021': No such file or directory
find: '/proc/4038': No such file or directory
find: '/proc/4039': No such file or directory
find: '/run/user/1000/gvfs': Permission denied
Следующий пример показывает соответствующий случай с тремя трудно связанными именами файлов.
Определите inode число
$ ls -il owned\ by\ root
56492055 -rw-r--r-- 3 root root 1048576 jan 16 23:41 'owned by root'
Поиск в файловой системе (в этом случае мой data
раздел)
$ sudo find /media/multimed-2/ -inum 56492055
[sudo] password for sudodus:
/media/multimed-2/test/test0/owned by root hard-linked
/media/multimed-2/test/test0/owned by root
/media/multimed-2/test/test0/sub/owned by root