Svuota cestino della chiavetta USB

39

Ho una chiavetta USB collegata al mio Mac. Quello che ho trovato era .Trashes non è stato svuotato quando il cestino di svuotamento (fai clic con il pulsante destro del mouse sull'icona Cestino ed esegui "Cestino vuoto") per l'unità USB

Che cosa potrebbe essere sbagliato? C'è un altro modo per svuotare la chiavetta USB?

    
posta prosseek 16.01.2011 - 00:53
fonte

5 risposte

32

È possibile che ci siano file nel cestino di alcuni altri utenti . La cartella .Trashes nella parte superiore di ogni volume ha sottocartelle per ogni utente diverso, per numero ID utente (ad esempio il cestino dell'utente 502 è in .Trashes/502 ).
Puoi vedere se utilizza tu stesso un comando come questo (sostituisci VolumeName con il nome del tuo disco):

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

Come puoi vedere, nella mia cartella% disco .Trashes c'è una sottocartella chiamata 502 , di proprietà dell'ID utente 502 (per riferimento, il mio ID utente corrente è 501). Dato che questo utente non esiste sul mio sistema, lo vedo come _unknown , e il mio utente non può guardarlo dentro, né cancellarlo. Per guardare all'interno di quella cartella dobbiamo farlo come amministratore (ad esempio, usa sudo ).

Se sei sicuro di volerlo, puoi eliminare il cestino di tutti eliminando l'intera cartella .Trashes con un comando come:

sudo rm -R /Volumes/volumeName/.Trashes

Avviso: come per tutto ciò che riguarda sudo ( "come super user" , ovvero amministratore di sistema) e rm -R , usa questo attentamente. Se lo scrivi male, potrebbe avere ... conseguenze spiacevoli .

    
risposta data 16.01.2011 - 04:45
fonte
7

Non so se sia la risposta migliore, ma almeno è una risposta funzionante.

Aprire la riga di comando, cd sul volume USB (/ Volumi / USB per il mio caso), e digitare:

/bin/rm -rf ./Trashes/* works fine with me.
    
risposta data 16.01.2011 - 01:33
fonte
7

Comportamento abituale: Quando elimini qualcosa da un'unità USB, viene spostato in una cartella .Trashes su quel volume. Quando collegato al computer, gli elementi eliminati verranno visualizzati nel cestino con tutto il resto.

Quando lo scolleghi, gli elementi che hai eliminato da quell'unità non verranno più visualizzati nel cestino fino a quando non lo ricolleghi. Quindi, puoi svuotare la spazzatura. veramente li cancellerà da quella unità.

Se ciò non accade per te, ecco il mio suggerimento:

  1. Seleziona l'unità nella barra laterale del Finder.
  2. Senza selezionare altro, premi cmd-i (o usa la voce di menu FileGet Info ).
  3. Utilizza la sezione Sharing and Permissions di quella finestra per dare a Everyone le autorizzazioni a Read and Write .
risposta data 16.01.2011 - 01:05
fonte
2

2 soluzioni. 1 usando Bash l'altro usando Bash avvolto in AppleScript.

Soluzione n. 1

  1. Crea un nuovo AppleScript con /Applications/Utilities/AppleScript Editor
  2. Digita il seguente codice:

    fa script di shell "rm -rf /Volumes/*/.Trashes/*" con privilegi di amministratore

  3. Salva il file in un posto comodo ed eseguilo ogni volta che è necessario cancellare il cestino USB
  4. Questo può essere eseguito facendo doppio clic su di esso

NOTA: svuoterà il Cestino per tutti i volumi collegati, compreso il tuo disco rigido interno. Se hai collegato 5 unità USB e un disco rigido Firewire, svuota il cestino per tutti loro.

Soluzione n. 2

  1. Avvia il tuo editor di testo preferito (mio è nano)
  2. Incolla il seguente codice nel tuo editor di testo e salva il file

    #! / Bin / bash
    sudo rm -rf / Volumes / * /. Trash / *

  3. Salva il file in un posto conveniente con l'estensione .sh e rendilo eseguibile con chmod +x {filename}.sh dal Terminale

  4. Esegui con ./{filename}.sh

NOTA: Stessa nota come sopra. Questo è eseguibile dal Terminale.

    
risposta data 28.09.2013 - 12:22
fonte
2

Uso questo script AppleScript, salvalo come Applicazione:

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

Trascina / Cancella il volume (i) sull'applicazione.

Questo script rimuove gli elementi dalla cartella cestino (ID utente) sul volume. se altri utenti usano il volume, questo script non cancellerà gli elementi dalla loro cartella del cestino, altrimenti lo script avrebbe bisogno di una password di amministratore per farlo.

Se vuoi espellere il volume dopo aver svuotato il cestino, usa questo 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
    
risposta data 17.02.2015 - 14:34
fonte

Leggi altre domande sui tag