Файловая система Mac - знает, где находятся перемещенные файлы?
571
Brett
Может быть, это только я, но похоже, что Mac OS знает, где находится файл, даже когда он перемещен. Кто-нибудь знает, почему это?
Конечно, это так. В конце концов, вы используете 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.
Кстати, 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.