首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rmdir dir错误“不是目录”

rmdir dir错误“不是目录”
EN

Unix & Linux用户
提问于 2016-03-08 11:04:18
回答 2查看 6.6K关注 0票数 1

我有一个看起来像是目录dir2的目录,我曾经将它从另一个目录dir1中移来备份,并创建了一个新的dir1

现在我突然又看到了它,意识到我不需要它,于是做了rm -r -f dir2,发现我的新dir1也是空的。

我拿回了我的文件(is是一个代码存储库,所以只是一些丢失的错误),但我仍然希望删除这个冗余链接或任何dir2

当我尝试rmdir时(在我意识到我删除了所有内容之前),我得到了一个错误Not a directory。它是什么,我怎么移除它?在OSX终端上使用bash。

最新情况:以下建议:

ls -ld dir2输出drwxr-xr-x. 19 asaf users 4096 Mar 8 13:09 dir2/

file dir2/输出dir2/: directory

file dir2输出dir2: symbolic link to ...'

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-03-09 00:51:57

鉴于证据现在已被删除,不可能知道发生了什么。您对症状的描述与dir2是目录中的符号链接是一致的。符号链接是一种特殊的文件,上面写着“真正的文件实际上在那里”。符号链接本身不是一个目录,所以rmdir不能对它做任何事情。但是访问符号链接的内容(指向目录的符号链接的目录中的文件,指向常规文件的符号链接的文件内容)透明地进入链接的目标,因此在使用cd dir2或编辑目录中的文件时不会注意到任何事情。

如果是这样(这是合理的,但一点也不确定!),那么命令rm -r -f dir2只删除符号链接,包含更改的目录仍然存在…。在某个地方。因为您已经删除了链接,所以可能很难找到该链接的位置,但是您可以尝试使用locate命令或等效的GUI (Spotlight?)查找您知道的目录中的文件名。

在未来,跑

代码语言:javascript
复制
ls -ld dir2

这将告诉您dir2是什么样的文件。如果行以d开头,则为目录。如果该行以l开头,则它是一个符号链接,输出指示它指向的位置(->后面的部分)。

票数 4
EN

Unix & Linux用户

发布于 2016-03-08 12:56:24

如果你运行ls -ld dir2,它会告诉我们很多关于情况的信息。

它可能是一个符号链接,或者是一种奇怪的文件类型。我知道此时我们假设它是一个目录,但是还有其他选项。它甚至可能是一个丢失的汽车份额。

还可以尝试运行file dir2。如果它不是一个真正的目录,您可能会看到rmdir的错误。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/268361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档