1.1, Аноним (1), 23:37, 26/02/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Каким образом можно удалить открытый файл?
Лучше размести мануал по грамотному восстановлению любых файлов из любой файловой системы с использованием разных средств (консольные и графические программы и команды).
| |
|
2.2, ТовариЩ (?), 00:50, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Каким образом можно удалить открытый файл?
>Лучше размести мануал по грамотному восстановлению любых файлов из любой файловой системы
>с использованием разных средств (консольные и графические программы и команды).
Вот и займтесь этим!
| |
|
3.4, daevy (?), 06:18, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Каким образом можно удалить открытый файл?
под рутом, удалит и не поперхнется... тут же вспомнил свой первый и последний эксперимент с rm -rf /
| |
|
4.22, dry (?), 10:19, 04/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Веселый хак, пятерка.
А вот то, что это огромная дыра в безопасности, это уже не весело, напротив весьма и весьма грустно.
| |
|
5.23, const86 (ok), 14:45, 06/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>А вот то, что это огромная дыра в безопасности, это уже не весело, напротив весьма и весьма грустно.
Где дыра?
| |
|
|
|
2.5, BAXMAH (?), 07:52, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Каким образом можно удалить открытый файл?
RTFM, в UNIX открытие файла - это создание хардлинка на него. При удалении файла удаляется хардлинк, созданный в файловой системе, а сам файл физически удаляется, когда будет удален последний хардлинк на него (то есть тот, который создан при открытии файла).
| |
|
3.8, terr0rist (??), 11:54, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
+5
А как называется этот хардлинк и где он находится - в UNIX(!)?
И ещё покажите, где находится этот TFM, где это написано?
| |
|
4.9, allez (ok), 12:55, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>А как называется этот хардлинк и где он находится - в UNIX(!)?
>И ещё покажите, где находится этот TFM, где это написано?
Можете глянуть, например, сюда: http://www.linuxcenter.ru/lib/books/posixbook/ch08.phtml#3
Если же по ссылкам ходить лениво, то по случаю благодушного пятничного настроения приведу вам
отрывок. :-)
==============================================================================
удаление файлов в Unix происходит совершенно иначе, чем в DOS/Windows. А именно, файл считается
удаленным, когда уничтожены все имена, ссылающиеся на идентификатор данного inode (то есть файл
исключен из файловой системы), и закрыта последняя программа, к нему обращающаяся (то есть
завершен процесс, загрузивший данные файла в память, и уничтожен индексный дескриптор файла в
этом процессе). В описании атрибутов файла это выражается в том, что счетчик ссылок его inode
обнуляется. Разумеется, сами по себе данные, составляющие содержание файла, физически могут
продолжать существовать на диске, но для системы они уже недоступны. А поскольку содержание
файла оторвано от его имени, восстановление случайно удаленного файла по фрагменту имени (на чем
основаны DOS-утилиты типа UNERASE и UNDELETE) оказывается невозможным.
Пока любой файл открыт, то есть существует ссылающийся на него процесс, он продолжает
существовать, даже если имя его исключено из всех каталогов, и может быть записан, скопирован,
переименован, и т.д. То есть открытый каким либо процессом дескриптор данного файла - гарантия его
существования, по крайней мере до завершения процесса. Именно поэтому я ранее сказал, что файл не
обязательно имеет имя: в случае удаления открытого файла из каталога он некоторое время существует
как бы безымянным, для поддержания его бытия достаточно открытого дескриптора, ассоциированного с
inode.
==============================================================================
Захотите еще информации - тут уж не обессудьте, ищите сами. :-)
| |
|
5.19, лук репчатый (?), 19:34, 28/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
Ну и где из написанного следует, что "RTFM, в UNIX открытие файла - это создание хардлинка на него" ?
| |
|
6.21, Дмитрий Ю. Карпов (?), 17:39, 01/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Разница в том, что когда на файл создаётся хардлинк, счётчик ссылок в inode увеличивается. А при открытии файла счётчик ссылок в inode остаётся прежним, и механизм удержания файла по эту сторону бытия немного иной.
Для размышления: попробуйте открыть и удалить файл в файловой системе, не поддерживающей хардлинки (например, в FAT).
| |
|
|
4.12, Аноним (1), 00:01, 28/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
Я - юзер, а не программер. Статья хорошая, спасибо! Только её здорово бы было расширить... Иначе это не статья, а заметка. Сейчас из-за конкурса будет много Статей, и эта заметка в них затеряется и скоро забудется, а статья не забудется. Вот то, что я хотел сказать первым комментарием.
| |
|
|
2.6, kerzol (?), 09:01, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Каким образом можно удалить открытый файл?
>Лучше размести мануал по грамотному восстановлению любых файлов из любой файловой системы
>с использованием разных средств (консольные и графические программы и команды).
да и без рута можно :)
| |
|
3.7, daevy (?), 09:52, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>Каким образом можно удалить открытый файл?
>
>да и без рута можно :)
можно, но не всегда;) нередки таинственные письмена Permission Denied %)
| |
|
4.11, const86 (ok), 22:11, 27/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
никак не связанные с тем, используется ли кем-нибудь удаляемый файл.
| |
|
|
|
1.10, Heckfy (ok), 15:36, 27/02/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Отличный совет.
Единственная проблема - создается новый файл. А вот бы при этом была возможность добавить новую (и единственную) жесткую ссылку на файл. :-)
| |
1.13, Аноним (1), 00:05, 28/02/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Только новые вопросы создал. А если на диске 0 байт и я удаляю проигрываемый файл, получается 3 064 694 байт. Но я всё равно не могу записывать? А если я вытащу съёмный диск, могу ли я проигрываемый с него файл восстановить так же, или нет?
| |
|
2.14, angra (ok), 02:09, 28/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Только новые вопросы создал. А если на диске 0 байт и я
>удаляю проигрываемый файл, получается 3 064 694 байт. Но я всё
>равно не могу записывать?
При удалении все еще открытого файла количество свободного места не меняется. Ситуация кстати очень нередкая.
>А если я вытащу съёмный диск, могу ли я проигрываемый с него файл восстановить так же, или нет?
Размонтировать диск пока он используется не получится. Если же ССЗБ и вытащишь без размонтирования, то состояние файловой системы будет непредсказуемым, вплоть до разрушения.
| |
2.18, LS (ok), 07:09, 28/02/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Только новые вопросы создал. А если на диске 0 байт и я
а на каком разделе?
>удаляю проигрываемый файл, получается 3 064 694 байт. Но я всё
>равно не могу записывать? А если я вытащу съёмный диск, могу
>ли я проигрываемый с него файл восстановить так же, или нет?
>
как не можешь? можешь. sync никто не отменял.
вперед!
| |
|
1.25, ильзат (?), 09:13, 04/11/2010 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
а можно ли востановить текст набранный но не сохраненый! комп отключился! операционная стстема люникс?
| |
|