Отмена команды корзина Linux

можно ли отменить операции, выполняемые в терминале, например, удаление файлов через rm?

решений, полученных:

  1. псевдоним
  2. восстановления
  3. утилиты резервного копирования
  4. LibTrash
  5. управление версиями (предохранитель)
16
задан BenjiWiebe
20.05.2023 4:19 Количество просмотров материала 3219
Распечатать страницу

12 ответов

нет общего "undo"для каждой операции в терминале.  Если вы хотите восстановить файл после использования rm вам будет нужно посмотреть в програмное обеспечение спасения.

вариант, чтобы предотвратить вас от будущих ошибок, чтобы сделать aliases для альтернативных команд удаления файлов.  Добавьте их в свой ~/.bashrc и получить в привычку использовать их вместо rm.

  1. alias rmi='rm -i'

    если вы используете rmi, вам будет предложено для подтверждения будущее исключает.  Старайтесь не развивать привычку нажимать y сразу после выпуска rmi команда, как это победит цель.

  2. вы также можете перемещать файлы, удаленные trsh команда в терминале в корзину (на KDE и Gnome):

    alias trsh='mv --target-directory="$HOME/.Trash"'
    

    если вы используете trsh, вы будете иметь ограниченную возможность "восстановить".  Остерегайся этого

    trsh dir1/file1 dir2/file1
    

    по-прежнему может вызывать невозвратные данные потеря.

61
отвечен John T 2023-05-21 12:07

нет корзины для командной строки.

вы можете попробовать некоторые из различных утилит восстановления, но нет никакой гарантии, что они будут работать.

6
отвечен The How-To Geek 2023-05-21 14:24

можно использовать trash-cli Если вы используете KDE при запуске gui. Это утилита командной строки для удаления / восстановления с помощью корзины KDE.

5
отвечен joe 2023-05-21 16:41

вы могли бы сделать rm псевдоним trash команда (вам нужно будет установить trash первый.) Добавьте это к вашему ~/.bashrc:

alias rm='trash'

это предпочтительнее alias rm='mv --target-directory=$HOME/.Trash' С ~/.Мусор не в корзину для GNOME. Лучше ИМХО пусть trash из папки мусор.

кстати, я бы разместил это в комментарии, но у меня недостаточно репутации.

4
отвечен Alvin Row 2023-05-21 18:58

еще два технических решения пока не названы:

  1. libtrash: динамическая библиотека, которая может быть предварительно загружена в вашей оболочке, которая перехватывает удаление / удаление системных вызовов и перемещает файлы в папку корзины вместо этого (так же, как псевдоним, но работает для любого приложения при предварительной загрузке).
  2. файловая система управления версиями. При удалении (или редактировании, или копировании, или ...) файла, вы можете просто вернуться к старому состоянию. Это можно сделать с помощью взрыватель файловая система и одна из ее управление версиями файловых систем.
3
отвечен joschi 2023-05-21 21:15

еще больший вопрос-вот что стоит адресации. Команды оболочки не болтливы (они не проверяют дважды то, что вы хотите), и они ожидают, что вы знаете, что делаете. Это имеет основополагающее значение для того, как они предназначен. Это особенность, а не ошибка.

некоторые люди чувствуют себя мачо, когда они используют такие команды, которые я думаю, довольно глупо, но это is важно понимать опасности. Вы можете нанести большой ущерб терминалу, даже если вы не root. Я думаю, ты, наверное, действительно просто заботишься о rm, но так как вы сказали "мы можем отменить операции, выполненные в терминале", я подумал, что это стоит сказать. Общий ответ-Нет, вы не можете.

3
отвечен Telemachus 2023-05-21 23:32

Вариант 1: См.восстановить файлы Linux из файловой системы ext2. Эта страница указывает на программу, написанную Себастьяном Хетце из компании LunetIX, которая (как следует из названия) восстанавливает Недавно удаленные файлы из файловой системы ext2. Пример использования:

# undelete -d /dev/hdc3 -a 10

предупреждения:

  • оригинальный веб-сайт исчез. Ссылка, приведенная выше, на интернет-архив.
  • сайт(ы) на смеси английского и немецкого.
  • As выше было сказано, что утилита разработана специально для файловой системы ext2. Это вряд ли будет работать на любом другом типе файловой системы; особенно не те, кроме extN.

Вариант 2: у меня есть rsnapshot (rsync) работает на моей машине, которая делает снимки ежечасно моих выбранных папок. Он постепенно делает это каждый час, 2 часа или что вы говорите CRON делать. После целого дня она удалит эти снимки в один день и через 7 дней в неделю так и так далее. Это дает мне возможность вернуться во времени примерно на месяц или около того на каждый час! Это довольно хорошо с дисковым пространством, поскольку он создает символические ссылки на файлы, которые никогда не изменялись...

2
отвечен Aaaaaaaaaha ERLEBNIS 2023-05-22 01:49

восстановить с помощью grep на /dev/partition (Linux или Unix восстановить удаленные файлы-восстановить файлы),

grep -b 'search-text' /dev/partition > file.txt

просто попробовать.

1
отвечен cdb 2023-05-22 04:06

существуют утилиты восстановления для ext2, но большинство других файловых систем Linux застряли в каменном веке и не имеют расширенных функций юзабилити. Печальное положение дел, учитывая гигантские диски с достаточно места, чтобы никогда не удалить файл обычное явление.

таким образом, вы застряли с тремя вариантами:

  1. делайте резервное копирование регулярно, например с помощью команды вида:

    rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/

  2. использовать версию инструмент управления, такой как git для всей вашей работы. Пока это не защитит от сумасшедшего rm -r, который убивает хранилище, он будет защищать от регулярных неприятностей, как вы будете использовать git rm не raw rm.

  3. будьте очень осторожны и не слишком доверяйте rm -i,trash-cli и друзья, как и большинство данных, которые вы потеряете на оболочке вы не потеряете случайно rm, но засланный труб, опечатки выходных файлов, засланный mv и вещи, т. е. вещи, которые будут перезаписывать ваши данные, а не просто удалять их.

все три для максимум надежности.

1
отвечен Grumbel 2023-05-22 06:23

проверить это ... может быть полезным http://artmees.github.io/rm/

предположим, что вы сделали

rm very_important_file

из терминала. восстановление этого файла является утомительным и не всегда успешным процессом

вместо этого, если вы использовали сценарий, упомянутый выше. вам не нужно беспокоиться об этом, потому что

rm very_important_file
mv very_important_file ~/.Trash/

эквивалентны. скрипт обрабатывает больше случаев и не изменяет вашу систему rm на всех и это потому, что он помещен в пользователя локальная папка bin, так что тени системы rm и еще не влияет на него или отключить его использование

Это изысканный подход сглаживания, но без потери какой-либо функции

0
отвечен a14m 2023-05-22 08:40

TestDisk может восстановить файлы из FAT, exFAT, NTFS и ext2 файловые системы.

0
отвечен Cristian Ciupitu 2023-05-22 10:57

для меня (opensuse leap 42.2, NTFS pendrive)PhotoRec - и testdisk создатели - работал :) Однако он не восстановить имена файлов.

PhotoRec-это файл программного обеспечения для восстановления данных, предназначенная для восстановления потерянных файлов, включая видео, документы и архивы с жестких дисков, компакт-дисков, и потерянные фотографии (так называется Photo Recovery) из памяти цифровой камеры. PhotoRec игнорирует файловую систему и идет после исходных данных, поэтому он будет работать, даже если файловая система носителя была серьезно повреждена или отформатирована.

Я установил его используя стандартные репозитории в openSUSE

- инструкции

0
отвечен boczniak767 2023-05-22 13:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх