
У меня есть одна конкретная папка ( /home/sam/officedocuments
), в которой сотни папок и файлов. Я думаю, что я удалил некоторые файлы и папки по ошибке, но я не уверен.
Как узнать, какие файлы/папки были:
- недавно удалено в Linux?
- недавно изменилось в Linux?
Я просто хочу узнать, какие файлы и папки были удалены. Восстановление этих удаленных файлов и папок для меня не важно.
ОС: CentOS
решение1
…недавно изменилось в Linux?
Используйте find
для поиска по времени изменения. Например, чтобы найти файлы, которые были изменены за последние 3 дня:
find /home/sam/officedocuments -mtime -3
Для «старше 3 дней» используйте +3
.
…недавно удалены в Linux?
Почти невозможно. Когда файл удаляется, он просто исчезает. В большинстве систем это нигде не регистрируется.
решение2
Вам, вероятно, следует установитьИнструменты Inotify. то вы можете использовать inotifywait
команду для прослушивания событий, происходящих в указанном каталоге.
В частности, если вы хотите отслеживать удаленные файлы и папки, используйте это
inotifywait -m -r -e delete dir_name
и запишите этот вывод в какой-нибудь файл.
Надеюсь, это решит вашу проблему.
решение3
Linux обычно не запрашивает подтверждение перед удалением файлов, если вы используете rm
командную строку.
Чтобы найти файлы, измененные за последние 30 минут, используйте touch --date="HH:MM" /tmp/reference
для создания файла с именем reference с временной меткой 30 минут назад (где HH:MM соответствует 30 минутам назад). Затем используйте find /home/sam/officedocuments -newer /tmp/reference
для поиска файлов, более новых, чем reference.
Если вы удалили файлы с помощью инструмента с графическим интерфейсом, они все еще могут быть в какой-то "корзине". Это зависит от того, что вы используете для среды рабочего стола. Если вы использовали rm
командную строку, то попробуйте одну из утилит, упомянутых вэтот ответ. (Спасибо @Sampo за эту ссылку.)