Eliminar un solo archivo de la papelera en Mac OS X Snow Leopard

6

En versiones anteriores de Mac OS X uno podría eliminar un archivo de la papelera abriendo una ventana de terminal y escribiendo rm ~/.Trash/file_i_want_to_delete. Ver este post anterior.

A diferencia de las versiones anteriores en Mac OS X Snow Leopard, se puede "devolver" un archivo de la basura a su directorio original.

Será el rm truco todavia funciona? Las pruebas muestran que sí elimina el archivo, pero ¿qué sucede con la información de "recuperación" que especifica el directorio desde el que se eliminó el archivo?

niton
fuente

Respuestas:

4

Mac OS X no está actualizando la bifurcación de recursos:

Si crea un archivo de prueba en el escritorio (archivo de texto plano), test.txt, compruebe si el archivo tiene una bifurcación de recursos yendo al terminal y ejecutando:

cd ~/Desktop
ls -l test.txt
ls -l test.txt/rsrc

Esto muestra el tamaño del archivo de texto y, en segundo lugar, el tamaño de la bifurcación de recursos (rsrc). Si este tamaño de rsrc es 0, no hay una bifurcación de recursos disponible para este archivo. Si todo está bien, no hay fuente de recursos.

Ponga el archivo del escritorio en su carpeta de Basura. Luego en el terminal haga lo siguiente:

cd ~/.Trash
ls -l test.txt/rsrc

Todavía no muestra una bifurcación de recursos aquí.

En el archivo .DS_Store en la carpeta .Trash: Instale un editor hexadecimal (es decir: http://ridiculousfish.com/hexfiend/ )

Pon el test.txt archivo de vuelta. (y cierre la ventana del buscador con la carpeta de la papelera). Abra el editor hexadecimal desde el terminal con el archivo .DS_Store:

cd ~/.Trash
/Applications/Hex\ Fiend.app/Contents/MacOS/Hex\ Fiend .DS_Store 

Como puede ver, está casi vacío (desactive la opción para mostrar hexadecimal). Cierra el editor hexadecimal.

Basura el test.txt Archivo y vuelva a abrir el archivo .DS_Store en el editor hexadecimal. Ahora verá la ruta de origen del archivo y el nombre de archivo actual en la carpeta de la papelera.

Así que, de hecho, la información de retroceso se coloca en el archivo .DS_Store.

Max
fuente
1

Las informaciones de "recuperación" se almacenan en el archivo .DS_Store en la carpeta de la Papelera.

Cada vez que coloca otro archivo en la Papelera, Mac OS X actualiza el archivo .DS_Store.

Si borra un archivo manualmente (con la rm comando), Mac OS X no actualizará el archivo .DS_Store en la Papelera.

Aún puede eliminar archivos manualmente de la Papelera, pero el .DS_Store no se eliminará y será mucho más grande con el tiempo.
Así que a veces deberías eliminar el agujero de la basura.

Studer
fuente
Gracias. OS X actualiza .DS_Store si borro un solo archivo solo si .Trash está abierto en una ventana del buscador. Si .Trash no está abierto en el buscador .DS_Store no parece estar actualizado. Sin embargo, se actualiza la próxima vez que abra .Trash en una ventana del buscador. Creo que la sugerencia que hagas para vaciar la basura de vez en cuando de la manera aprobada por Apple debería ocuparse de todo.
1

Mi adivinar Sería que esa información se almacena en algún lugar del archivo. Texto del enlace , sea que el .DS_Store archivo o el tenedor de recursos del archivo real. De cualquier manera no se acumulará o acumulará demasiado.

Josh K
fuente
Gracias. Creo que tienes razón y al vaciar la basura de vez en cuando deberías ocuparte de cualquier dato extraño que se encuentre por ahí.