내 Ubuntu 시스템에 파일에 대한 심볼릭 링크가 있고 원본 파일을 다른 디렉터리에 복사하고 거기에 새 이름을 지정해야 합니다. 다음을 사용하여 다른 디렉토리에 복사할 수 있습니다.
readlink -ne my_symlink | xargs -0 cp -t /tmp/
하지만 대상 디렉터리에 새 이름을 지정할 수 없습니다. 기본적으로 다음과 같은 명령을 찾고 있습니다.
readlink -ne base.txt | xargs -0 cp -t /tmp/newnametofile
위와 똑같은 명령을 시도하면 file or directory not found
오류가 발생합니다.
어쨌든 이것을 달성 할 수 있습니까?
답변1
cp
-L
기호 링크를 역참조하는 옵션을 사용합니다 .
이것은 작동합니다:
cp -L my_symlink /tmp/newnametofile
xargs
, -t
, --target-directory
옵션 과 관련하여 cp
DIRECTORY만 입력으로 사용합니다. 다음을 사용하여 작동하게 할 수 있습니다 xargs -I{} cp {} /tmp/newnametofile
(그러나 저는 cp -L
여전히...