Жесткие ссылки
Жесткими ссылками называются указатели на inode. Так, фактически наименование файла является ссылкой на узел inode, содержащий информацию о файле. Как вы уже знаете, с помощью команды ls с параметром -i можно отобразить номера inode для записей файлов и каталогов.
Вы можете использовать команду ln для создания дополнительных жестких ссылок на существующие файлы (но не на каталоги, даже несмотря на то, что в системе . и .. определены как жесткие ссылки). Если на один узел inode указывает несколько ссылок, этот узел будет удален только тогда, когда количество ссылок на него станет равным нулю.
В листинге 58 показано, как создать файл и жесткую ссылку на него. Также там показано, что даже при удалении исходного наименования файла вторая жесткая ссылка предотвращает стирание при этом узла inode.
Листинг 58. Жесткие ссылки
ian@pinguino:~$ echo testing > file1
ian@pinguino:~$ ls -l file*
-rw-r--r-- 1 ian ian 8 2005-12-26 15:35 file1
ian@pinguino:~$ ln file1 file2
ian@pinguino:~$ ls -l file*
-rw-r--r-- 2 ian ian 8 2005-12-26 15:35 file1
-rw-r--r-- 2 ian ian 8 2005-12-26 15:35 file2
ian@pinguino:~$ rm file1
ian@pinguino:~$ ls -l file*
-rw-r--r-- 1 ian ian 8 2005-12-26 15:35 file2
ian@pinguino:~$ cat file2
testing
Жесткие ссылки могут существовать только в рамках определенной файловой системы. Они не могут связывать несколько файловых систем, так как ссылка на файл происходит по номеру inode, который уникален только в рамках файловой системы.
Поиск жестких ссылок
Если вам необходимо узнать, какие файлы ссылаются на определенный узел inode, вы можете использовать команду find и параметр -samefile с указанием имени файла или параметр -inum с указанием номера inode, как показано в листинге 59.
прочитать полностью