我正在尝试将文件夹中的每个目录符号链接到另一个文件夹。例如,在下面的结构中,我需要符号链接到 folder2 的子文件夹。
- /home/chris/folder1
-- subfolder1
-- subfolder2
- /home/john/folder2
-- subfolder1
-- subfolder2
Run Code Online (Sandbox Code Playgroud)
这是我迄今为止尝试过的方法,但是我的 bash 技能生疏了,这不起作用。
find /home/chris/folder1 -type d -maxdepth 1 -mindepth 1 -exec ln -s {} /home/john/folder2/{} \;
Run Code Online (Sandbox Code Playgroud)
小智 13
假设这种布局:
% tree -L 2
.
??? top-1
??? top-2
??? sub-1
??? sub-2
??? sub-3
Run Code Online (Sandbox Code Playgroud)
而这个期望的输出:
% tree -L 2
.
??? top-1
? ??? sub-1 -> /tmp/sf-582772/top-2/sub-1
? ??? sub-2 -> /tmp/sf-582772/top-2/sub-2
? ??? sub-3 -> /tmp/sf-582772/top-2/sub-3
??? top-2
??? sub-1
??? sub-2
??? sub-3
Run Code Online (Sandbox Code Playgroud)
这个版本的find
:
% find --version
find (GNU findutils) 4.4.2
Run Code Online (Sandbox Code Playgroud)
用:
find /tmp/sf-582772/top-2/ -maxdepth 1 -mindepth 1 -type d -exec ln -s '{}' /tmp/sf-582772/top-1/ \;
Run Code Online (Sandbox Code Playgroud)
用您需要的目录替换此处给出的完整路径。这是一个带有相对路径的版本:
% pwd
/tmp/sf-582772
% find top-2 -maxdepth 1 -mindepth 1 -type d -exec ln -s ../'{}' top-1/ \;
Run Code Online (Sandbox Code Playgroud)
给出:
% tree -L 2
.
??? top-1
? ??? sub-1 -> ../top-2/sub-1
? ??? sub-2 -> ../top-2/sub-2
? ??? sub-3 -> ../top-2/sub-3
??? top-2
??? sub-1
??? sub-2
??? sub-3
Run Code Online (Sandbox Code Playgroud)