删除包含符号链接的文件夹

use*_*829 16 linux macos bash shell

如果我rm -rf是一个包含软链接的文件夹,它会尝试关注这些链接并删除相应的文件夹,还是只是取消链接?

我有一个带有符号链接的主目录的副本,rm -rf如果它跟随这些链接并炸毁相应的文件夹,我很害怕它...

Nou*_*him 17

一般来说,rm不"删除".它"取消联系".这意味着将删除对文件的引用rm.当引用数量达到零时,将无法再访问该文件,并且及时,其所在的磁盘区域将用于其他内容.

当您rm是目录时,目录中的内容将被取消链接.符号链接是(有点像)文件,其中包含目标的名称,因此它们只是被删除.要真正弄清楚他们指向的是什么,然后取消链接目标是特殊的工作,因此不会通过通用工具完成.


Jor*_*wis 10

不.rm -rf不会遵循符号链接 - 它只会删除它们.

% mkdir a                                                             
% touch a/foo
% mkdir b                                                               
% ln -s a b/a                                                           
% rm -rf b                                                              
%   ls a                                                                  
foo
Run Code Online (Sandbox Code Playgroud)