Обратите внимание, что я все еще держу этот вопрос вне темы здесь ... но не может навредить явным ответам на каждую ветвь вопроса в одном месте, и если этот ответ будет перенесен в SuperUser с помощью вопрос, тем лучше:
- Поскольку команда была неполной, являются частично обработанные файлы восстанавливаются (как мв), или они уже удалены навсегда?
Так же, как индивидуальный rename()
во время системного вызова рекурсивной mv
в пределах одной файловой системы, отдельного unlink()
одного файла атомное - это либо завершает или не на основе файлов с помощью файла , Нет никакого «полузавершенного» состояния, и более крупные транзакции охватывают несколько файлов, которые можно отбросить; каждая отдельная запись в каталоге либо будет удалена, либо нет.
Аналогичным образом, любой файл, который не имеет остальных записей в каталоге (например, «hardlinks»), указывающих на него или открывающих дескрипторы файлов в конце unlink()
, сразу же может быть удалён, хотя файловая система по своему усмотрению к тому, когда и при каких обстоятельствах фактически можно стереть или повторно использовать базовые блоки, где хранятся его данные, или данные отслеживания, которые указали, какие блоки были связаны с каждым удаленным впоследствии файлом.
- Если они безвозвратно удалены, можно ли узнать, что было удалено? Удаляется ли он в том же порядке, что и ls (в алфавитном порядке)?
Не в общем.Существуют конкретные файловые системы, которые можно использовать для отслеживания любых изменений между моментальными снимками или даже восстановления в определенный момент времени (хотя они, как правило, коммерческие и, следовательно, доступны только, если ваш администратор платит за них), а также инструменты мониторинга (например, sysdig
), которые записывают индивидуальные системные вызовы.
Если, например, ваш системный администратор работает с ZFS или btrfs с моментальными снимками cronned, они могут сравнить список существующих файлов с теми, которые существовали с момента последнего моментального снимка.
- Есть ли журнал удаленных файлов из системы?
Не в общем. Если на вашем сайте запущено Sysdig Cloud или коммерческий файловый сервер с нестандартным поведением, то, может быть, - но ваши сотрудники системного администратора будут людьми, которые могли бы ответить на этот вопрос.
Не вопрос вопроса. У вас будет * точный * то же поведение от любого инструмента (оболочки, языка программирования и т. Д.), Вызывающего 'rm', или даже вызывающего syscall' unlink() непосредственно. –
... тоже не вопрос программирования. Я бы предложил либо http://superuser.com/, либо http://unix.stackexchange.com/ –
, который сказал, что любые файлы, которые были отсоединены, склонны к тому, чтобы их блоки перераспределялись на новый контент, который был написан. Нет, отмена процесса не восстанавливает ссылки. –