Рассмотрите возможность использования контроля версий. Он запоминает все о файлах, включая пути, разрешения, даты и предыдущие редакции. Это не только предотвратит аварийное восстановление, но и сделает вас лучшим разработчиком (по ряду причин).
git init .
git add `find . -type f | egrep '\.(cpp|c|java)$'`
git commit -m "initial version"
Конечно, предполагается, что в каталоге есть файлы, которые вы не хотите сохранять / сохранять. Если вы хотите сохранить все (без двоичных файлов / библиотек / других сгенерированных или генерируемых файлов, пожалуйста!), Тогда вы можете git add .
После того, как вы поработаете, проверьте изменения
git status
git commit -a -m "Descriptive comment about changes"
Вы также можете создавать клоны из репозитория git на случай, если вы удалите каталог. Вне системы клоны в случае удаления машины.
git clone ssh://hostname/path/to/repository