¿Cómo puedo hacer que 'rm' mueva files a la papelera?

Uso el terminal a diario, a menudo uso rm DirectoryName . A veces me vuelvo un poco loco y lo hago rm * . Como se puede imaginar, estos chanchullos a veces han regresado y me han golpeado en la cara. ¿Alguien sabe cómo creo un mapeo así que rm whatever mueve todo a la papelera que luego borro manualmente?

  • Cambiar fuente en Console.app en macOS Sierra
  • Cómo desconectarse de la console y convertirse en pantalla de inicio de session
  • Chrome y Safari siguen colgando después de actualizar a macOS High Sierra
  • Extraño QuickLook Error
  • Cómo cambiar el formatting de time de las consultas de log de Console.app
  • ¿Las direcciones BT BT de los dispositivos que solicitan conexiones de BT a la Mac están conectadas en High Sierra?
  • ¿Qué hace el interruptor no documentado, `-t`, para la utilidad` mdutil`?
  • ¿Hay una herramienta 'queue' de OS X que pueda monitorear files de logging remotos?
  • 5 Solutions collect form web for “¿Cómo puedo hacer que 'rm' mueva files a la papelera?”

    Mala idea

    Usar rm para mover files a la basura es como hierba. Es común y placentera, pero puede ser malo para ti en el futuro. 😉

    Realmente necesita control usted mismo cuando usa rm .


    No use rm

    Imagina , te acostumbras a moverme a la basura y hacer un hábito de eso. Claro, su sistema está seguro pero cuando ingresa al cuaderno de un amigo (o el de su esposa o el de su jefe) y tiene que borrar algo? En realidad usará la count real, borrando esos files para siempre. Es un mal hábito, y debes saberlo.

    Entonces, en su lugar, instale rmtrash y se acostumbre a usarlo:

     # install rmtrash, (either from the macports or by the brew.) $ alias trash="rmtrash" $ alias del="rmtrash" # del / trash are shorter than rmtrash 

    Corregir malos hábitos

    Otra cosa que puede hacer para obligarse a usar rmtrash lugar de rm es alias a un post personalizado en su .profile .

     alias rm="echo Use 'del', or the full path ie '/bin/rm'" 

    Entonces, cada vez que use rm , se le pedirá que use rmtrash o /bin/rm . Recuerde, esto es solo temporal, después de un time debe eliminar el alias.


    Nunca jamás, haz algo como esto:

     $ pwd / $ cd /tnp; rm -rf * sh: cd: /tnp: No such file or directory 

    Pop Quiz: ¿En qué directory se ejecutará el command rm ? 🙂

    Ps: Acabo de eliminar algunas ediciones no deseadas en esta publicación, lo que agregó algunas tonterías sobre los alias.

    Puedo pensar en una docena de forms de codificar esto, pero me niego rotundamente a escribirlas en una respuesta. Te recomiendo encarecidamente que reprimas tu hábito de ponerte un poco loco . No debe tener el hábito de usar rm en absoluto si no puede usarlo correctamente.

    El problema fundamental aquí es que incluso si instala una networking de security en su propio sistema, eso solo lo ayudará a mantener sus malos hábitos y cuando algún día esté en otra máquina que no tenga las mismas protecciones personalizadas, lo hará hacer algo épicamente malo

    La solución adecuada es usar rm como debía ser, incluido agregar manualmente el argumento -i cada vez que tenga dudas sobre cómo se expandirá un globo aerostático, y tener buenas copys de respaldo del sistema que pueda restaurar en caso de un error grave del usuario. Intentar agregar "basura" a los commands que en el rest del universo no lo usan es un paso intermedio que es el peor de ambos mundos.

    Use la basura o no. El uso de rm no va a la papelera, se elimina.

    Si quieres usar la basura, no hay nada de malo en eso. Simplemente rmtrash el hábito de usar el command rmtrash lugar de rm . Esto ayudará a tu cerebro a entender lo que está sucediendo y no te llevará a un mal hábito que te causará dolor después.

    Use una herramienta de command-line como rmtrash o una secuencia de commands tat usa appscript para llamar al Buscador y eliminar allí.

    Después de instalar rmtras para decir / usr / local / bin / rmtrash crea un alias para bash

     alias rm='rmtrash' 

    Puede usar \ rm para llamar a rm directamente e ignorar el alias

    Solo quiero agregar un hábito útil para aquellos que ya no lo hacen. Antes de usar rm para cualquier cosa, primero haga 'ls'. De esta forma, puede ver todos los files que tiene la intención de eliminar. Luego, en lugar de volver a escribir, simplemente levante el command anterior 'ls' y cambie ls por rm. Este hábito ha networkingucido mucha ansiedad al invocar rm.

    Introducción (puede omitirlo)

    Para mí rm -i sería suficiente, porque te avisa antes de borrar cualquier file. Sin embargo, una security adicional proporcionada por safe-rm no es una mala idea.

    Un alias simple como rm=safe-rm -i podría ser suficiente, sin embargo rm -rf no funcionaría, porque -i es reemplazado por -f .

    Por lo tanto, tenemos que asegurarnos de que siempre venga después -f !


    Mi solución (3 pasos):

    • Instale safe-rm: brew install safe-rm

      Aún puede trabajar con rm , pero ha modificado el RM_BIN en el siguiente paso

    • Edite su ~/.profile (o bash_profile o lo que sea) y coloque el siguiente fragment de código, (que contiene un alias y una function ):

       alias rm="rm_i" function rm_i(){ RM_BIN=safe-rm # you can replace it with regular rm if you like args="" files="" argsDone=0 # to make sure arguments are before the files for var in "$@" do if [[ $var == \-* ]] ; then if [ $argsDone -eq 1 ] ; then $RM_BIN # just to show the usage of rm return fi args+=" $var" else argsDone=1 files+=" $var" fi done args+=" -i" # Put -i at the end (so rm -rf will not ignore it) $RM_BIN $args $files } 
    • Finalmente , logout e login , de modo que se apliquen las actualizaciones en .profile. ¡NO lo use antes de un cierre de session / inicio de session!


    Notas:

    • Se puede aplicar a cualquier distribución de Linux, con ligeras modificaciones.
    • NO mueve a su personal a Thrash. ¡Solo te pregunta antes de borrar cada file!
    • Funciona con -rf y con expresiones regulares.
    • Si realmente desea usar rm -rf SIN que se le rm -rf cada file / carpeta, puede usar /bin/rm -rf (o safe-rm -rf si lo había instalado).
    • No más rm -rf o rm * involuntarios rm * 😉
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).