USBドライブをMacに接続しています。USBドライブの.Trashesゴミ箱を空にする(ゴミ箱アイコンを右クリックして[空のゴミ箱 ]を実行する)ときに空になっていないことがわかりました
何が悪いのでしょうか?USBドライブのゴミ箱を空にする他の方法はありますか?
rm -R /Volumes/volumename/.Trashes/$UID
USBドライブをMacに接続しています。USBドライブの.Trashesゴミ箱を空にする(ゴミ箱アイコンを右クリックして[空のゴミ箱 ]を実行する)ときに空になっていないことがわかりました
何が悪いのでしょうか?USBドライブのゴミ箱を空にする他の方法はありますか?
rm -R /Volumes/volumename/.Trashes/$UID
回答:
他のユーザーのゴミ箱にファイルがある可能性があります。.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、慎重にこれを使用します。入力を間違えると、不快な結果になる可能性があります。
sudo rmと /Volumes/*/something、システムドライブにさえ影響を与える可能性があり、タイプミスが悪い結果を招く可能性があるため、危険な場合があります。
通常の動作:
USBドライブから何かを削除すると.Trashes、そのボリューム上のフォルダーに移動します。コンピューターに接続すると、削除されたアイテムはごみ箱に他のすべてのものとともに表示されます。
プラグを抜くと、そのドライブから削除したアイテムは、再度プラグインするまでゴミ箱に表示されなくなります。その後、ごみ箱を空にすることができます。そのドライブからそれらを本当に削除します。
それがあなたのために起こっていない場合、ここに私の提案があります:
cmd-iます(またはメニュー項目File→を使用Get Info)。Sharing and Permissionsそのウィンドウのセクションを使用してEveryone、アクセス許可を付与しRead and Writeます。それが最良の答えであるかどうかはわかりませんが、少なくともそれが有効な答えです。
コマンドラインを開き、USBボリューム(私の場合は/ Volumes / USB)に移動して、次のように入力します。
/bin/rm -rf ./Trashes/* works fine with me.
2ソリューション。1つはBashを使用し、もう1つはAppleScriptでラップされたBashを使用します。
/Applications/Utilities/AppleScript Editor次のコードを入力します。
管理者権限でシェルスクリプト「rm -rf /Volumes/*/.Trashes/*」を実行します
注:これにより、内蔵ハードディスクを含むすべての接続ボリュームのゴミ箱が空になります。5台のUSBドライブとFirewireハードディスクを接続している場合、すべてのゴミ箱が空になります。
次のコードをテキストエディターに貼り付けて、ファイルを保存します
#!/ bin / bash
sudo rm -rf /Volumes/*/.Trashes/*
ファイルを拡張子のある便利な場所に保存.shしchmod +x {filename}.sh、ターミナルから実行可能にします
./{filename}.sh注:上記と同じ注意。これは、ターミナルから実行可能です。
このスクリプト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