Я чувствую, что однажды мне это понадобится, например, если я просто удалил что-то, чего не должен был, или переименовал, и не могу вспомнить, как это должно называться, и т.д.
3 ответа
Negative. В Linux нет волшебной кнопки отмены.
Unix изначально не предоставляет функцию отмены. Философия заключается в том, что если он ушел, он ушел. Если бы это было важно, это должно было быть поддержано.
Вместо удаления файла вы можете переместить его во временную «мусорную» папку. В некоторых средах рабочего стола команда «удалить» перемещает файл в корзину. Но имейте в виду, что только несколько приложений будут использовать его; другие просто удалят файл.
Многие команды могут быть отменены, например, перемещение файла может быть отменено путем перемещения файла назад. Команды, которые удаляют или перезаписывают файл, не могут быть легко отменены, если они вообще есть; некоторые из них можно сделать более устойчивыми к случайной потере данных с помощью настроек оболочки. Особенно:
В командной строке
cp
иmv
перезапишут любой существующий целевой файл, но вы можете сделать так, чтобы они подсказали:alias cp='cp -i' alias mv='mv -i'
Я рекомендую эти два псевдонима, потому что без них
cp
иmv
выполняют две работы: копирование / перемещение и удаление. Отсутствие файлов удаленияcp
иmv
больше соответствует философии Unix (одна команда выполняет одну работу) и менее подвержено ошибкам. (Это полностью отличается отrm -i
, который запрашивает подтверждение перед выполнением своей работы - такая систематическая подсказка имеет тенденцию вызывать автоматический ответ и, таким образом, становится бесполезным раздражением.)Вы можете заставить оператор
>
перенаправления принимать только для создания файлов, так что вам нужно написать>|foo
чтобы разрешить перезаписывать существующий файлfoo
.set -o noclobber
Существует файловая система FUSE, которая автоматически сохраняет копии старых версий: copyfs, доступная для большинства устройств (* BSD, Linux, OS X, Solaris). Конечно, это может использовать много ресурсов.
Если вы переместили файл в другой каталог и запомнили (частично) его имя, но не его местоположение, вы можете воспользоваться командой locate
чтобы найти его.
Лучший способ защиты от таких аварий - использовать систему контроля версий (cvs, bazaar, darcs, git, mercurial, subversion, ...). Это займет немного времени, чтобы учиться, но это окупается в среднесрочной и долгосрочной перспективе.
Здесь нет опции "отменить", только если вы использовали функцию "Корзина".
Чтобы восстановить удаленные файлы, это действительно зависит от того, какая файловая система у вас есть.
Есть:
- TestDisk от cgsecurity
Он поддерживает большинство основных файловых систем.
HFS Plus
Для HFS Plus (OS X) есть несколько коммерческих решений, таких как:
- Звездный Феникс Mac Восстановление данных
- Wondershare Data Recovery
- DiskWarrior 4 (есть также загрузочный CD)
- FileSalvage
- VirtualLab
- Спасение данных от Prosoft
Подробнее: Восстановление файлов из отформатированного раздела HFS+
Для полного списка, проверьте:
- Список программного обеспечения для восстановления данных в Википедии
- Инструменты для восстановления данных в Forensics Wiki
Чтобы избежать подобных ситуаций, пожалуйста, делайте резервные копии чаще, используйте контроль версий или прочитайте, как заставить rm
перейти в корзину.