LINUX.ORG.RU

find / -samefile


0

1

Приветствую.
Есть в домашнем каталоге директория .config, на которую есть 29 (на моей машине) жестких ссылок. Пытался найти их командами
find / -samefile /home/username/.config/
и
find / -inum 123123
но ничего кроме самого ./config не найдено.
Искал и от рута. Что я делаю не так?


> Что я делаю не так?

Не знаешь теории.

Эти жеские ссылки — это ссылки .. из дочерних директорий.

geekless ★★
()
Ответ на: комментарий от tiandrey

из man ln

В существующих реализациях, если команда ln может создавать жесткую ссылку на каталог, то она может это делать только от лица суперпользователя. POSIX запрещает системному вызову link(2) и утилите ln создавать жесткие ссылки на каталоги (но не запрещает создавать жесткие ссылки на файлы, которые находятся на других файловых системах).

OldFatMan
()
Ответ на: комментарий от tiandrey

Ещё один мой промах.
Всё из-за спорного предложения:

Немет, Снайдер, Хейн - Руководство администратора Linux

Любой каталог имеет минимум две жесткие ссылки: ...


kompas
() автор топика
Ответ на: комментарий от kompas

Ну да, это ссылка из родительского каталога и '.' в каталоге. И плюс еще по одной для каждого дочернего, это '..' в них.

tiandrey ★★★★★
()
Ответ на: комментарий от OldFatMan
[pf@eternity]:[~][0]% mkdir a       
[pf@eternity]:[~][1]% mkdir b       
[pf@eternity]:[~][1]% sudo ln a c   
ln: «a»: не допускається створювати жорсткі посилання на каталоги
[pf@eternity]:[~][1]% sudo ln -d a c
ln: не вдалося створити жорстке посилання «c» => «a»: Operation not permitted

Я вообще себе слабо представляю смысл жёсткой ссылки на каталог.

post-factum ★★★★★
()
Ответ на: комментарий от OldFatMan

На курсе «операционные системы» нам рассказывали, что хардлинки на директории делать нельзя, ибо любой рекурсивный алгоритм, если не будет запоминать посещенные иноды, залу^W зациклится. А если их запоминать, то время работы алгоритма станет нелинейным, а это нам ни к чему.

Может, скажете, где хардлинки на директории разрешены? И еще интересно, как реализованы хардлинки на файлы, которые находятся на других файловых системах.

tiandrey ★★★★★
()
Ответ на: комментарий от post-factum

> Я вообще себе слабо представляю смысл жёсткой ссылки на каталог.

Так я и не говорю, что такие ссылки нужны. У меня тоже никогда не возникало необходимости в них, я даже и не задумывался над этим вопросом.

Просто в связи с вопросами ТСа залез в man и увидел то, что в цитате выше написано. Я даже и не знаю, существуют ли сейчас реализации *nix-like систем, в которых разрешены хард-линки на каталоги.

OldFatMan
()
Ответ на: комментарий от tiandrey

> Может, скажете, где хардлинки на директории разрешены? И еще интересно, как реализованы хардлинки на файлы, которые находятся на других файловых системах.

Я уже ответил (в комменте выше), что не знаю, есть ли сейчас такие реализации. Самому интересно стало. Надо бы погуглить.

OldFatMan
()
Ответ на: комментарий от kompas

POSIX запрещает системному вызову link(2) и утилите ln создавать жесткие ссылки на каталоги (но не запрещает создавать жесткие ссылки на файлы, которые находятся на других файловых системах)

tiandrey ★★★★★
()
Ответ на: комментарий от tiandrey

http://www.gnu.org/software/coreutils/manual/html_node/ln-invocation.html#ln-invocation


Hard links cannot cross file system boundaries. (These restrictions are not mandated by POSIX, however.)

kompas
() автор топика
Ответ на: комментарий от tiandrey

В википедии в статье есть краткая ссылка, но не на современную ОС:

A notable exception to this is Mac OS X v10.5 (Leopard) which uses hard links on directories for the Time Machine backup mechanism only.

Больше пока ничего не нагуглил.

OldFatMan
()
Ответ на: комментарий от post-factum

Я смотрю ты крутой нетворк администратор и кернел девелопер: то у тебя нулей в ip-адресе быть не может, то хардлинк на директорию создать не можешь.

power
()
Ответ на: комментарий от power

Единственная ОС, в которой используются хард-линки на каталоги, упомянута в моём комменте, который как раз над твоим, и то там только для механизма резервного копирования. Других вариантов я пока не нашёл. В линуксе хард-линки на каталоги запрещены.

OldFatMan
()
Ответ на: комментарий от power

Ясно. У меня к тебе больше вопросов нет.

PS: Нет, всё-таки есть один - последний. Если не трудно, продемонстрируй создание хард-линка на каталог, pls.

OldFatMan
()
Ответ на: комментарий от uspen

> не люблю когда бескомпромиссно о чем либо говорят.

Вода мокрая, соль солёная, хардлинки на каталоги в линуксе запрещены (см. man). Не люби дальше. :)

OldFatMan
()
Ответ на: комментарий от power

The debugfs program is an interactive file system debugger.

Прям с утра до ночи все используют debugfs, да.

Ты покажи создание хард-линка на каталог в обычной фс, без всяких «дебаггеров».

OldFatMan
()
Ответ на: комментарий от OldFatMan

Ты покажи создание хард-линка на каталог в обычной фс, без всяких «дебаггеров».

Да легко. Только это уже в Jobs.

power
()
Ответ на: комментарий от power

Да легко. Только это уже в Jobs.

А вот это уже похоже на слив.

post-factum привёл доказательство

Вот тебе ещё одно:

$ ln restore rstr1
ln: `restore': не допускается создавать жесткие ссылки на каталоги
$

а ты не хочешь, мотивируя это тем, что тебе нужна «плата за работу».

Извини, но теперь уже окончательно:

у меня больше нет вопросов к тебе

OldFatMan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.