2010-06-04 80 views
14

如果我在rm -rf中有一个软链接的文件夹,它会尝试关注这些链接并删除相应的文件夹,还是只是将它们解除链接?删除包含符号链接的文件夹

我有我的主目录,在它的符号链接的副本,我吓得rm -rf它的情况下,它遵循这些链接,并炸毁了相应的文件夹...

回答

7

号室射频不会遵循符号链接 - 它只会删除它们。

% mkdir a                
% touch a/foo 
% mkdir b                
% ln -s a b/a               
% rm -rf b                
% ls a                 
foo 
14

一般来说,rm不会“删除”。它“取消关联”。这意味着对文件的引用将被rm删除。当引用数量达到零时,文件将不再可访问,并且及时,它所在的磁盘区域将用于其他内容。

当你rm一个目录,目录内的东西是取消链接。符号链接是(有点像)文件,其内部的目标名称被删除。要真正找出他们指向的内容,然后取消链接目标是特殊工作,所以不会由通用工具完成。

0

这里是axample:

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不跟随符号连接

相关问题