отменить rm Linux? [Дубликат]

31

Возможное дублирование:
UNDO LINUX Trash Command

Здравствуй,

Есть ли простой способ отменить rmкоманду?

Вопрос чисто теоретический; Я НИКОГДА не удалял журнал очереди тестов, на запуск которой ушел целый обеденный перерыв.

Адам Матан
источник
1
... или, по крайней мере, очень тесно связаны, даже если сам вопрос сформулирован, чтобы быть немного более общим
Jonik

Ответы:

33

На Ubuntu или аналогичных:

$ sudo apt-get install trash-cli
$ alias rm=trash

Затем поместите этот псевдоним в .bashrc или соответствующий сценарий входа в систему для выбранной вами оболочки.

trash-cliПакет представляет собой интерфейс командной строки с тем же мусорный бак , что GNOME и KDE и другие применения. Таким образом, все, что вы удаляете с помощью trashкоманды, может быть восстановлено GNOME / KDE и наоборот.

Остальные команды в trash-cliпакете trash-list, trash-emptyи restore-trash.

Райан К. Томпсон
источник
11
+1 для trash-cli, -1 для псевдонима rm.
1
Что не так с псевдонимами rm? Мне нравится иметь кнопку отмены для моих случайных удалений, даже в командной строке. Кроме того, trash-cliявно облегчает это, принимая (и игнорируя) многие rmпараметры GNU . Кроме того, ОП попросил способ отменить rm. Это решение не дает правильного ответа на вопрос без псевдонима.
Райан К. Томпсон
15
@Ryan: Потому что вы привыкли к значению rm, отличающемуся от того, что на самом деле делает команда rm, и затем вы совершаете ошибку, когда в ней нет псевдонима. Вместо этого привыкните к использованию команды trash, а этого не может быть.
5
@ Роджер: Или ... вы можете использовать псевдоним, rmа затем загипнотизировать себя, чтобы забыть, что вы сделали. Таким образом, вы все равно можете продолжать использовать, rmкак будто это окончательно ... но если вы подскользнетесь и скажете "О, нет !!" ты не совсем облажался (т.е. не полагайтесь на его «восстанавливаемую» функциональность)
mpen
@RyanThompson: Это хороший совет, но как настроить это для работы с sudo rm?
принимает
15

Традиционный ответ:

Вы восстанавливаете файл из последней резервной копии. У вас есть недавняя резервная копия, не так ли?

потому что на многих файловых системах Unix это просто невозможно или очень сложно.

Как уже отмечали другие, это еще не конец и не проблема, но не допускать ошибок такого рода - все еще предпочтительный подход.

dmckee
источник
5
Я действительно намерен поместить все свои скрипты в репозиторий bzr с почасовой фиксацией.
Адам Матан
3
Современный ответ таков: восстановить файл из недавнего снимка файловой системы. :-)
knweiss
Это крутой вопрос ... Я обычно не делаю резервных копий ~ / Downloads ... и стираю свой контент, передавая rm -fr *(1)*... каждый файл исчез. Таким образом, наличие резервных копий не всегда является решением. Звучит треш-кли, остывает.
m3nda
Нет, наличие резервных копий - ВСЕГДА решение. Тот факт, что вы решили не делать резервные копии чего-либо, не делает резервное копирование не решением, это делает вас глупым, если вы не создаете резервную копию чего-либо.
djsmiley2k - CoW
4

Чтобы предотвратить возможные ошибки в будущем, вы можете использовать псевдоним rm -i ...

Рич Брэдшоу
источник
6
Я вообще думаю, что это никогда не предотвратит никаких ошибок ('y' набирается довольно автоматически), но потребует много времени и поощряет использование He-Whose-Name-Must-Not-Be-Mentioned rm -rf.
Адам Матан
Это дает вам еще один шанс, прежде чем все испортить. Я обычно просто lsс теми же параметрами, прежде чем я могу видеть, что собирается пойти.
Рич Брэдшоу
Я обычно удаляю файлы нарочно, я просто понимаю, что они мне понадобились позже. Так что интерактивное не помогло бы
andrewtweber