如何在 Linux 上刪除損壞的目錄

如何在 Linux 上刪除損壞的目錄

我有一台機器,其中的目錄似乎已損壞。的輸出ls -lah類似:

???????????  ? ?        ?           ?            ? dir_name

這曾經是 SSD 上 CentOS 7 VM 中的有效目錄。我不知道發生了什麼,但現在我只想刪除它,但這似乎不可能:

$sudo rm -rf dir_name 
rm: cannot remove ‘dir_name’: Is a directory

並且stat也無法讀取:

stat dir_name
stat: cannot stat ‘dir_name’: No such device

安全刪除該目錄的最簡單方法是什麼?

答案1

您無法刪除已損壞的目錄。

您必須umount檔案系統並執行fsck

按照 man 8 fsck

fsck - 檢查並修復 Linux 檔案系統

答案2

儘管給出了通用答案,但只是想指出,在我的特定情況下,目錄也用作 SMB (cifs) 掛載點,我可以使用命令看到它mount。所以解決方案就是簡單地執行以下操作:

sudo umount /home/user/dir_name

然後該目錄看起來又正常了,我可以像往常一樣刪除它。

相關內容