리눅스 cp 명령어 질문

net1692의 이미지

work/
old1/
old2/
old3/
a.c
b.c

old3 폴더에 a.c 파일을 work/new/old2/old3 폴더에 복사하고 싶습니다.

pwd=work/

cp -P old1/old2/old3/a.c ./

이렇게 해봐도 폴더는 복사안되고
work/new/a.c 이렇게만 복사되는데
work/new/old2/old3/a.c 처럼 복사되게끔 저장할 수 있는 명령어가 있을까요?

dlfmfgkdu의 이미지

안녕하세요.

cp -rfp를 해보시는게 어떨까요?

-r 는 폴더를 옮길때 사용하는 옵션이구요
-f 는 안옮겨지는 현상에서 강제로 옮길때 사용하는 옵션입니다.

qiiiiiiiip의 이미지

--parent 또는 --parents 로 해보세요...

man page에 따라 또는 cp의 버전에 따라 설명이 조금씩 다르네요.

man에 -P, --parent 라고 나와있는데, -P는 안되고, --parent 로 해야하고,

최근버전에서는 man에 --parents라고 설명이 있네요..

qiiiiiiiip의 이미지

cp --help 가 가장 정확하겠네요..

  -P, --no-dereference         never follow symbolic links
      --parents                use full source file name under DIRECTORY