83 votos

¿Cómo puedo hacer 'rm' mover archivos a la papelera de reciclaje?

Yo uso el terminal sobre una base diaria, voy a menudo el uso de rm DirectoryName, a veces me da un poco loco y hacer rm *

Como se puede imaginar estas travesuras han llegado a la espalda y me golpeó en la cara. ¿Alguien sabe cómo puedo crear una asignación para rm lo mueve todo a la papelera que yo, a continuación, elimine manualmente.

112voto

jm666 Puntos 4489

Mala Idea

El uso de rm para mover archivos a la papelera es como la mala hierba. Es común y placer, pero puede ser malo para usted en el futuro. ;)

Usted realmente necesita el control de sí mismo cuando se utiliza rm.


No utilice rm

Imaginar, te acostumbras a rm mover a la papelera y hacer de esto un hábito. Asegúrese de que su sistema es seguro, pero cuando usted se conecte a un amigo (o de su esposa o de tu jefe) notebook y tengo que borrar algo? Tendrás la realidad mediante el real rm - eliminación de los archivos para siempre. Es un mal hábito, y usted necesita saber que.

Así que en su lugar, instale rmtrash y hacer un hábito de su uso:

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

La corrección de los malos hábitos

Otra cosa que usted puede hacer para obligarte a ti mismo a utilizar rmtrash en lugar de rm es el alias de un mensaje personalizado en su .profile.

alias rm="echo Use 'del', or the full path i.e. '/bin/rm'"

Así, cada vez que utilice rm, se le pedirá que utilice rmtrash o /bin/rm. Recuerde, esto es sólo temporal, después de un tiempo usted debe eliminar el alias.


Nunca, de hacer algo como esto:

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

Pop Quiz: ¿En qué directorio se la rmejecución de comando? :)

Pd: Acaba de quitar algunos no deseados de las ediciones de este post, lo que añade algunas tonterías acerca de los alias.

26voto

Caleb Puntos 1385

No puedo pensar en una docena de maneras de código de este, pero se niegan categóricamente a cualquier tipo de ellos en una respuesta. I fuertemente recomendar a frenar el hábito de conseguir un poco loco. No debería estar en el hábito de usar rm a todos si no se utiliza correctamente.

El problema fundamental aquí es que aunque la instalación de una red de seguridad en su propio sistema, que sólo le ayudará a mantener sus malos hábitos, y cuando usted sucede estar en otra máquina que algún día, que no tiene la misma costumbre protecciones, va a hacer algo epicly mal.

La solución adecuada es el uso de rm como fue la intención de ser utilizado, incluyendo la adición manual de la -i argumento cada vez que usted está en duda acerca de cómo un globo se expanda, y tienen un buen sistema de copias de seguridad que se puede restaurar en caso de error grave de usuario. Tratando de agregar "basura" a los comandos que en el resto del universo, no la uso es un medio camino paso que es la peor de ambos mundos.

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

Si desea utilizar la basura, no hay nada de malo con eso. Acaba de entrar en el hábito de usar el rmtrash de comandos en lugar de rm. Esto ayudará a tu cerebro a entender lo que está pasando y no entrar en un mal hábito que hará que el dolor más tarde.

4voto

yoliho Puntos 340

El uso de una herramienta de línea de comandos como rmtrash o una secuencia de comandos tat utiliza appscript llamar el Buscador de hacer no eliminar.

Después de instalar rmtras a decir /usr/local/bin/rmtrash el crear un alias de bash

alias rm='rmtrash'

Usted puede usar \rm llamar rm directa e ignorar el alias

3voto

Scott Bridgman Puntos 1

Sólo quiero añadir un hábito útil para entrar en para los que no lo hacen ya. Antes de usar rm para nada, 'ls' en ella la primera. De esa manera usted puede ver todos los archivos que desea eliminar. Entonces, en lugar de volver a escribir, simplemente tire de la anterior comando 'ls' y cambiar ls para rm. Este hábito se ha reducido a un montón de ansiedad cuando la invocación de rm.

0voto

Paschalis Puntos 157

Introducción (se puede omitir)

Para mí, rm -i sería suficiente, porque se pide confirmación antes de eliminar cualquier archivo. Sin embargo, algo de seguridad extra proporcionada por safe-rm no es una mala idea en absoluto.

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

Así, tenemos que asegurarnos de que -i siempre llegan después de que -f!


Mi solución (3 pasos):

  • Instale la caja fuerte de rm: brew install safe-rm

    Usted todavía puede trabajar con rm, pero tienes modificar el RM_BIN en el siguiente paso

  • Editar su ~/.profile (o bash_profile o lo que sea), y poner el siguiente fragmento de código, (que contienen un alias y 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 y login, de forma que las actualizaciones en el .perfil se aplican. NO utilizar antes de un cierre de sesión/login!


Notas:

  • Puede ser aplicado a cualquier distro de Linux, con ligeras modificaciones.
  • Que NO se mueva de su personal para el thrash. Sólo se le pide que antes de eliminar cada archivo!
  • Funciona con -rf y con expresiones regulares.
  • Si usted realmente desea utilizar rm -rf SIN que se pidió para cada uno de los archivos/carpetas que usted todavía puede usar /bin/rm -rf (o safe-rm -rf si lo había instalado).
  • No más no intencional rm -rf o rm * ;)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X