無法刪除 OSX 中的空目錄

無法刪除 OSX 中的空目錄

這篇文章有點長,抱歉。簡短的版本是:我有一個無法刪除的目錄。當我嘗試與終端互動時,終端機給出“輸入/輸出錯誤”。我掃描了磁碟是否有錯誤,但沒有發現任何錯誤。問題的根源似乎是系統認為這是一個鏈接,但實際上它是一個目錄。我怎麼刪除它?

故事模式:我的桌面上有一個名為「media」的目錄,我透過 SSH (fuse/sshfs) 在其中安裝了另一個目錄。目錄開啟時連線遺失。 Finder 崩潰了,目錄從桌面上消失了。然而它仍然存在:

Desktop mike$ ls -1  
media  
templates  
Desktop mike$ mkdir media  
mkdir: media: File exists 

幾乎我嘗試對目錄執行的所有操作都會出現“輸入/輸出”錯誤:

Desktop mike$ ls -i  
ls: media: Input/output error  
Desktop mike$ sudo rm -rf media  
rm: media: Input/output error  
Desktop mike$ sudo unlink media  
unlink: media: Input/output error  
Desktop mike$ sudo chmod 777 media  
chmod: media: Input/output error  
Desktop mike$ touch media  
touch: media: Input/output error  
cd ./media  
cd: error retrieving current directory: getcwd: cannot access parent directories: Input/output error

如果我嘗試重新掛載遠端 SSH 目錄,也會得到相同的結果:

保險絲:錯誤的安裝點“./media/”:輸入/輸出錯誤

儘管它在桌面或 Finder 中不可見,但我可以搜尋並找到它。右鍵單擊搜尋結果不提供刪除選項—僅提供開啟和屬性。屬性顯示建立和修改時間(正確)以及空白圖示。我還可以選擇打開該項目,在這種情況下它會給我:

"The alias 'media' can't be opened because the original item can't be found. Delete, Fix, or OK." 

當我嘗試刪除時,相同的對話框不斷彈出;選擇修復要求選擇要連結到的新項目。這樣做會報告:“未知錯誤-1407”,谷歌告訴我這意味著“需要一個資料夾,但得到一個文件”。

我可以移動目錄,但前提是我將其保留在桌面上:

Desktop mike$ mv ./media ./a  
Desktop mike$ ls -i  
ls: a: Input/output error  
Desktop mike$ mv ./a ../  
mv: cannot resolve a: /Users/mike/Desktop/a

我還能刪除這個嗎?或至少讓系統相信它是一個目錄而不是連結?

答案1

抱歉,解決這個問題後我沒有更新。我感謝所有知情答复。事實證明這是一件非常簡單的事。瀏覽 Linux 留言板,我發現這是透過 sshfs 掛載的已知問題。

https://bbs.archlinux.org/viewtopic.php?id=94725

我經歷了OP在該線程中描述的每個問題,加上Finder隱藏掛載點的問題(也許它無法統計它或其他東西,所以它只是不顯示它)。 “...嘗試存取斷開連接的 sshfs 共享的進程會進入不間斷睡眠狀態。”快速解決方法是停止 sshfs。 「killal sshfs」對我來說就足夠了。我想重新啟動也會起作用。

答案2

我剛剛遇到了同樣的問題。結果這目前被列為漏洞在 osxfuse 上。解決方法包括手動終止 sshfs 進程,然後卸載遠端目錄。之後您甚至可以刪除本地掛載點。

答案3

我想您無法在“磁碟工具”上選擇“修復磁碟”的原因是因為問題出在您的啟動磁碟上。

我會推薦以下之一:

  • 如果您使用的是 OS X Lion (10.7),請從復原分割區啟動(啟動電腦時按住 CMD-R),從那裡執行“磁碟工具”,然後嘗試修復磁碟;
  • 如果您使用的是舊版的 OS X,您可以從外部磁碟啟動,或安裝蘋果白蘭地(免費軟體);
  • 如果一切都失敗了,我會嘗試磁碟戰士(不是免費的,但仍然是我在數據方面最信任的工具)。

相關內容