如果我rm -rf
一个包含软链接的文件夹,它是否会尝试关注这些链接并删除相应的文件夹,还是只是取消链接?
我的主目录中有一个带有符号链接的副本,我害怕rm -rf
以防它跟随这些链接并炸毁相应的文件夹......
答案 0 :(得分:16)
一般来说,rm
不会“删除”。它“取消联系”。这意味着rm
删除了对文件的引用。当引用数量达到零时,将无法再访问该文件,并且及时,其所在的磁盘区域将用于其他内容。
当您rm
目录时,目录中的内容将被取消链接。符号链接是(有点像)文件,其中包含目标的名称,因此它们只是被删除。要真正弄清楚他们指向的是什么,然后取消链接目标是特殊的工作,因此不会通过通用工具完成。
答案 1 :(得分:9)
没有。 rm -rf不会遵循符号链接 - 它只会删除它们。
% mkdir a
% touch a/foo
% mkdir b
% ln -s a b/a
% rm -rf b
% ls a
foo
答案 2 :(得分:0)
以下是例子:
find a b
a
a/1
a/2
b
ll
drwxr-xr-x 2 ****** ****** 4.0K Feb 6 15:11 a
lrwxrwxrwx 1 ****** ****** 1 Feb 6 15:13 b -> a
rm -rf b
给出
find a b
a
a/1
a/2
rm -rf b/
给出错误:
rm: cannot remove `b/': Not a directory
结论:
rm不遵循符号链接