Estoy acostumbrado a tener rm
que alias algo más seguro.
He estado usando osx-trash
, pero una vez que actualizo a Ruby 1.9.2, esto deja de funcionar.
Sé trash-cli
de Python, pero preferiría algo que mueva archivos a la carpeta Papelera en OS X en lugar de otro directorio.
¿Alguien tiene una buena solución?
rm
, más bien acostumbratemv files/to/be/deleted ~/.Trash
. Es seguro y consistente en todos los sistemas.mv
sigue siendo tu apuesta más segura. Podría crear fácilmente una nueva carpeta en su otra partición llamadaTrash
(o como quiera) y luegomv
los archivos allí. Una vez que esté seguro de que se pueden eliminar, elimine y vuelva a crear esa carpeta completa.Respuestas:
Para OSX, puede usar
safe-rm
Debe hacer un paso adicional para preferirlo sobre el predeterminado
rm
: agregue un enlace simbólico.Para mí,
/usr/local/bin:
primero tengo el mismo directorio quesafe-rm
instalarAgregar enlace simbólico a
safe-rm
Para eliminar y restaurar el valor predeterminado
rm
, puede eliminar el enlace simbólicorm /usr/local/bin/rm
El archivo de configuración se puede agregar en
/etc/safe-rm.conf
p.ej:
Probar con
rm -rf /test
él negará eliminar desafe-rm.conf
fuente
/
a la lista de rutas que no deberían eliminarse para evitar el rm clásico -fr /hasseg.org/trash es una utilidad Objective-C como osx-trash .
He escrito una función de shell que no sobrescribe los archivos como lo
mv * ~/.Trash
haría. Sin embargo, siempre mueve elementos al volumen de inicio.fuente
Introducción (puedes omitirlo)
Para mí
rm -i
sería suficiente, porque te solicita antes de eliminar cualquier archivo. Sin embargo, cierta seguridad adicional proporcionada porsafe-rm
no es una mala idea en absoluto.Un simple
alias
comorm=safe-rm -i
podría ser suficiente, sin embargorm -rf
, no funcionaría, ya que-i
se anula-f
.Por lo tanto, tenemos que asegurarnos de que
-i
siempre venga después-f
.Mi solución (3 pasos):
Instale safe-rm:
brew install safe-rm
Todavía puede trabajar con
rm
, pero debe modificar elRM_BIN
en el siguiente pasoEdite su
~/.profile
(o bash_profile o lo que sea) y coloque el siguiente fragmento de código (que contiene unaalias
y afunction
):Finalmente ,
logout
ylogin
, entonces, se aplican las actualizaciones en el perfil. ¡NO lo use antes de cerrar sesión / iniciar sesión!Notas:
-rf
y con expresiones regulares.rm -rf
SIN que se le solicite cada archivo / carpeta, aún puede usar/bin/rm -rf
(osafe-rm -rf
si lo había instalado).rm -rf
orm *
;)fuente