Uso el terminal a diario, a menudo lo usaré rm DirectoryName
. A veces me vuelvo un poco loco y lo hago rm *
. Como puedes imaginar, estas travesuras a veces regresan y me golpean en la cara. ¿Alguien sabe cómo creo un mapeo para rm whatever
mover todo a la papelera que luego elimino manualmente?
62
mv /file/to/delete ~./Trash
alias rm=/bin/rm -i
debería sacarte de tu locura de forma segura . Además, ¿qué directorio de la papelera desea que use rm? Se vuelve complicado ya que Mac OS X tiene un directorio de basura para cada volumen, así como un bote de basura a nivel de usuario.rm *
orm /path/*
Respuestas:
Mala idea
Usar
rm
para mover archivos a la basura es como hierba. Es común y placentero, pero puede ser malo para usted en el futuro. ;)Realmente necesitas controlarte cuando lo usas
rm
.No uses rm
Imagina que te acostumbras a moverte a la basura y te acostumbras. Claro, su sistema es seguro, pero cuando inicia sesión en la libreta de un amigo (o de su esposa o de su jefe) y tiene que eliminar algo. Realmente usarás lo real
rm
: eliminar esos archivos para siempre. Es un mal hábito, y debes saberlo.Entonces, en lugar de eso, instálalo
rmtrash
y haz el hábito de usarlo:Corrigiendo malos hábitos
Otra cosa que puede hacer para obligarse a usar en
rmtrash
lugar de usar unrm
alias es un mensaje personalizado en su.profile
.Por lo tanto, cada vez que use
rm
, se le pedirá que usermtrash
o/bin/rm
. Recuerde, esto es solo temporal, después de un tiempo debe eliminar el alias.Nunca, haz algo como esto:
Pop Quiz: ¿En qué directorio se
rm
ejecutará el comando? :)PD: Acabo de eliminar algunas ediciones no deseadas de esta publicación, lo que agregó algunas tonterías sobre los alias.
fuente
&&
es tu salvavidas;
es el diablo PD La respuesta es que casi todo en su sistema desaparece, en el ejemplo anterior.trash-cli
lugar, ej.aptitude install trash-cli
- ver github.com/andreafrancia/trash-clibrew install trash
rmtrash
es muy antiguo, se actualizó por última vez en 2003, y se nota. Tiene muchas menos opciones querm
, y si dicermtrash
en un volumen secundario, mueve esos archivos a la carpeta de la papelera de su usuario en la unidad del sistema, lo que puede llevar mucho tiempo para archivos grandes. Latrash
opción recomendada por parth es mejor, ya que resuelve el problema de mantener el mismo volumen, pero aún faltan muchasrm
opciones.Puedo pensar en una docena de formas de codificar esto, pero me niego categóricamente a escribir cualquiera de ellas en una respuesta. Yo fuertemente recomiendo que frenar el hábito de conseguir un poco loco . No debería tener la costumbre de usarlo
rm
si no puede usarlo correctamente.El problema fundamental aquí es que incluso si instala una red de seguridad 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á haz algo épicamente malo.
La solución adecuada es usarlo
rm
como se debe usar, incluyendo agregar manualmente el-i
argumento cada vez que tenga dudas sobre cómo se expandirá un globo, y tener buenas copias de seguridad del sistema que pueda restaurar en caso de un error grave del usuario. Tratar de agregar "basura" a los comandos que en el resto del universo no usan es un paso intermedio que es el peor de ambos mundos.O usa la basura o no. El uso
rm
no va a la basura, se elimina.Si quieres usar la basura, no hay nada de malo en eso. Solo tiene la costumbre de usar el
rmtrash
comando en lugar derm
. Esto ayudará a su cerebro a comprender lo que está sucediendo y no lo llevará a un mal hábito que luego le causará dolor.fuente
rm
por definición, elimina un archivo del disco. No lo envía a la basura. Enseñar a ti mismo a usarrm
cuando te refieres a enviar a la basura te prepara para el desastre. Si desea enviar a la basura, usarrmtrash
o un programa que fue diseñado para el trabajo, no tendrá pesadillas más tarde. No estaba diciendo que usar la basura es inherentemente incorrecto, pero si quieres usarlo, ¡no lo conectes a algo que no estaba destinado a usarlo!brew install rmtrash
y dejar de usarrm
rmtrash
lugar derm
.Hay maneras de protegerse de los horribles resultados de
rm
. Sin embargo, estoy de acuerdo con los otros comentaristas aquí: muy pocos son buenos.No creas ni por un minuto que cambiar el entorno del comando te ayudará. Por ejemplo, encontrará personas en línea en todas partes que recomiendan hacer este tipo de cosas:
o
Esto no funcionará. Período. Hay muchos casos de uso en los que estos pequeños trucos de salón te fallarán miserablemente.
La única forma sólida que he usado para evitar el peligro
rm
es mediante la configuración de un proceso de copia de seguridad regular a través de cron en los directorios donde trabajo. Raw UNIX lo hace por usted de forma agradable, con gran simplicidad, y lo utilizafind
junto con-mtime
para verificar los archivos que se han actualizado dentro o desde un momento determinado.fuente
cron
solo. Gracias :)Use una herramienta de línea de comandos como rmtrash o un script que use appscript para llamar al Finder y eliminarlo.
Después de instalar rmtras para decir / usr / local / bin / rmtrash, cree un alias para bash
Puede usar \ rm para llamar a rm directamente e ignorar el alias
fuente
rmtrash
, hágase un favor y úsela con su propio nombre . Nunca alias cosas que no sonrm
arm
, será algún día te muerda.rmtrash
no es compatible conrm
(no admite los mismos parámetros de la línea de comandos-r
), por lo que un alias realmente no es útil en ningún casormtrash
arm
. No solo no son compatibles, sino que también impondrá el mal hábito y lo usará accidentalmenterm
en otro sistema pensando que solo lo está usandormtrash
.Solo quiero agregar un hábito útil para aquellos que aún no lo hacen. Antes de usar rm para cualquier cosa, haz 'ls' en él primero. De esa manera puede ver todos los archivos que tiene la intención de eliminar. Luego, en lugar de volver a escribir, simplemente levante el comando 'ls' anterior e intercambie ls por rm. Este hábito ha reducido mucha ansiedad al invocar rm.
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 .profile. ¡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
alias rm='sudo rm'
. Ej. ) Es como atar un Uzi a un cuchillo de cocina: algún día obtendrás más de lo que esperabas al cortar esa piña. Aliasm rm a algo más pequeño que sí mismo (por ejemploalias rm='rmtrash'
) es como dejar que sus hijos jueguen con granadas de mano desarmadas y no enseñarles lo que realmente son: algún día, cuando se encuentren con una real, no la tratarán con la debida precaución. De cualquier manera, ¡el alias rm es malo para su seguridad personal y salud pública!rm
? Además, el punto de Caleb es aún más válido: si te acostumbras a un sistema con alias safe-rm, entonces podrías volverte imprudente y eventualmente usarlo en un sistema con un rm sin alias.