🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16305

Re: Script para implementar una papelera en consola.

#16305
From: Gonzalo Paniagua Javier
Date: Thu, 04 May 2000 00:00
58 lines
3762 bytes
	Pues, ni corto ni perezoso, pill� los fuentes de las fileutils-4.0
donde est�n los fuentes del rm. He empezado a enredar nu poquito y ...
Bueno, la idea es la siguiente:

	Se trata de modificar los fuentes del rm para que si se invoca con
una opci�n (de momento he puesto -t o -T [de trashcan]) guardar los ficheros
que se vayan a borrar en un directorio (${HOME}/.trashcan/  en las pruebas
que estoy haciendo). El fichero se guarda en dicho directorio con un nombre
�nico. Luego se crea un enlace simb�lico al fichero nuevo que incluye en su
nombre el path del fichero que se borra. Ejemplo:

		Vamos a borrar /tmp/lolailo

			$ rm -t /tmp/lolailo

		Al ejecutar esto (no importa si se indica la ruta completa
	en la l�nea de comandos o no. Desde los fuentes se sabe la ruta 
	completa), creamos un fichero de nombre �nico llamado
	${HOME}/.trashcan/123456789 y dentro del ${HOME}/.trashcan un enlace 
	simb�lico a 123456789  llamado "Nombre: /tmp/lolailo".

	Luego, habr�a que hacer un peque�o programa para el undelete que
recupere el fichero a partir de los datos en .trashcan.

	Ah! Para hacer la 'copia' en .trashcan m�s eficiente, el 'rm -t'
s�lo copia realmente el fichero al directorio .trashcan en el caso de que se
encuentre en un sistema de ficheros diferente al de $HOME y si
se encuentra en el mismo sistema de ficheros, simplemente hace un enlace
duro del mismo en el citado directorio.


	Ya estoy en ello, pero si os interesa o ten�is alguna idea,
comentario, sugerencia, no ten�is m�s que decirmelo.
 

Ignacio Arenaza <inaki.arenaza@jet.es> escribi� en es.comp.os.linux.programacion:
> Con algo del estilo (simplificado al maximo para mostrar el ejemplo,
> los detalles se dejan como ejercicio al lector ;-)

>         ....
>         mv "$1" ~/.papelera
>         echo "$1" >> ~/.papelera/.registro
>         ...

> El fichero .registro estaria inicialmente vacio y se pondria a cero
> con cada "vaciado de la papelera".

> Habria seguramente que jugar con 'dirname' y 'basename' para construir
> el path absoluto del fichero si se quiere guardar el mismo.

> Tambien seria interesante poder guardar ficheros con el mismo nombre y
> diferentes paths absolutos en la papelera, pero con este esquema tan
> sencillo seria algo mas lioso. Quizas seria posible hacer que el
> nombre del fichero dentro de la papelera fuese en realidad su path
> absoluto. Eso facilitaria su "desborrado". Incluso se podria "borrar"
> el mismo fichero en fechas diferentes y tenerlos todos en la
> papelera... bueno, lo dejo, que se empieza a liar la cosa....
Technical Details
Message-ID: <8erq58$n1u$1@simancas.uva.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <slrn8gg8t1.13r.nop@compiler.linux.es> <c7lce8.j11.ln@simpsons4ever> <87aeiej72z.fsf@alderaan.maptel.es> <slrn8gm7p9.ci8.scandisk@localhost.localdomain> <874s8kwv1g.fsf@alderaan.maptel.es> <slrn8goata.um.scandisk@localhost.localdomain> <8766szqryn.fsf@eb2ebu.ampr.org> <slrn8gqlkf.4vq.scandisk@localhost.localdomain> <87vh0wzihm.fsf@eb2ebu.ampr.org>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,342b0ba2d125e766
X-Google-Attributes: gidf86c8,public
From: Gonzalo Paniagua Javier <gpanjav@QUITAetsi.tel.uva.esPAM>
Subject: Re: Script para implementar una papelera en consola.
Date: 2000/05/04
Message-ID: <8erq58$n1u$1@simancas.uva.es>
X-Deja-AN: 619118645
Content-Transfer-Encoding: 8bit
References: <slrn8gg8t1.13r.nop@compiler.linux.es> <c7lce8.j11.ln@simpsons4ever> <87aeiej72z.fsf@alderaan.maptel.es> <slrn8gm7p9.ci8.scandisk@localhost.localdomain> <874s8kwv1g.fsf@alderaan.maptel.es> <slrn8goata.um.scandisk@localhost.localdomain> <8766szqryn.fsf@eb2ebu.ampr.org> <slrn8gqlkf.4vq.scandisk@localhost.localdomain> <87vh0wzihm.fsf@eb2ebu.ampr.org>
Content-Type: text/plain; charset=ISO-8859-1
X-Complaints-To: usenet@news.uva.es
X-Trace: simancas.uva.es 957443048 23614 157.88.129.100 (4 May 2000 12:24:08 GMT)
Organization: Universidad de Valladolid - Spain
Mime-Version: 1.0
User-Agent: tin/pre-1.4-981002 ("Phobia") (UNIX) (SunOS/5.6 (sun4u))
NNTP-Posting-Date: 4 May 2000 12:24:08 GMT
Newsgroups: es.comp.os.linux.programacion