
Uno de los problemas más frecuentes en Mac Os X es la impotencia para eliminar los archivos bloqueados que se han quedado almacenados de forma permanente en la papelera.
Cuando conectamos una unidad USB a nuestro Mac, el dispositivo dispone de una papelera propia donde quedan almacenados los archivos que hemos eliminado. Sin duda es algo positivo ya que nos permite recuperar cualquier archivo si lo hemos eliminado por error. Obviamente cuando eliminamos un archivo del dispositivo USB tendremos que vaciar la papelera para que no aparezca llena cada vez que conectemos la unidad.
El problema viene cuando al intentar vaciar la papelera el sistema nos da un error y nos impide vaciarla. En estos casos podremos recurrir al vaciado de forma segura (algo que pocas veces funciona) o a las soluciones que da Apple. Si no nos funciona ninguna de estas dos opciones tendremos que recurrir a la opción de eliminar el archivo mediante Terminal.
En la entrada extendida os mostramos los comandos para hacerlo.
Abrimos una ventana de Terminal (Aplicaciones>Utilidades>Terminal) y lanzamos el siguiente comando (con el nombre de archivo y la ruta donde se encuentre):
sudo rm -rf ruta_del_archivo/nombre_archivo
Si la papelera no se vacía introducimos el siguiente comando (con el volumen y el disco donde se encuentre el archivo):
sudo rm -rf /Volumes/Nombre_Disco/.Trashes
Lo que haremos con este comando es eliminar la carpeta de la papelera. Me explico, Mac Os X denomina a la papelera por .Trashes que en realidad no es más que una carpeta. Si eliminamos esa carpeta, Mac Os X creará una nueva automáticamente, eliminando de esta manera el archivo que no podíamos borrar.
Si el archivo se encuentra en la carpeta de vuestro usuario y no en un volumen externo el comando sería el siguiente (con vuestro nombre de usuario)
/Users/nombre_usuario/.Trash
De esta manera eliminaremos definitivamente los archivos bloqueados que no podíamos borrar.










Mantener ALT mientras vacías la papelera. Mucho más sencillo.
Hola! he usado el truquito de “sudo rm -rf /Users/nombre_usuario/.Trash” y ahora la papelera no me deja borrar nada, sólo eliminar para siempre, y tengo que hacerlo de manera manual para ello (botón derecho - trasladar a la papelera - confirmar que lo quiero eliminar)
que hago para restaurar???
Pero que brutos sois joder. Las cosas hay que hacerlas bien, borrar con rm no se lo aconsejaria a gente que sencillamente no sabe casi ni lo que es la consola y menos aconsejaria borrar el directorio de la papelera y cargarme con ello los permisos, luego vendran los problemas…
Si no os deja borrar algo es porque esta siendo usado por algun proceso. Es tan facil como usar “lsof | grep [parte del nombre del archivo a borrar]” y os mostrara el PID del proceso que usa el archivo en la segunda columna. Luego haceis “kill -9 [PID]” y matais el proceso que esta usando el fichero y entonces ya podreis vaciar la papelera sin problemas ;).
Esto es valido tambien para linux por ejemplo.
perdona Al saber, pero no me he enterado de nada… jejej pero vamos, lo poco que he entendido (creo) es lo de que la aplicación esta en uso, pero no, lo que quiero borrar no esta en uso, no me deja borrar nada…
El problema es que te has cargado la carpeta que usa el sistema como papelera y ahora supongo que no sabra donde meter los archivos y por eso no te da opcion de enviarlos a la papelera. Prueba a reiniciar el sistema a ver si se soluciona. Por esto mismo digo que no debeis hacer lo de borrar esa carpeta sin mas.
El tema es que cuando os dice que no se puede eliminar algun archivo de la papelera es porque el archivo esta en uso por algun programa (y ademas lo bloqueo, ya que no todos los programas lo hacen). La solucion es cerrar/matar ese programa que esta usando el archivo para que asi nadie lo bloquee y puedas eliminarlo de la papelera (o tambien puedes reiniciar el sistema y al cerrarse todos los programas tambien se desbloquearia). El comando “lsof” te lista todos los archivos abiertos y el proceso/programa que los esta usando. Con “grep” filtras solamente el fichero que te interesa. Y luego con “kill -9 [PID]” cierras el programa/proceso que esta usando el fichero. Al no haber ningun proceso ya usando el fichero ya te lo deja eliminar de la papelera sin ningun problema.
Tampoco hay mucho que entender, son 2 comandos muy simples: lsof | grep [nombre del archivo que no te dejan eliminar] kill -9 [numero de la segunda columna en la misma linea del archivo en cuestion]
Y asi no hay problemas colaterales por andar borrando cosas que no debes manualmente :P.
Si mantienes pulsada la tecla ALT cuando vacías la papelera, fuerzas el vaciado sin meterte en complicaciones de procesos, terminal o permisos…
Mucho más rápido, mucho mas sencillo y mucho más seguro.
Te digo que no funciona, el alt + vaciar papelera no mata el proceso, ni elimina el bloqueo del archivo en cuestion.
Haz una prueba muy simple. Coge un archivo de video y copialo, luego abrelo con quicktime pero no lo reproduzcas. Ahora lo eliminas e intenta vaciar la papelera pulsando ALT o sin pulsar alt. Y veras como no te deja (vamos a mi no me deja). Me sigue diciendo que el archivo esta en uso ;).
vale! problema resuelto… al final he reiniciado antes de usar de nuevo la terminal y a funcionado, podía volver a borrar. Aunque por si acaso he probado luego lo de “lsof” que dices Al saber, y también funciona! Muchas gracias! :)
Hombre, así no funciona porque tienes el archivo abierto. Si cierras el vídeo y se queda pillada la papelera (que es de lo que estamos hablando, “archivos problemáticos”) la solución es buena. Supongo que lo tuyo es más potente, pero la verdades que a mí lo de ALT siempre me ha ido bien.
A mi SIEMPRE que no me ha dejado borrar algun archivo de la papelera, ha sido por que estaba siendo usado por algun proceso. El ejemplo del quicktime era para que lo comprobases. Esta claro que si cierras el quicktime el archivo ya no esta en uso y ya puedes vaciar la papelera. Pero ahora imaginemonos que no sabemos que proceso esta usando el archivo en cuestion, puede ser daemon en segundo plano, puede ser un proceso que se ha quedado colgado, o sencillamente no sabemos quien esta usando ese archivo y por eso no nos deja borrarlo. La solucion que usareis todos es basicamente reiniciar o borrarlo manualmente con “rm”. Pero si lo que queremos es evitarnos ese reinicio y ademas no hacer cosas “a lo bruto” y peligrosas (porque ojo como pulseis enter con el path a medio poner), lo que nos queda es cerrar el proceso que lo esta usando. Yo os doy una manera sencilla y que os va funcionar siempre, ademas de funcionar tb en linux y muchos unix (lo cual tiene tambien su valor añadido).
Y para aclarar una cosa que creo que no la teneis clara, aunque un archivo en la papelera tenga permisos limitados y pertenezca a root siempre lo podreis borrar igualmente sin escalar permisos. La razon es sencilla, el permiso necesario para borrar un archivo en la papelera no esta en ese archivo en cuestion, sino en la carpeta padre (“~/.Trash/” en este caso) y que SI tiene permisos para modificar su contenido (sino tampoco tendria mucho sentido no? xD).
Vamos, que la unica razon por la que no podais vaciar la papelera, en el 99.9% de los casos, va a ser por que algun proceso esta usando el archivo y ya os dije la solucion para buscar ese proceso y matarlo. Y el otro 0.1% de los casos es por que tendreis mal los permisos de la papelera o alguna cagada similar por tocar sin saber donde no debeis.
Claro que es por eso, y lo de QuickTime está claro. Lo que pasa es que a veces aunque salgas del programa, “algo se queda pillado” y no te deja. Lo que dices tú, sería la opción técnica perfecta. Pero te pido que antes de hacerla (la próxima vez que te pase) pruebes lo de ALT a ver si se soluciona. A veces lo hace y te ahorras eso.
Lo que hay es que entender las cosas y como funcionan. Y dejar las supersticiones donde tienen que estar.
La solucion del ALT no te va a solucionar el que un proceso este usando el archivo en cuestion (como ya te demostre con el ejemplo del quicktime). Si no lo cierra con quicktime, por que crees que te funcionara con otro proceso que se haya quedado funcionando en segundo plano?.
Y no es que se quede algo “pillado”, lo que se queda es el proceso funcionando aunque tu cierres el programa. Muchos programas usan varios procesos en segundo plano y al cerrar el programa no siempre se cierran todos (o cuando se peta un programa no siempre se cierran todos los procesos asociados). Ese es el problema real de por que te sale que ese archivo esta en uso y no sabes que proceso lo esta usando, si supieras cual es incluso lo puedes cerrar desde el Monitor de Actividad. Pero lo dificil es saber CUAL ES y por eso te doy esa solucion infalible para buscarlo y cerrarlo. Ten en cuenta que a lo mejor el programa peto hace 6 horas o 7 dias y dejo un proceso usando el archivo en cuestion y ahora te pones a vaciar la papelera y te das cuenta del problema ;D.
Siempre te quedaria la opcion de reiniciar, pero jamas reinicio salvo fuerza mayor (es lo que hay al venir de linux xD).
Al meter el código el la terminal me manda un aviso, que tengo que autorizar la ejecución del comando, me pide mi password pero no me deja escribirlo.
Alguien me pudiese orientar, ah saber si estoy realizando algo erróneamente
Cuando te pida el password, metelo y dale al intro, no esperes que te salga escrito (ni siquiera con asteriscos). La introducción del pass en terminal es siempre así.
Prueba y ya veras como te funciona.
Si no puedes borrar documentos de la papelera, yo lo solucioné arrancado Leopard en modo seguro (pulsando Shift durante el arranque), una vez arrancado simplemente vacié la papelera y funcionó.
Utilizar Onix, y dejarse de chorradas, que Mac os x no es tarea fácil para los que no conocen Unix.
Estamos para ayudar, no para enrredar con tecnicismos que no e tan al alcance de cualquiera.
Saludos.