¿Existe una desventaja significativa al alias rm para hacer otra cosa?

8

Me han mordido varias veces recientemente con rmcosas que no debería haber hecho, por ejemplo, olvidar los ulinkenlaces simbólicos, no rmellos.

Estoy pensando en escribir un pequeño script bash para simplemente mover el objetivo ~/.local/share/Trash, ya que no he comprendido la restauración de archivos (parece involucrar una gran cantidad de hackers de Linux que no voy a lograr en el corto plazo).

Los únicos problemas que se me ocurren son:

  • scripts / aplicaciones que necesitan rmarchivos (¿realmente un problema? También podría acostumbrarme a llamar rm!o algo),
  • los archivos que se mueven a la Papelera mientras que los archivos allí ya tienen el mismo nombre (no estoy seguro de cómo se maneja Ubuntu en este momento, podrían solucionarse agregando md5(name + time())el nombre).

Por supuesto, la verdadera respuesta es retroceder o simplemente aprender a no hacer cosas tontas, pero me gustaría una solución complaciente.

¿Es esta una idea realmente terrible o algo que podría hacerse?

Ross
fuente
No es una idea terrible, aunque como notas, las copias de seguridad son mejores. Quizás la peor consecuencia es que dependerá de la eliminación que no se puede deshacer y que puede morderle cuando no se encuentre en un entorno "protegido". Las copias de seguridad de Ubuntu se analizan
msw

Respuestas:

14

La 'desventaja significativa' es que te acostumbrarás a rmno ser el gran desagradable, utilízalo con la herramienta de cuidado extremo que es. Esto significa que si alguna vez (en toda su vida, muy probablemente) usa otra computadora que no esté configurada con este 'soft-rm', entonces puede usarlo con rmmás cuidado, olvidando que su red de seguridad no está allí.

8128
fuente
2
Es por eso que debe nombrar este comando de otra manera, como deleteo delpor ejemplo. Algo que dará como resultado un error de "comando no encontrado" donde no está instalado, por lo tanto, no hay daño hecho.
Lars Haugseth
8

Para instalar trash-cli, simplemente escriba una consola:

sudo apt-get install trash-cli

Puede alias rma trash-putsi se quiere, tienen una sintaxis compatible. Funciona muy bien con la basura de gnome, puede recuperar archivos borrados de la línea de comando con nautilus o el applet de basura y restaurar los archivos de nautilus desde la línea de comando usando la lista de basura.

Se ocupará de los diferentes nombres de archivos y también recordará la ubicación original de los archivos.


También puede intentarlo gvfs-trash, como lo señala ændrük en los comentarios. Pero trash-put tiene un par de ventajas sobre gvfs-trash:

1) No está vinculado a gnome o gvfs. Funcionará incluso en un servidor sin gnome o en otro entorno de escritorio. Logra la compatibilidad de gnome porque utiliza la especificación de basura freedesktop, como gnome.

2) Intenta utilizar el mismo formato que rm, por lo que puede ser alias. No fallará la primera vez que un script intentetrash-put -Rf dir

La principal ventaja de gvfs-trash es que está instalado por defecto en Ubuntu.

Javier Rivera
fuente
¿Hay alguna razón para usar en trash-putlugar de gvfs-trash?
ændrük
Primero y más importante: no sabía sobre gvfs-trash. Segundo: no depende de gnome, es compatible porque usa el estándar de basura freedestop. Tercero: trata de mantener la compatibilidad de opciones con rm para que pueda ser alias con un mínimo de alboroto, y esta es la pregunta.
Javier Rivera
He agregado las razones no humorísticas a la respuesta, ya que siento que son importantes. También la referencia a gvfs-trash es importante ya que será una solución bastante mejor en la mayoría de los casos.
Javier Rivera
el primer párrafo "No intentes instalar ..." parece contradecir el bloque de código que está antes. No estoy tratando de ser un experto en gramática, simplemente no está claro.
msw
No soy un hablante nativo de inglés, y mi gramática no es exactamente espectacular, por lo que agradezco cualquier ayuda para mejorarla. No dudes en editar la publicación si tienes suficiente representante, o simplemente haz una sugerencia aquí. Lo que intentaba decir es que debes instalarlo usando easy_install y no apt-get.
Javier Rivera