Làm sạch thùng rác của ổ USB


41

Tôi có một ổ USB cắm vào máy Mac của tôi. Những gì tôi thấy là .Trasheskhông được làm trống khi thùng rác đổ (kích chuột phải vào Trash biểu tượng và chạy "Empty Trash") cho ổ đĩa USB

Điều gì có thể sai? Có cách nào khác để dọn sạch ổ USB không?


9
Thật thú vị, làm sạch thùng rác luôn thành công cho các ổ USB của tôi. Khiếu nại duy nhất của tôi về nó là lâu tôi muốn chỉ làm trống thùng rác trên ổ USB của tôi và không cần phải làm như vậy cho mỗi ổ đĩa trên hệ thống.
Matthew Frederick

4
@Matthew thửrm -R /Volumes/volumename/.Trashes/$UID
Gordon Davisson

@Gordon Hoàn hảo, cảm ơn! Tạo một Applescript một dòng để chạy lệnh và đó là một vài lần nhấn phím QuickSilver bất cứ lúc nào.
Matthew Frederick

Câu trả lời:


36

Có thể có các tệp trong thùng rác của một số người dùng khác . Các .Trashesthư mục ở phía trên cùng của mỗi khối lượng có thư mục con cho mỗi người dùng khác nhau, theo số ID người dùng (ví dụ thùng rác sử dụng 502 là trong .Trashes/502).
Bạn có thể xem nếu nó tự sử dụng một lệnh như thế này (thay thế VolumeNamebằng tên ổ đĩa của bạn):

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

Như bạn có thể thấy, trên .Trashesthư mục đĩa USB của tôi có một thư mục con được gọi 502, thuộc sở hữu của ID người dùng 502 (để tham khảo, ID người dùng hiện tại của tôi là 501). Vì người dùng này không tồn tại trên hệ thống của tôi, tôi thấy nó như là _unknownvà người dùng của tôi không thể nhìn vào bên trong nó, cũng không xóa nó. Để xem bên trong thư mục đó, chúng ta cần phải làm quản trị viên (tức là sử dụng sudo).

Nếu bạn chắc chắn rằng bạn muốn, bạn có thể xóa thùng rác của mọi người bằng cách xóa toàn bộ .Trashesthư mục bằng một lệnh như:

sudo rm -R /Volumes/volumeName/.Trashes

Cảnh báo: như với bất kỳ điều gì liên quan sudo( "làm siêu người dùng" , tức là quản trị viên hệ thống) và rm -R, sử dụng cẩn thận. Nếu bạn gõ sai, nó có thể có ... hậu quả khó chịu .


"Có thể trong Thùng rác của người khác" chính xác là vấn đề tôi gặp phải. Điều này nên được quảng cáo tốt hơn!
cdeszaq

Thêm công tắc -f vào lệnh sẽ buộc hành động. Việc thay thế "volumame" bằng "*" sẽ cho phép bạn kết nối nhiều ổ USB và làm trống tất cả Thùng rác trên tất cả chúng. Không phải kết nối 1-1 và sau đó làm lại.
Danijel-James W

Có thể nguy hiểm khi chạy một lệnh liên quan đến cả hai sudo rm/Volumes/*/something, bởi vì nó có thể ảnh hưởng đến cả ổ đĩa hệ thống của bạn và lỗi chính tả có thể gây ra hậu quả xấu.
gerlos

8

Hành vi thông thường:
Khi bạn xóa một cái gì đó khỏi ổ USB, nó sẽ được chuyển đến một .Trashesthư mục trên ổ đĩa đó . Khi cắm vào máy tính của bạn, các mục đã xóa sẽ xuất hiện trong thùng rác của bạn cùng với mọi thứ khác.

Khi bạn rút phích cắm ra, các mục mà bạn đã xóa khỏi ổ đĩa đó sẽ không còn hiển thị trong thùng rác của bạn UNTIL mà bạn cắm lại. Sau đó, bạn có thể đổ rác. Nó sẽ thực sự xóa chúng khỏi ổ đĩa đó.

Nếu điều đó không xảy ra với bạn, đây là gợi ý của tôi:

  1. Chọn ổ đĩa trong thanh bên Finder của bạn.
  2. Không chọn bất cứ thứ gì khác, nhấn cmd-i(hoặc sử dụng mục menu FileGet Info).
  3. Sử dụng Sharing and Permissionsphần của cửa sổ đó để cấp Everyonequyền Read and Write.

Điều này nên được chấp nhận
zsitro

7

Tôi không biết đó là câu trả lời hay nhất, nhưng ít nhất đó là câu trả lời hiệu quả.

Mở dòng lệnh, cd vào âm lượng USB (/ Tập / USB cho trường hợp của tôi) và gõ:

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

Điều này sẽ yêu cầu người dùng phải đi đến khối lượng cụ thể mỗi lần. Dựa trên câu trả lời của bạn, tôi đã đưa ra một kịch bản Bash và giải pháp AppleScript.
Danijel-James W

2

2 Giải pháp. 1 sử dụng Bash khác sử dụng Bash được bọc trong AppleScript.

Giải pháp số 1

  1. Tạo một AppleScript mới với /Applications/Utilities/AppleScript Editor
  2. Nhập mã sau đây:

    thực hiện tập lệnh shell "rm -rf /Volume/*/.Trashes/*" với quyền quản trị viên

  3. Lưu tệp vào nơi nào đó thuận tiện và chạy bất cứ khi nào bạn cần xóa Thùng rác USB
  4. Điều này có thể được thực hiện bằng cách nhấp đúp vào nó

LƯU Ý: Điều này sẽ làm trống Thùng rác cho tất cả các ổ đĩa được kết nối, kể cả đĩa cứng bên trong của bạn. Nếu bạn đã kết nối 5 ổ USB và ổ cứng Firewire, nó sẽ dọn sạch rác cho tất cả chúng.


Giải pháp số 2

  1. Bật trình soạn thảo văn bản yêu thích của bạn (của tôi là nano)
  2. Dán đoạn mã sau vào trình soạn thảo văn bản của bạn và lưu tệp

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

  3. Lưu tệp vào nơi nào đó thuận tiện với tiện ích mở rộng .shvà sau đó làm cho nó có thể thực thi được chmod +x {filename}.shtừ Terminal

  4. Chạy nó với ./{filename}.sh

LƯU Ý: Tương tự như trên. Điều này được thực thi từ Terminal.


2

Tôi sử dụng tập lệnh AppleScript này, lưu nó dưới dạng Ứng dụng:

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

Kéo / thả âm lượng trên ứng dụng.

Tập lệnh này sẽ xóa các mục khỏi thư mục thùng rác (ID người dùng) trên ổ đĩa. nếu người dùng khác sử dụng âm lượng, tập lệnh này sẽ không xóa các mục khỏi thư mục thùng rác của họ, nếu không, tập lệnh sẽ cần mật khẩu quản trị viên để làm điều đó.


Nếu bạn muốn đẩy âm lượng sau khi đổ rác, hãy sử dụng tập lệnh này.

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

Để làm cho applescript hoạt động, chỉ cần kéo thiết bị hoặc ổ đĩa được kết nối vào ứng dụng AppleScript và thả. Bạn có thể tạo bí danh trên thanh công cụ bên cạnh thùng rác thông thường để thuận tiện, bằng cách kéo và thả biểu tượng Ứng dụng vào thanh công cụ phụ.
Tony_kenya
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.