rm -fr が機能しない

rm -fr が機能しない

アプリケーションエラーのために生成されたディレクトリがあります。このディレクトリの構造には、次のように1つのディレクトリごとに2000以上のディレクトリが含まれています。

ディレクトリaaaa内部bob内部ccc内部ddd内部など、これらのディレクトリの深さは1000レベルでeeeあり、そのほとんどは名前にURLでエンコードされたスペースがあります(スペースはisなどです)。%20>%3E

.を使用してディレクトリを削除しようとすると、ディレクトリを削除するために必要な文字列がUNIXでは長すぎるようですrm -frdirectory is not emptyこのディレクトリを削除する方法はありますかrm

私はMac OS X Mountain Lionを使用しています。

ベストアンサー1

非常に深い構造を使用している場合、rm -rf stuff_to_deletermはあまりにも多くのディレクトリを処理できない可能性があります。

次の方法でこの問題を解決できます。

find /starting/path/to/delete/from -type d -delete

または

find -type d /starting/path/to/delete/from -exec rm -f {} \;

最初は動作するはずです。 2番目のコマンドは各ディレクトリに対して新しいコマンド(rm)を開始しますが、これによりrmforceフラグを使用できます。しかし、そうする必要はないようで、最初のコマンドがより速くなってほしいです。

どのコマンドを使用しても、最初に-printを使用してパスが正しいことを確認してください。

おすすめ記事