Vaciar la basura de la unidad USB

39

Tengo una unidad USB conectada a mi Mac. Lo que encontré fue que .Trashes no se vació cuando se vació la papelera (haga clic con el botón derecho en el icono Papelera y ejecute "Vaciar Papelera") para la unidad USB

¿Qué podría estar mal? ¿Hay alguna otra manera de vaciar la basura de la unidad USB?

    
pregunta prosseek 16.01.2011 - 00:53

5 respuestas

32

Es posible que haya archivos en la papelera de otro otro usuario . La carpeta .Trashes en la parte superior de cada volumen tiene subcarpetas para cada usuario diferente, por número de ID de usuario (por ejemplo, la basura del usuario 502 está en .Trashes/502 ).
Puede verlo usted mismo utilizando un comando como este (reemplace VolumeName con el nombre de su unidad):

ls -la /Volumes/VolumeName/.Trashes/
total 0
d-wx-wx-wt@  3 _unknown  _unknown   102 10 Feb 18:15 .
drwxrwxrwx@ 21 root      wheel      782 13 Feb 14:17 ..
drwx------@ 35 _unknown  _unknown  1190 13 Feb 14:18 502

Como puede ver, en la carpeta .Trashes de mi disco USB hay una subcarpeta llamada 502 , propiedad del ID de usuario 502 (para referencia, mi ID de usuario actual es 501). Como este usuario no existe en mi sistema, lo veo como _unknown , y mi usuario no puede mirar dentro de él, ni tampoco eliminarlo. Para buscar dentro de esa carpeta, debemos hacerlo como administrador (es decir, usar sudo ).

Si está seguro de que desea hacerlo, puede eliminar la basura de todos eliminando toda la carpeta .Trashes con un comando como:

sudo rm -R /Volumes/volumeName/.Trashes

Advertencia: como con cualquier cosa que involucre a sudo ( "haga como superusuario" , es decir, administrador del sistema) y rm -R , úselo con cuidado. Si lo escribe mal, podría tener ... desagradables consecuencias.

    
respondido por el Gordon Davisson 16.01.2011 - 04:45
7

No sé si es la mejor respuesta, pero al menos es una respuesta práctica.

Abra la línea de comandos, cd al volumen USB (/ Volumes / USB para mi caso), y escriba:

/bin/rm -rf ./Trashes/* works fine with me.
    
respondido por el prosseek 16.01.2011 - 01:33
7

Comportamiento habitual:
Cuando borra algo de una unidad USB, se mueve a una carpeta .Trashes en ese volumen. Cuando esté conectado a su computadora, los elementos eliminados aparecerán en su basura con todo lo demás.

Cuando lo desenchufes, los elementos que hayas eliminado de esa unidad ya no se mostrarán en la basura hasta que lo vuelvas a enchufar. Entonces, puedes vaciar la basura. Los realmente los borrará de esa unidad.

Si eso no está sucediendo para ti, aquí está mi sugerencia:

  1. Seleccione la unidad en la barra lateral del Finder.
  2. Sin seleccionar nada más, presione cmd-i (o use el elemento de menú FileGet Info ).
  3. Use la sección Sharing and Permissions de esa ventana para otorgar a Everyone los permisos para Read and Write .
respondido por el Nathan Greenstein 16.01.2011 - 01:05
2

2 soluciones. 1 usando Bash el otro usando Bash envuelto en AppleScript.

Solución # 1

  1. Crea un nuevo AppleScript con /Applications/Utilities/AppleScript Editor
  2. Escriba el siguiente código:

    haga el script de shell "rm -rf /Volumes/*/.Trashes/*" con privilegios de administrador

  3. Guarde el archivo en un lugar conveniente y ejecútelo siempre que necesite limpiar la Papelera USB
  4. Esto se puede ejecutar haciendo doble clic en él

NOTA: Esto vaciará la Papelera para todos los volúmenes conectados, incluido el disco duro interno. Si ha conectado 5 unidades USB y un disco duro Firewire, se vaciará la basura para todos ellos.

Solución # 2

  1. Abre tu editor de texto favorito (el mío es nano)
  2. Pegue el siguiente código en su editor de texto y guarde el archivo

    #! / bin / bash
    sudo rm -rf /Volumes/*/.Trashes/*

  3. Guarde el archivo en un lugar conveniente con la extensión .sh y luego hágalo ejecutable con chmod +x {filename}.sh desde la Terminal

  4. Ejecuta eso con ./{filename}.sh

NOTA: la misma nota que arriba. Esto es ejecutable desde la Terminal.

    
respondido por el Danijel-James W 28.09.2013 - 12:22
2

Utilizo este script AppleScript, guárdelo como aplicación:

on open these_volumes
    set t_id to user ID of (system info)
    repeat with i in these_volumes
        if (kind of (info for i without size)) is "Volume" then
            set tPath to (POSIX path of i) & ".Trashes/" & t_id
            do shell script "/bin/rm -Rf  " & (quoted form of tPath) & "/*"
        end if
    end repeat
end open

Arrastrar / soltar volumen (s) en la aplicación.

Esta secuencia de comandos elimina los elementos de su carpeta de basura (ID de usuario) en el volumen. si otros usuarios usan el volumen, este script no eliminará los elementos de su carpeta de basura, de lo contrario, el script necesitaría una contraseña de administrador para hacerlo.

Si desea expulsar el volumen después de vaciar la papelera, use este script.

on open these_volumes
    set t_id to user ID of (system info)
    set volToEject to {}
    repeat with i in these_volumes
        if (kind of (info for i without size)) is "Volume" then
            set tPath to (POSIX path of i) & ".Trashes/" & t_id
            do shell script "/bin/rm -Rf  " & (quoted form of tPath) & "/*"
            set end of volToEject to contents of i
        end if
    end repeat
    if volToEject is not {} then tell application "Finder" to eject volToEject
end open
    
respondido por el Tony_kenya 17.02.2015 - 14:34

Lea otras preguntas en las etiquetas