Это раздражающая особенность Linux.

Если я открыл файл в каталоге, а затем удалил каталог и скопировал другой каталог с таким же именем в то же место, я все еще могу отредактировать и сохранить открытый файл, но он попадет в корзину! Я совершал одни и те же ошибки несколько раз. Я продолжаю редактировать открытый файл и думал, что он будет сохранен во вновь скопированном каталоге, но этого не произошло, и в конце концов я потерял все редактирование.

Могу ли я отключить эту функцию?

1 ответ1

2

Это функционирует как задумано. Файловые дескрипторы могут оставаться открытыми даже после отмены ссылки на файл. Страница руководства для unlink(2) гласит:

unlink() удаляет имя из файловой системы ...Если имя относится к сокету, fifo или устройству, имя для него удаляется, но процессы, у которых открыт объект, могут продолжать его использовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .