删除一个目录的符号链接
我有一个指向一个重要目录的符号链接。我想去掉这个符号链接,同时保留它后面的目录。
我试过rm
,得到的结果是rm: cannot remove 'foo'
。
我试过rmdir
,得到的结果是rmdir: 未能删除'foo'。目录不是空的
。
然后我通过rm -f
、rm -rf
和sudo rm -rf
进行操作。
然后我去找我的备份。
有什么方法可以摆脱符号链接,而不把婴儿和洗澡水一起扔掉?
1061
3
基本上,你需要告诉它删除一个文件,而不是删除一个目录。我相信
rm
和rmdir
之间的区别是由于C库处理两者的方式不同而存在的。无论如何,第一种方法应该可以工作,而第二种方法应该抱怨foo是一个目录。
如果不能像上面那样工作,那么请检查你的权限。你需要对包含的目录有写入权限才能删除文件。
使用"unlink"命令,并确保***不要在末尾有/。
我认为这可能是有问题的,如果我没有看错的话。
https://linux.die.net/man/2/unlink
如果rm不能删除一个符号链接,也许你需要看看包含该符号链接的目录的权限。要删除目录条目,你需要在包含目录上有写入权限。