我有两个目录:/all/origins/
& /all/links/
。
in 中的所有内容都links/
单独指向 in 中的某些origins/
内容,但并非 in 中的所有内容origins/
都链接到 in 中links/
。(正方形、矩形和分类层次结构,明白了吗?)这些是符号链接 ( ln -s
),而不是硬链接。
links/
需要删除1. 中的所有内容,以及 2. 中的符号链接目标origins/
(不知道它们是否在 中origins/
),以及 3.links/
目录本身。
我应该键入什么rm
Unix 命令来删除整个links/
目录和符号链接到的任何符号链接目标origins/
?
我正在寻找类似的东西:rm -R /all/links
或rm -r --follow-all-ln /all/links
。
如果rm
带有参数的命令无法完成这项工作,请明确说明,因为这是我的偏好并隐含在标题中(Unix 和 Linux 可以通过rm
没有do
循环来执行此操作吗? -只有当这不起作用时,请说明并解释什么do
循环。)
首先备份您的数据,以防出现问题。
我的理解是,您要删除目录的所有内容
/all/links/
以及该目录内的链接指向的文件。没有办法使用您喜欢的简单 Unix 命令来执行此操作,但它可以使用简单的脚本。
正如您所说,里面的所有文件
/all/links/
都是符号链接,因此无需检查每个值i
是否为链接。