无法删除OSX中的空目录


8

这篇文章有点冗长,很抱歉。简短的版本是:我有一个无法删除的目录。尝试与之交互时,终端显示“输入/输出错误”。我已扫描磁盘以查找错误,但未找到任何错误。问题的根源似乎是系统认为这是一个链接,而实际上它是一个目录。如何删除?

故事模式:我的桌面上有一个名为“ 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”(Google告诉我的意思是“期望文件夹但有文件”)。

我可以移动目录,但前提是必须将其保留在桌面上:

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

无论如何,我可以删除它吗?或者至少说服系统它是目录而不是链接?


对于我来说,使用srm(developer.apple.com/library/mac/documentation/Darwin/Reference/…)通常会很有效,否则很难删除。您说过“扫描磁盘是否有错误”,您是否做过“验证磁盘”或“验证磁盘权限”(尝试进行权限修复,如果尚未完成,请进行修复)
lupincho 2012年

嗨,谢谢回复。我确实验证了磁盘权限,磁盘和修复权限。我无法选择“修复磁盘”,因为它没有发现任何错误。在目录上使用srm会给我“ srm:无法统计媒体”,我还发现某些文件实用程序会告诉我该文件是目录(而不是链接)。例如,cat和od在报告“媒体:是目录”之前。

您是否尝试过重新启动Mac?
丹尼尔·贝克

如果您进入Terminal并输入该mount怎么办?
加拿大卢克

Answers:


5

抱歉,解决此问题后我没有更新。感谢所有知情的回复。原来这是一件很简单的事情。浏览Linux留言板时,我发现这是通过sshfs挂载的一种已知问题。

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

我遇到了OP在该线程中描述的每一个问题,以及Finder隐藏安装点的问题(也许它不能声明它或其他内容,所以它只是不显示它)。“ ...试图访问断开连接的sshfs共享的进程进入了不间断的睡眠。” 快速解决方案是停止sshfs。“ kill sshfs”对我来说足够了。我想重启也可以。


1
作为参考,我需要做的pkill -9 sshfsumount -f mountpoint
ctn

2

我只是遇到了同样的问题。事实证明,这当前已列为osxfuse上的错误。解决方法是手动终止sshfs进程,然后卸载远程目录。之后,您甚至可以删除本地安装点。


1

我猜您之所以不能在“磁盘工具”上选择“修复磁盘”,是因为问题出在启动磁盘上。

我建议以下之一:

  • 如果您使用的是OS X Lion(10.7),请从恢复分区启动(在启动计算机时按住CMD-R),从那里运行“磁盘工具”,然后尝试修复该磁盘;
  • 如果您使用的是旧版OS X,则可以从外部磁盘启动,也可以安装AppleJack(免费软件)。
  • 如果所有其他方法都失败了,我将为DiskWarrior出谋划策(这不是免费的,但仍然是我最信任的数据工具)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.