Файловая система Mac - знает, где находятся перемещенные файлы?

538
Brett

Может быть, это только я, но похоже, что Mac OS знает, где находится файл, даже когда он перемещен. Кто-нибудь знает, почему это?

0
Конечно, это так. В конце концов, вы используете Mac OS для перемещения файла. :) grawity 13 лет назад 2
Есть несколько способов интерпретировать этот вопрос. [Мой ответ на вопрос по Unix.SE] (http://unix.stackexchange.com/questions/7707/how-do-open-files-behave-on-linux-systems/7712#7712) отвечает на один из них, как это обсуждает внутренности традиционных файловых систем Unix (которые --- [примечания tobylane ниже] (http://superuser.com/questions/268371/mac-file-system-knows-where-moved-files-are / 268401 # 268401) --- HFS + акций). dmckee 13 лет назад 1

2 ответа на вопрос

5
grawity

In addition to the file's path, Mac OS aliases record several pieces of additional information: the file's unique ID, its parent directory ID, file size, [possibly creation time]; which are used to locate the most probable match in case of a broken link. I think most of the time a file is found by its unique ID, which does not change after a rename.

See also Alias (Mac OS) on Wikipedia.

Кстати, Windows способна исправлять неработающие ярлыки очень похожим образом (сначала с использованием уникального идентификатора, временных меток и размера файла в случае сбоя при поиске идентификатора). grawity 13 лет назад 0
5
tobylane

The Mac file system is called HFS+. It uses inode numbers in a B-tree, with the physical and logical location (three parts in total). Metadata is in another b-tree, along with the data-forks.

So it knows what to expect in a place, knows of another way to refer to it, looks that up and there you go. It's like if someone moved house, you still have their mobile phone number to call.

Похожие вопросы