9 macos
这篇文章有点长,抱歉。简短版本是:我有一个无法删除的目录。当我尝试与之交互时,终端会给出“输入/输出错误”。我已经扫描了磁盘是否有错误,但没有找到。问题的根源似乎是系统认为这是一个链接,而实际上它是一个目录。我怎样才能删除它?
故事模式:我的桌面上有一个名为“media”的目录,我通过 SSH (fuse/sshfs) 将另一个目录挂载到该目录中。目录打开时连接丢失。Finder 崩溃,目录从桌面上消失。然而,它仍然存在:
Desktop mike$ ls -1
media
templates
Desktop mike$ mkdir media
mkdir: media: File exists
Run Code Online (Sandbox Code Playgroud)
我试图对目录做的几乎所有事情都会给我一个“输入/输出”错误:
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
Run Code Online (Sandbox Code Playgroud)
如果我尝试重新挂载远程 SSH 目录,我会得到相同的结果:
保险丝:错误的挂载点`./media/':输入/输出错误
即使它在桌面或 Finder 中不可见,我也可以搜索并找到它。右键单击搜索结果不提供删除选项——只提供打开和属性。属性显示创建和修改时间(正确)和一个空白图标。我也可以选择打开该项目,在这种情况下,它会给我:
"The alias 'media' can't be opened because the original item can't be found. Delete, Fix, or OK."
Run Code Online (Sandbox Code Playgroud)
当我尝试删除时,同样的对话框不断弹出;选择修复要求选择要链接到的新项目。这样做会报告:“未知错误 -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
Run Code Online (Sandbox Code Playgroud)
无论如何我可以删除它吗?或者至少让系统相信它是一个目录而不是一个链接?
小智 6
抱歉,我解决了这个问题后没有更新。我感谢所有知情的答复。原来这是一件非常简单的事情。浏览 Linux 留言板,我发现这是一种通过 sshfs 挂载的已知问题。
https://bbs.archlinux.org/viewtopic.php?id=94725
我遇到了 OP 在该线程中描述的所有问题,以及 Finder 隐藏挂载点的问题(也许它无法统计它或其他什么,所以它只是不显示它)。“...尝试访问断开连接的 sshfs 共享的进程进入不间断睡眠状态。” 快速解决方法是停止 sshfs。“killal sshfs”对我来说已经足够了。我想重新启动也会奏效。
小智 1
我想您无法在“磁盘工具”上选择“修复磁盘”的原因是因为问题出在您的启动磁盘上。
我会推荐以下之一:
归档时间: |
|
查看次数: |
8235 次 |
最近记录: |