отменить rm Linux?

145507
Adam Matan

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

Привет,

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

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

30
Обман: http://superuser.com/questions/31171/undo-in-command-line-operation nagul 14 лет назад 1
... или, по крайней мере, очень тесно связаны, даже если сам вопрос сформулирован, чтобы быть немного более общим Jonik 14 лет назад 1

3 ответа на вопрос

32
Ryan Thompson

На 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.

+1 для trash-cli, -1 для псевдонима rm. 14 лет назад 10
Что не так с псевдонимами `rm`? Мне нравится иметь кнопку отмены для моих случайных удалений, даже в командной строке. Кроме того, `trash-cli` явно облегчает это, принимая (и игнорируя) многие опции GNU` rm`. Кроме того, ОП попросил способ отменить rm. Это решение не дает правильного ответа на вопрос без псевдонима. Ryan Thompson 14 лет назад 1
@Ryan: Потому что вы привыкли к значению rm, отличающемуся от того, что на самом деле делает команда rm, и затем вы совершаете ошибку, когда в ней нет псевдонима. Привыкайте использовать команду «мусор», а этого не может быть. 14 лет назад 14
@ Роджер: Или ... вы можете псевдоним `rm`, а затем загипнотизировать себя, забыв, что вы сделали. Таким образом, вы все равно можете продолжать использовать `rm`, как будто это окончательно ... но если вы подскользнетесь и скажете" О, нет !! " ты не совсем облажался (т.е. не полагайтесь на его «восстанавливаемую» функциональность) mpen 13 лет назад 5
@RyanThompson: Это хороший совет, но как настроить его для работы также с `sudo rm`? takeshin 13 лет назад 0
Надеемся, у вас будет ответ на этот вопрос достаточно скоро: http://superuser.com/questions/192725/how-can-i-alias-a-command-for-sudo Ryan Thompson 13 лет назад 0
@ Роджер, вы могли бы подумать о создании псевдонима для включения отмены для сторонних сценариев. Lucas 10 лет назад 0
В поддержку отсутствия псевдонимов `rm`: https://apple.stackexchange.com/a/17637/37190 Ioannis Filippidis 6 лет назад 0
15
dmckee

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

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

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

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

Я действительно собираюсь поместить все свои скрипты в репозиторий bzr с почасовой фиксацией. Adam Matan 14 лет назад 5
Современный ответ таков: восстановить файл из недавнего снимка файловой системы. :-) knweiss 14 лет назад 3
Это крутой вопрос ... Я обычно не делаю резервных копий ~ / Downloads ... и стираю содержимое, передавая `rm -fr * (1) *` ... каждый файл убирается. Таким образом, наличие резервных копий не всегда является решением. Звучит треш-кли, остывает. erm3nda 8 лет назад 0
Нет, резервное копирование - это _ALWAYS_ решение. То, что вы решили не делать резервные копии чего-либо, не делает резервное копирование не решением, это делает вас глупым, если вы не создаете резервную копию чего-либо. djsmiley2k 6 лет назад 0
4
Rich Bradshaw

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

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

Похожие вопросы