我在/home/user/system
包含标准 Linux 结构的路径中有一个完整的子文件系统,其中包含目录/bin
, /home
, /root
, /usr
, /var
, /etc
,...
这个子文件系统包含符号链接,无论是相对的还是绝对的。相对符号链接很好,它们保留在/home/user/system
. 但是绝对符号链接是有问题的,因为它们指向子文件系统之外的目标。
作为一个例子,我们假设一个绝对符号链接如下(在子文件系统中看到):
/usr/file1 -> /usr/lib/file1
Run Code Online (Sandbox Code Playgroud)
在整个文件系统中,我们现在有一个链接/home/user/system/usr/file1
指向/usr/lib/file1
子文件系统外部的文件,而不是子文件系统/home/user/system/usr/lib/file1
内部的文件。
我想要一个简单的脚本,最好是一个将每个绝对符号链接转换为相对符号链接的单个命令行(rsync、chroot、find 等)。
在给定的示例中,该相对链接将变为
/usr/file1 -> ../usr/lib/file1
Run Code Online (Sandbox Code Playgroud)