ディレクトリを削除できません。

ディレクトリを削除できません。

私のOS Xホストから「foo」ディレクトリを削除するのに問題があります。

mymac:.Trashes joe$ ls
foo
mymac:.Trashes joe$ ls foo/
Ảnh011.jpg  Ảnh012.jpg  Ảnh013.jpg
mymac:.Trashes joe$ ls -l foo/
ls: Ảnh011.jpg: No such file or directory
ls: Ảnh012.jpg: No such file or directory
ls: Ảnh013.jpg: No such file or directory
mymac:.Trashes joe$ rm -rf foo/
rm: foo/: Directory not empty
mymac:.Trashes joe$ sudo rm -rf foo/
Password:
rm: foo/: Directory not empty

ご覧のとおり、ls「foo」ディレクトリには実行できるファイルだけがあります。ls -l個々のファイルやディレクトリを削除できません。 「ごみ箱を空にする」を使用しても機能しません。私もディスクユーティリティ - >ディスクの確認とディスクの回復を試みました。

編集:リクエストに応じてここに追加情報があります。

mymac:.Trashes joe$ ls -del foo/
drwxrwxrwx  2 joe  staff  16384 13 May 11:19 foo/
mymac:.Trashes joe$ ls -del foo
drwxrwxrwx  2 joe  staff  16384 13 May 11:19 foo
mymac:.Trashes joe$ LC_ALL=C
mymac:.Trashes joe$ ls -ABeli foo/
total 1812
18972612676 -rwxrwxrwx  1 joe  staff  305951 13 May 11:19 Ảnh011.jpg
19123958587 -rwxrwxrwx  1 joe  staff  309745 13 May 11:19 Ảnh012.jpg
18511775654 -rwxrwxrwx  1 joe  staff  310907 13 May 11:19 Ảnh013.jpg
mymac:.Trashes joe$ find foo/
foo/
foo//Ảnh011.jpg
foo//Ảnh012.jpg
foo//Ảnh013.jpg

答え1

エントリ名がfooファイルの有効なノードに関連付けられていないようです。これがどのように起こるのか、rm -rfエントリを削除してもディレクトリからエントリが削除されないのはなぜかわかりません。

しかし、ディレクトリエントリを有効なファイルノードに関連付けると削除できますか?つまり、おそらくこれは?

touch foo/Ảnh011.jpg
rm foo/Ảnh011.jpg

まあ。// 以下の結果が予期せぬ結果だと思う人はいますか?

mymac:.Trashes joe$ find foo/
foo/
foo//Ảnh011.jpg
foo//Ảnh012.jpg
foo//Ảnh013.jpg

私はこれがこのように見えると思いました。 (それが何であれ)//問題解決の手がかりになるのでしょうか?

foo/Ảnh011.jpg
foo/Ảnh012.jpg
foo/Ảnh013.jpg

答え2

まず、ファイル名を変更してみましたか?これらのファイルの先頭には特殊文字「Ả」があります。まずファイル名を変更してから削除してみてください。

答え3

上記の答えは素晴らしいですが、もう一つ知っておくべきことがあります。

デフォルトでは、「ls」(または「ls -l」)は、名前が「.」で始まるファイルを表示しません。 (別名「ドットファイル」)

すべてのファイルが表示されることを確認するには、「ls -a」を使用してください。

「.」で始まる他のファイルがあるかどうかはわかりませんが、可能です。 'foo/'ではこれが空でない理由です。

つまり、「/bin/rm -rf foo」を使用して削除する必要があるため、そのディレクトリには他の問題があります。

答え4

このコマンドを使用してファイルを削除し、フォルダを削除してみてください。

find . -iname '*.jpg' -exec rm {} \;

関連情報