누군가 이것에 대해 자세히 설명해 주시겠습니까?공식문서에 이런 설명이 있습니다?
심볼릭 링크에서 복사할 때 cp는 일반적으로 재귀적으로 복사하지 않거나 --link(-l)가 사용되는 경우에만 링크를 따릅니다.
답변1
심볼릭 링크가 있다고 가정합니다 foo/bar -> baz
.
% mkdir foo
% ln -s baz foo/bar
% tree foo
foo
└── bar -> baz
1 directory, 1 file
직접 복사하는 경우 foo/baz
대상 cp
은 기호 링크를 따라 복사됩니다.
% cp foo/bar .
cp: cannot stat 'foo/bar': No such file or directory
여기서는 재귀 복사를 통해 도달 cp
하지 않으므로 foo/bar
대상 파일이 복사됩니다.
대신, 재귀를 복사 foo
하고 지시 하면 cp
대상이 아닌 심볼릭 링크 자체가 복사됩니다.
% cp -r foo foo2
% tree foo2
foo2
└── bar -> baz
1 directory, 1 file
재귀적으로 복사하려고 시도하면서 이 -l
옵션 도 설정하면 cp
다음 심볼릭 링크가 다시 시도됩니다.
% cp -rl foo bar3
cp: cannot stat 'foo/bar': No such file or directory