Есть ли существенный недостаток в псевдониме rm, чтобы сделать что-то еще?

8

В последнее время меня несколько раз укусили rmвещи, которых не должно было быть - например, забыть ulinkсимволические ссылки, а не rmих.

Я подумываю о написании небольшого bash-скрипта, чтобы просто перенести цель ~/.local/share/Trash, так как я не понимал, как восстановить файлы (кажется, что это связано с множеством взломов Linux, которых я не собираюсь реализовывать в ближайшее время).

Единственные проблемы, о которых я могу думать:

  • скрипты / приложения, необходимые для rmфайлов (действительно проблема? Я мог бы также привыкнуть к вызовам rm!или что-то в этом роде),
  • файлы, перемещаемые в корзину, в то время как файлы там уже имеют одно и то же имя (не знаю, как Ubuntu обходит это в настоящий момент, можно исправить, добавив md5(name + time())к имени.

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

Это действительно ужасная идея или что-то, что можно сделать?

Росс
источник
Это не страшная идея, хотя, как вы заметили, резервные копии лучше. Возможно, худшее последствие - это то, что вы будете полагаться на отменяемое удаление, которое может укусить вас, когда вы не находитесь в «защищенной» среде. Резервные
msw

Ответы:

14

«Существенным недостатком» является то, что вы привыкнете к rmтому, чтобы не быть большим противником, используйте с инструментом крайней осторожности. Это означает, что если вы когда-либо (в течение всей своей жизни, что весьма вероятно) используете другой компьютер, не настроенный с этим «soft-rm», тогда вы можете использовать его rmболее небрежно, забыв о том, что вашей сети безопасности там нет.

8128
источник
2
Вот почему вы должны назвать эту команду как-нибудь еще, например deleteили del. Что-то, что приведет к ошибке «команда не найдена» там, где она не установлена, поэтому никакого вреда не будет.
Ларс Хаугсет
8

Чтобы установить trash-cli, просто введите в консоли:

sudo apt-get install trash-cli

Вы можете псевдоним rmк , trash-putесли вы хотите, они имеют совместимый синтаксис. Он прекрасно работает с мусорным ведром gnome, вы можете восстановить файлы, удаленные из командной строки, с помощью nautilus или апплета trash, а также восстановить файлы, удаленные из nautilus, из командной строки, используя trash-list.

Он позаботится о разных именах файлов и запомнит их первоначальное расположение.


Вы также можете попробовать gvfs-trash, как отмечает ændrük в комментариях. Но у trash-put есть несколько преимуществ перед gvfs-trash:

1) Он не привязан к гномам или гвфам. Он будет работать даже на сервере без gnome или в другой среде рабочего стола. Он достигает совместимости с GNOME, потому что он использует спецификацию Freedesktop Trash, как GNOME.

2) Он пытается использовать тот же формат, что и rm, поэтому он может быть привязан к нему. Это не даст сбой в первый раз, когда скрипт пытаетсяtrash-put -Rf dir

Основным преимуществом gvfs-trash является то, что он установлен по умолчанию в Ubuntu.

Хавьер Ривера
источник
Есть ли причина использовать trash-putвместо gvfs-trash?
rndrük
Первое и самое важное: я не знал о gvfs-trash. Второе: он не зависит от gnome, он совместим, поскольку использует стандарт freedestop trash. Третье: он пытается сохранить совместимость опций с rm, чтобы его можно было связать с минимальными усилиями, и это вопрос.
Хавьер Ривера
Я добавил не-юмористические причины в ответ, так как чувствую, что они важны. Также важна ссылка на gvfs-trash, так как в большинстве случаев это будет гораздо лучшим решением.
Хавьер Ривера
первый абзац «Не пытайтесь установить ...», кажется, противоречит блоку кода перед ним. Я не пытаюсь быть грамматиком, это просто неясно.
2010 г.
Я не являюсь носителем английского языка, и моя грамматика не совсем впечатляет, поэтому я ценю любую помощь в ее улучшении. Пожалуйста, не стесняйтесь редактировать пост, если у вас достаточно репутации, или просто сделайте предложение здесь. Я пытался сказать, что вы должны установить его, используя easy_install, а не apt-get.
Хавьер Ривера