さて、私はついに問題を解決しました。 ls
を引き起こすファイルシステムエラーが原因でした 誤って表示されたり、他のユーティリティが誤動作したりする可能性があります。
質問のタイトルが誤解を招くようで申し訳ありません ( u/
内に実際に多くのファイルがあるにもかかわらず) 、ディレクトリはあまり大きくありません ).
破損したファイルシステムは /
であるため、ライブ USB を使用して問題を解決しました .修正は単に sudo fsck -cfk /dev/sda2
を適用するだけでした どこで dev/sda2
は破損したディスクです。
rm
を使用して大量のファイルを削除することはできません .どちらでも構いません
find u/ -type f -print0 | xargs -r -0 rm -f
これにより、ファイルのみが削除されます。すべてを削除するには
find u/ -print0 | xargs -r -0 rm -rf
おそらく --delete
を使用できます find
のオプション 、システムにある場合:
find u/ -type f --delete
または rsync
を使用したファンキーな方法 :
mkdir emptyfolder
rsync -r --delete emptyfolder/ u/
rsync
rm
よりもはるかに高速です いくつかのチェックをバイパスするため、ものを削除するとき。
find /u -type f | while read f; do rm -f $f; done
を試すことができます これにはしばらく時間がかかりますが、うまくいくかもしれません。何らかの理由で、bash のループは、他のアプローチが失敗したときにうまく機能します。