На этот вопрос уже есть ответ здесь:
Очень длинная история короткая. По сути это проблема.
У меня были некоторые файлы проекта (new.cc), над которыми я работал довольно долгое время. Два месяца назад я создал одну резервную копию этих файлов (old.cc), и в основном то, что я сделал, было "> cp old.cc new.cc". И я потерял все изменения, сделанные за последние два месяца.
Есть ли способ восстановить эти файлы. Любая помощь приветствуется.
Короче говоря, к сожалению, нет способа восстановить более новые версии ваших файлов, если у вас еще нет копии в другом месте. Ваша команда копирования перезаписала ваши новые версии старыми версиями.
Команда copy копирует файлы из источника (в вашем примере old.cc
) в место назначения (в вашем примере new.cc
). Если в месте назначения существуют файлы с одинаковыми именами (в вашем случае более новые версии), они будут перезаписаны. По умолчанию команда cp
не спросит, хотите ли вы, чтобы файл был перезаписан, если вы не укажете опцию -i
(--interactive), как в `cp -i.
Ошибка в том, что вы поменяли местами источник и пункт назначения. Вы действительно хотели выполнить cp new.cc old.cc
(«копировать новое в старое»), а не cp old.cc new.cc
.
Восстановление данных - Как указано здесь , существуют способы восстановления удаленной информации. На самом деле операция копирования физически не перезаписывает вашу информацию на диске из-за того, как cp
работает в файловой системе ext отформатированной. Это означает, что биты и байты ваших новых версий все еще могут быть где-то на вашем жестком диске. Однако, если вы попытаетесь сделать это самостоятельно, будет непросто восстановить эти байты в файлах со случайным именем, а затем вручную проверить все ваши тысячи восстановленных файлов, чтобы определить для каждого файла, пригоден ли этот файл для использования и что это представляет. Если вы отдадите его специализированной службе восстановления данных, это будет стоить дорого.