これはSolarisマシン(UNIX)です
いくつかのサブフォルダーを含むフォルダーがありますが、その中にファイルがありません。
root # ls -al `find trash`
trash:
total 6
drwxrwxrwx 3 root root 512 Aug 6 07:37 .
drwxr-xr-x 9 ---- ---- 1024 Oct 8 06:20 ..
drwxrwxrwx 3 root root 512 Aug 6 07:37 src
trash/src:
total 6
drwxrwxrwx 3 root root 512 Aug 6 07:37 .
drwxrwxrwx 3 root root 512 Aug 6 07:37 ..
drwxrwxrwx 3 root root 512 Aug 6 07:37 tob
trash/src/tob:
total 4
drwxrwxrwx 3 root root 512 Aug 6 07:37 .
drwxrwxrwx 3 root root 512 Aug 6 07:37 ..
削除しようとしましたが失敗しました:
root # rm -rf trash
rm: Unable to remove directory trash/src/tob: File exists
rm: Unable to remove directory trash/src: File exists
rm: Unable to remove directory trash: File exists
マウント ポイントを検索しようとしましたが失敗しました:
root # mount | grep `pwd`
pwd で実行中のプロセスを探そうとしましたが失敗しました:
root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:
ディスクをフォーマットせずにこのフォルダを削除する方法を教えてください。私はまだ Unix の初心者なので、詳細を知りたい場合はコマンドも教えてください。
答え1
おそらく何らかのプロセスが再現しているのでしょうトブrm がファイルを削除した直後。対処法についてはブログ記事をご覧ください。
このファイルを削除しても、別のファイルに置き換えられるだけです。解決策は 2 つあります。NFS サーバー上のファイルを手動で削除するか、(そのタイプのアクセス権がない場合は) プロセスを強制終了します。
ファイルが NFS 上にない場合は、どのプロセスがファイルへのハンドルを持っているかを確認し、それを強制終了するというアドバイスが依然として適用可能です。以下を確認してください。
fuser -u <file>
プロセスを終了した後、ディレクトリを削除できるはずです。