
ゴミ箱を空にしても消えない奇妙なファイルがゴミ箱にあります。ファイル名は次のようになります:
␀␀␀õ␀␀.õ␀
ファイルは、どうやら /Volumes/NO NAME/.Trashes/501/ にあるようです (「NO NAME」は私のブート キャンプの Windows ボリュームなので、なぜ .Trashes ディレクトリがあるのかさえわかりません。そのファイル、またはそのディレクトリを「ls」しようとすると、次のメッセージが表示されます。
ls: \004␀␀␀õ\001␀␀.õ\001␀: File name too long
「sudo ls -le」、「sudo ls -la」、または「sudo ls -i」を試しても、同じことが起こります。
rm を実行しようとした場合や、「find . -type f -print0 | sudo xargs -0 rm」を実行した場合も同様の結果になります。
どうすれば取り除くことができますか?
答え1
この人同じ問題がありましたが、Windows でディスク チェックを実行することで解決しました。
答え2
試してみることの一つは、ディレクトリを一覧表示するためにlsよりも低レベルの呼び出しを使用することです。
python -c 'import os; print repr(os.listdir("/Volumes/NO NAME/.Trashes/501/"))'
それがうまくいけば、unlink()
関数を使ってみましょう
編集: リンクを解除するには
python -c 'import os; os.unlink("/Volumes/NO NAME/.Trashes/501/\x04\xe2\x90\x80\xe2\x90\x80\xe2\x90\x80o\xcc\x83\x01\xe2\x90\x80\xe2\x90\x80.o\xcc\x83\x01\xe2\x90\x80")'
答え3
inode による削除を試しましたか?
ls -i
ファイルとそのinode番号を表示します
$ ls -i *.log
694197 alf.log 694719 mb.log
694181 fsck_hfs.log 24190 secure.log
802696 hdiejectd.log 694195 system.log
1094966 install.log 694396 windowserver.log
24189 ipfw.log
次に、find を使用して inode で削除します (上記の mb.log を削除するとします)。
find . -inum 694719 -exec rm {} \;
答え4
Windows を起動して、ファイルを削除できるかどうかを確認してください (実際にファイルが見えると仮定)。