можно ли отменить операции, выполняемые в терминале, например, удаление файлов через rm
?
решений, полученных:
- псевдоним
- восстановления
- утилиты резервного копирования
- LibTrash
- управление версиями (предохранитель)
можно ли отменить операции, выполняемые в терминале, например, удаление файлов через rm
?
решений, полученных:
- псевдоним
- восстановления
- утилиты резервного копирования
- LibTrash
- управление версиями (предохранитель)
нет общего "undo"для каждой операции в терминале. Если вы хотите восстановить файл после использования rm
вам будет нужно посмотреть в програмное обеспечение спасения.
вариант, чтобы предотвратить вас от будущих ошибок, чтобы сделать alias
es для альтернативных команд удаления файлов. Добавьте их в свой ~/.bashrc
и получить в привычку использовать их вместо rm
.
alias rmi='rm -i'
если вы используете rmi
, вам будет предложено для подтверждения будущее исключает.
Старайтесь не развивать привычку нажимать y
сразу
после выпуска rmi
команда, как это победит цель.
вы также можете перемещать файлы, удаленные trsh
команда в терминале в корзину (на KDE и Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
если вы используете trsh
, вы будете иметь ограниченную возможность "восстановить".
Остерегайся этого
trsh dir1/file1 dir2/file1
по-прежнему может вызывать невозвратные данные потеря.
нет корзины для командной строки.
вы можете попробовать некоторые из различных утилит восстановления, но нет никакой гарантии, что они будут работать.
можно использовать trash-cli Если вы используете KDE при запуске gui. Это утилита командной строки для удаления / восстановления с помощью корзины KDE.
вы могли бы сделать rm
псевдоним trash
команда (вам нужно будет установить trash
первый.)
Добавьте это к вашему ~/.bashrc
:
alias rm='trash'
это предпочтительнее alias rm='mv --target-directory=$HOME/.Trash'
С ~/.Мусор не в корзину для GNOME. Лучше ИМХО пусть trash
из папки мусор.
кстати, я бы разместил это в комментарии, но у меня недостаточно репутации.
еще два технических решения пока не названы:
еще больший вопрос-вот что стоит адресации. Команды оболочки не болтливы (они не проверяют дважды то, что вы хотите), и они ожидают, что вы знаете, что делаете. Это имеет основополагающее значение для того, как они предназначен. Это особенность, а не ошибка.
некоторые люди чувствуют себя мачо, когда они используют такие команды, которые я думаю, довольно глупо, но это is важно понимать опасности. Вы можете нанести большой ущерб терминалу, даже если вы не root. Я думаю, ты, наверное, действительно просто заботишься о rm
, но так как вы сказали "мы можем отменить операции, выполненные в терминале", я подумал, что это стоит сказать. Общий ответ-Нет, вы не можете.
Вариант 1: См.восстановить файлы Linux из файловой системы ext2. Эта страница указывает на программу, написанную Себастьяном Хетце из компании LunetIX, которая (как следует из названия) восстанавливает Недавно удаленные файлы из файловой системы ext2. Пример использования:
# undelete -d /dev/hdc3 -a 10
предупреждения:
Вариант 2: у меня есть rsnapshot (rsync) работает на моей машине, которая делает снимки ежечасно моих выбранных папок. Он постепенно делает это каждый час, 2 часа или что вы говорите CRON делать. После целого дня она удалит эти снимки в один день и через 7 дней в неделю так и так далее. Это дает мне возможность вернуться во времени примерно на месяц или около того на каждый час! Это довольно хорошо с дисковым пространством, поскольку он создает символические ссылки на файлы, которые никогда не изменялись...
восстановить с помощью grep на /dev/partition
(Linux или Unix восстановить удаленные файлы-восстановить файлы),
grep -b 'search-text' /dev/partition > file.txt
просто попробовать.
существуют утилиты восстановления для ext2, но большинство других файловых систем Linux застряли в каменном веке и не имеют расширенных функций юзабилити. Печальное положение дел, учитывая гигантские диски с достаточно места, чтобы никогда не удалить файл обычное явление.
таким образом, вы застряли с тремя вариантами:
делайте резервное копирование регулярно, например с помощью команды вида:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
использовать версию инструмент управления, такой как git
для всей вашей работы. Пока это не защитит от сумасшедшего rm -r
, который убивает хранилище, он будет защищать от регулярных неприятностей, как вы будете использовать git rm
не raw rm
.
будьте очень осторожны и не слишком доверяйте rm -i
,trash-cli
и друзья, как и большинство данных, которые вы потеряете на оболочке вы не потеряете случайно rm
, но засланный труб, опечатки выходных файлов, засланный mv
и вещи, т. е. вещи, которые будут перезаписывать ваши данные, а не просто удалять их.
все три для максимум надежности.
проверить это ... может быть полезным http://artmees.github.io/rm/
предположим, что вы сделали
rm very_important_file
из терминала. восстановление этого файла является утомительным и не всегда успешным процессом
вместо этого, если вы использовали сценарий, упомянутый выше. вам не нужно беспокоиться об этом, потому что
rm very_important_file
mv very_important_file ~/.Trash/
эквивалентны.
скрипт обрабатывает больше случаев и не изменяет вашу систему rm
на всех
и это потому, что он помещен в пользователя локальная папка bin, так что тени системы rm и еще не влияет на него или отключить его использование
Это изысканный подход сглаживания, но без потери какой-либо функции
для меня (opensuse leap 42.2, NTFS pendrive)PhotoRec - и testdisk
создатели - работал :)
Однако он не восстановить имена файлов.
PhotoRec-это файл программного обеспечения для восстановления данных, предназначенная для восстановления потерянных файлов, включая видео, документы и архивы с жестких дисков, компакт-дисков, и потерянные фотографии (так называется Photo Recovery) из памяти цифровой камеры. PhotoRec игнорирует файловую систему и идет после исходных данных, поэтому он будет работать, даже если файловая система носителя была серьезно повреждена или отформатирована.
Я установил его используя стандартные репозитории в openSUSE
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]