TextEdit не заботится о жестких ссылках?

Возможный дубликат:
Жесткая ссылка не работает под Mac OS X в режиме GUI

Я провел небольшой эксперимент. Сначала я запустил следующее в Терминале:

mkdir test
cd test
echo "A" > a
echo "B" > b
ln a.txt c

Сейчас a а также c имеют одинаковое содержание, Aи тот же номер инода. Я могу потом редактировать cиспользуя vim, чтобы содержать C вместо A а также a также будет содержать C, так как это один и тот же файл.

Однако, если я снова проведу тот же эксперимент, но использую TextEdit вместо vim, при сохранении я создаю новый файл. c получает новый номер инода и a все еще содержит A, Почему это? В чем дело?

1 ответ

Решение

Может быть, процедура сохранения TextEdit работает так:

  1. сохраните содержимое в файле с именем, отличным от оригинала, чтобы все правильно записывалось на диск. если содержимое было успешно записано на диск, продолжайте.
  2. отвязать старое имя файла
  3. переименуйте новый файл в "old filename"
  4. освободить файловый дескриптор старого имени файла.
Другие вопросы по тегам