USB 드라이브의 휴지통 비우기


41

Mac에 USB 드라이브가 연결되어 있습니다. USB 드라이브 .Trashes휴지통 비우기 (휴지통 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "빈 휴지통"을 실행) 할 때 찾은 내용이 비워지지 않았습니다.

무엇이 잘못 되었나요? USB 드라이브를 비우는 다른 방법이 있습니까?


9
흥미롭게도 휴지통을 비우면 항상 USB 드라이브에서 성공적으로 수행됩니다. 그것에 대해 내 유일한 불만은 종종 내가하고 싶은 것입니다 단지 내 USB 드라이브에 휴지통을 비우고 시스템의 모든 드라이브에 대해 그렇게 할 필요가 없습니다.
Matthew Frederick

4
@ 매튜 시도rm -R /Volumes/volumename/.Trashes/$UID
고든

@ 고든 퍼펙트, 감사합니다! 명령을 실행하기 위해 한 줄짜리 Applescript를 만들었으며 언제든 몇 번의 QuickSilver 키 입력입니다.
Matthew Frederick

답변:


36

다른 사용자 의 휴지통에 파일이있을 수 있습니다 . .Trashes각 볼륨의 맨 위에 있는 폴더에는 사용자 ID 번호 (예 : 사용자 502의 휴지통이 있음 .Trashes/502)에 따라 각기 다른 사용자에 대한 하위 폴더가 있습니다.
다음과 같은 명령을 사용하여 직접 확인할 수 있습니다 ( VolumeName드라이브 이름으로 교체 ).

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

보시다시피, 내 USB 디스크 .Trashes폴더에는 502사용자 ID 502가 소유 한 이라는 하위 폴더가 있습니다 (참고로 현재 사용자 ID는 501입니다). 이 사용자가 내 시스템에 없기 때문에로 표시되며 _unknown사용자가 내부를 볼 수 없으며 삭제할 수도 없습니다. 해당 폴더를 살펴 보려면 관리자 권한으로 폴더를 사용해야합니다 (예 :) sudo.

원하는 경우 다음 과 같은 명령으로 전체 폴더를 삭제하여 모든 사람 의 휴지통을 삭제할 .Trashes수 있습니다.

sudo rm -R /Volumes/volumeName/.Trashes

경고 : 관련된 아무것도로 sudo( "수퍼 유저로하지" , 즉 시스템 관리자) 및 rm -R, 신중을 사용합니다. 잘못 입력하면 ... 불쾌한 결과 가 발생할 수 있습니다 .


"다른 사람의 휴지통에있을 수 있습니다"는 정확히 내가 겪고 있는 문제입니다. 이것은 더 잘 광고되어야합니다!
cdeszaq

명령에 -f 스위치를 추가하면 작업이 수행됩니다. "volumename"을 "*"로 바꾸면 여러 개의 USB 드라이브를 연결하고 동시에 모든 휴지통을 비울 수 있습니다. 1 대 1로 연결 한 다음 다시 실행할 필요가 없습니다.
Danijel-James W

모두를 포함하는 명령을 실행하기 위해 위험 할 수 sudo rm/Volumes/*/something심지어 시스템 드라이브에 영향을 미칠 수 있기 때문에, 그리고 오타는 나쁜 결과를 초래할 수 있습니다.
gerlos

8

일반적인 동작 :
USB 드라이브에서 무언가를 삭제하면 .Trashes해당 볼륨 의 폴더 로 이동됩니다 . 컴퓨터에 연결하면 삭제 된 항목이 휴지통에 나타납니다.

연결을 해제하면 다시 연결하기 전까지는 드라이브에서 삭제 한 항목이 더 이상 휴지통에 표시되지 않습니다. 그런 다음 휴지통을 비울 수 있습니다. 그것은 것 정말 그 드라이브에서 삭제합니다.

그것이 당신에게 일어나지 않는다면, 여기 내 제안이 있습니다 :

  1. Finder 사이드 바에서 드라이브를 선택하십시오.
  2. 다른 것을 선택하지 않고를 누르십시오 cmd-i(또는 메뉴 항목 File→을 사용하십시오 Get Info).
  3. Sharing and Permissions해당 창의 섹션을 사용하여 Everyone에 권한을 부여 하십시오 Read and Write.

이것은 받아 들여 져야한다
zsitro

7

나는 그것이 최선의 대답인지는 모르겠지만 적어도 작동하는 대답입니다.

명령 행을 열고 USB 볼륨 (내 경우에는 / Volumes / USB)으로 cd 한 후 다음을 입력하십시오.

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

이를 위해서는 사용자가 매번 특정 볼륨으로 이동해야합니다. 답장을 바탕으로 Bash 스크립트와 AppleScript 솔루션을 제안했습니다.
Danijel-James W

2

2 솔루션. 1 Bash를 사용하는 다른 하나는 AppleScript에 싸인 Bash를 사용하는 것입니다.

해결책 # 1

  1. 새로운 AppleScript 생성 /Applications/Utilities/AppleScript Editor
  2. 다음 코드를 입력하십시오 :

    관리자 권한으로 쉘 스크립트 "rm -rf /Volumes/*/.Trashes/*"수행

  3. 편리한 위치에 파일을 저장하고 USB 휴지통을 지울 때마다 파일을 실행하십시오.
  4. 두 번 클릭하여 실행할 수 있습니다.

참고 : 이렇게하면 내부 하드 디스크를 포함하여 연결된 모든 볼륨의 휴지통이 비워집니다. 5 개의 USB 드라이브와 Firewire 하드 디스크를 연결 한 경우 모든 휴지통이 비워집니다.


해결책 # 2

  1. 좋아하는 텍스트 편집기를 시작하십시오 (광산은 나노입니다).
  2. 다음 코드를 텍스트 편집기에 붙여 넣고 파일을 저장하십시오.

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

  3. 확장명을 사용하여 편리한 위치에 파일을 저장 한 .sh다음 chmod +x {filename}.sh터미널에서 실행 파일로 만드십시오.

  4. 로 실행 ./{filename}.sh

참고 : 위와 동일한 참고 사항. 이것은 터미널에서 실행 가능합니다.


2

이 스크립트 AppleScript를 사용하여 Application으로 저장하십시오.

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

응용 프로그램에서 볼륨을 끌어다 놓습니다.

이 스크립트는 볼륨의 휴지통 (사용자 ID) 폴더에서 항목을 제거합니다. 다른 사용자가 볼륨을 사용하는 경우이 스크립트는 휴지통 폴더에서 항목을 삭제하지 않습니다. 그렇지 않으면 스크립트에서 관리자 암호가 필요합니다.


휴지통을 비운 후 볼륨을 꺼내려면이 스크립트를 사용하십시오.

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

Applescript가 작동하게하려면 연결된 장치 또는 드라이브를 AppleScript 응용 프로그램으로 끌어다 놓기 만하면됩니다. 응용 프로그램 아이콘을 측면 도킹으로 끌어서 놓아 편의를 위해 도크에서 일반 휴지통 옆에 별칭을 만들 수 있습니다.
Tony_kenya
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.