Я привык rm
называть что-то более безопасным.
Я использую osx-trash
, но после обновления до Ruby 1.9.2 это перестает работать.
Я знаю об этом trash-cli
из Python, но я бы предпочел что-то, что перемещает файлы в папку «Корзина» в OS X, а не в другой каталог.
У кого-нибудь есть хорошее решение?
rm
, скорее привыкнитеmv files/to/be/deleted ~/.Trash
. Это безопасно и согласованно для всех систем.mv
все еще ваша самая безопасная ставка. Вы можете легко создать новую папку в другом разделе под названиемTrash
(или как вам нравится), а затемmv
файлы там. Если вы уверены, что их можно удалить, удалите и заново создайте эту полную папку.Ответы:
Для OSX вы можете использовать
safe-rm
Вам нужно сделать дополнительный шаг, чтобы предпочесть его по умолчанию
rm
- добавить символическую ссылку.Для меня у меня во-
/usr/local/bin:
первых, тот же реж, что иsafe-rm
установитьДобавить символическую ссылку на
safe-rm
Чтобы удалить и восстановить настройки по умолчанию,
rm
вы можете удалить символическую ссылкуrm /usr/local/bin/rm
Конфигурационный файл может быть добавлен в
/etc/safe-rm.conf
например:
Тест с
rm -rf /test
ним будет запрещать удаление изsafe-rm.conf
источник
/
в список путей, которые не должны быть удалены, чтобы предотвратить классический rm -fr /hasseg.org/trash - это утилита Objective-C, такая как osx-trash .
Я написал функцию оболочки, которая не перезаписывает файлы, как если
mv * ~/.Trash
бы. Тем не менее, он всегда перемещает элементы в начальный том.источник
Введение (вы можете пропустить это)
Для меня
rm -i
было бы достаточно, потому что он предлагает вам перед удалением любого файла. Тем не менее, некоторая дополнительная безопасность, предоставляемаяsafe-rm
вовсе не плохая идея.Простого
alias
лайкаrm=safe-rm -i
может быть достаточно, однакоrm -rf
он не будет работать, потому что-i
он переопределяется-f
.Итак, мы должны быть уверены, что
-i
всегда последуем-f
!Мое решение (3 шага):
Установите safe-rm:
brew install safe-rm
Вы по-прежнему можете работать с
rm
, но вы должны изменитьRM_BIN
в следующем шагеОтредактируйте ваш
~/.profile
(или bash_profile или любой другой) и поместите следующий фрагмент кода (который содержит иalias
иfunction
):Наконец ,
logout
иlogin
, следовательно, обновления в .profile применяются. НЕ используйте его до выхода / входа!Ноты:
-rf
и с регулярными выражениями.rm -rf
БЕЗ запроса на каждый файл / папку, которую вы все еще можете использовать/bin/rm -rf
(илиsafe-rm -rf
если вы установили его).rm -rf
илиrm *
;)источник