USB sürücünün çöp kutusunu boşaltma


41

Mac'ime takılı bir USB sürücüm var. Ne buldum olduğunu .Trashesboşaltma çöp (sağ tıkladığınızda boşaltılmış değil Çöp simgesi ve "Boş çöp" çalıştırın) USB sürücü için

Neyin yanlış olabilir? USB sürücüsünü boşaltmanın başka bir yolu var mı?


9
İlginç, çöp kutusunu boşaltmak her zaman USB sürücülerim için başarılı bir şekilde yapıyor. Bununla ilgili tek şikayetim, çoğu zaman sadece USB sürücümdeki çöpleri boşaltmak ve sistemdeki her sürücü için yapmak zorunda kalmamam.
Matthew Frederick

4
@ Matthew deneyinrm -R /Volumes/volumename/.Trashes/$UID
Gordon Davisson

@Gordon Mükemmel, teşekkürler! Komutu çalıştırmak için tek satırlık bir Applescript oluşturuldu ve istediğiniz zaman QuickSilver tuş vuruşlarından birkaçı.
Matthew Frederick

Yanıtlar:


36

Başka bir kullanıcının çöplüğünde dosyalar olabilir . .TrashesHer birimin üstünde klasör bir kullanıcı kimlik numarası (örneğin, kullanıcı 502 çöp içinde göre her biri farklı bir kullanıcı için alt klasörler sahiptir .Trashes/502).
Bunun gibi bir komut kullanarak kendiniz olup olmadığını görebilirsiniz ( VolumeNamesürücü adınızla değiştirin ):

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

Gördüğünüz gibi, USB disk .Trashesklasörümde 502kullanıcı kimliği 502'ye ait bir alt klasör var (başvuru için geçerli kullanıcı kimliğim 501). Bu kullanıcı benim sistemimde bulunmadığından, onu görüyorum _unknownve kullanıcım onun içine bakamıyor, onu da silemiyor. Bu klasörün içine bakmak için yönetici olarak yapmamız gerekiyor (örn sudo. Kullanın ).

İstediğinizden eminseniz, klasörün tamamını aşağıdaki gibi bir komutla silerek herkesin çöpünü silebilirsiniz .Trashes:

sudo rm -R /Volumes/volumeName/.Trashes

Uyarı:sudo ( "süper kullanıcı olarak yapın" , yani sistem yöneticisi) ilgili her şeyde olduğu gibi ve rm -Rbunu dikkatli kullanın. Yanlış yazarsanız, bunun ... hoş olmayan sonuçları olabilir.


"Başkasının çöpünde olabilir" tam olarak karşılaştığım konudur. Bu daha iyi ilan edilmelidir!
cdeszaq

-F anahtarını komuta eklemek eylemi zorlar. "Volumename" ifadesinin "*" ile değiştirilmesi, birden fazla USB sürücüsü bağlamanıza ve hepsindeki tüm Çöp Kutusunu aynı anda boşaltmanıza olanak sağlar. 1'e 1 bağlanıp tekrar yapmanıza gerek yoktur.
Danijel-James W

Hem içeren bir komutu çalıştırmak için tehlikeli olabilir sudo rmve /Volumes/*/somethinghatta sistem sürücüyü etkileyebilecek çünkü ve bir yazım hatası kötü sonuçlar doğurabilir.
gerlos

8

Genel davranış:
Bir USB sürücüdeki bir şeyi sildiğinizde .Trashes, bu birimdeki bir klasöre taşınır . Bilgisayarınıza takıldığında, çöp kutunuzda silinmiş öğeler diğerleriyle birlikte görünecektir.

Fişi çıkardığınızda, bu sürücüden sildiğiniz öğeler artık tekrar taktığınız UNTIL adlı çöp kutusunda görünmeyecek. Sonra çöpleri boşaltabilirsiniz. O edecektir gerçekten o sürücüden silin.

Bu senin için olmazsa, benim önerim:

  1. Finder kenar çubuğundan sürücüyü seçin.
  2. Başka bir şey seçmeden, tuşuna basın cmd-i(veya menü öğesini kullanın FileGet Info).
  3. İzin Sharing and Permissionsvermek Everyoneiçin o pencerenin bölümünü kullanın Read and Write.

Bu kabul edilmelidir
zsitro

7

Bunun en iyi cevap olup olmadığını bilmiyorum, ama en azından işe yarar bir cevap.

Komut satırını açın, USB birimine cd (benim davam için / Hacimler / USB) ve şunu yazın:

/bin/rm -rf ./Trashes/* works fine with me.

Bu, kullanıcının her seferinde belirli bir hacme gitmesini gerektirir. Cevabınıza dayanarak, bir Bash betiği ve AppleScript çözümü ile geldim.
Danijel-James W

2

2 Çözümler. 1 Bash'i kullanarak Bash'i AppleScript'e sarılmış Bash'i kullanarak.

Çözüm # 1

  1. İle yeni bir AppleScript oluşturun. /Applications/Utilities/AppleScript Editor
  2. Aşağıdaki kodu yazın:

    "rm -rf /Volumes/*/.Trashes/*" kabuk komut dosyasını yönetici ayrıcalıklarıyla yapın

  3. Dosyayı uygun bir yere kaydedin ve USB Çöp Kutusunu temizlemeniz gerektiğinde çalıştırın
  4. Bu, çift tıklayarak gerçekleştirilebilir

NOT: Bu, Çöp Kutusu'nu dahili sabit diskiniz dahil tüm bağlı birimler için boşaltacaktır. 5 adet USB sürücü ve bir Firewire sabit diski bağladıysanız, hepsi için çöp kutusunu boşaltır.


Çözüm # 2

  1. Favori metin editörünü ateşle (benimki nano)
  2. Aşağıdaki kodu metin düzenleyicinize yapıştırın ve dosyayı kaydedin.

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

  3. Dosyayı, uzantıyla uyumlu bir yere kaydedin .shve ardından chmod +x {filename}.shTerminal'den çalıştırılabilir duruma getirin

  4. Şunu çalıştır ./{filename}.sh

NOT: Yukarıdakiyle aynı not. Bu Terminal'den çalıştırılabilir.


2

Bu senaryoyu AppleScript kullanıyorum, Uygulama olarak kaydetiyorum:

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

Uygulamadaki Sürükle / Bırak Birim (ler) i.

Bu komut dosyası, öğeleri birimdeki çöp (kullanıcı kimliği) klasörünüzden kaldırır. Diğer kullanıcılar birimi kullanırsa, bu komut dosyası öğeleri çöp klasöründen silmez, aksi takdirde komut dosyası bunu yapmak için bir yönetici şifresine ihtiyaç duyar.


Çöp kutusunu boşalttıktan sonra birimi çıkarmak istiyorsanız, bu komut dosyasını kullanın.

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

El kitabının çalışması için, bağlı cihazı sürükleyin veya AppleScript uygulamasına sürükleyip bırakın. Uygulama simgesini yan iskeleye sürükleyip bırakarak, kolaylık sağlamak için normal çöp kutusunun yanındaki iskelede takma ad oluşturabilirsiniz.
Tony_kenya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.