Linux에서 파일 보존 디렉토리 경로를 복사하는 방법은 무엇입니까? 싶습니다. ‘ a/myProject/.project’, ‘ myProject/.project’를 ‘ b’

Eclipse 프로젝트와 “.project”파일이 있으며 디렉토리 구조는 ‘ myProject/.project‘ 처럼 보입니다 . 이 ‘.project’파일을 다른 디렉토리에 복사하고 싶지만 둘러싸는 디렉토리 이름을 유지하고 싶습니다.

a/myProject/.project‘, ‘ myProject/.project‘를 ‘ b‘ 에 복사하고 싶다고해서 ‘ b/myProject/.project‘이지만 ‘ b/myProject‘이 존재하지 않는다고 가정 해 보겠습니다 . 내가 시도 할 때 :

 cp -r ./myProject/.project ../b

‘myProject’디렉토리없이 ‘.project’파일 자체 만 복사합니다. 조언 부탁드립니다.



답변

필요한 스위치는 다음 --parents과 같습니다.

jim@prometheus:~$ cp --parents test/1/.moo test2/
jim@prometheus:~$ ls -la test2/
total 42
drwxr-xr-x   3 jim jim    72 2010-09-14 09:32 .
drwxr-xr-x 356 jim jim 43136 2010-09-14 09:32 ..
drwxr-xr-x   3 jim jim    72 2010-09-14 09:32 test
jim@prometheus:~$ ls -la test2/test/1/.moo
-rw-r--r-- 1 jim jim 0 2010-09-14 09:32 test2/test/1/.moo


답변

사용할 수없는 rsync -ROSX에서 작동하는을 사용할 수도 cp --parents있습니다.

https://stackoverflow.com/a/13855290/598940


답변

다음 tar과 같이 사용하십시오 .

mkdir b; tar cpf - myProject/ | tar xpf - -C b/

(테스트되지 않았습니다. 먼저 드라이 런을 제공하거나 모형 시나리오에서 시도하십시오.)


답변

mkdir -p재귀 적 상위 경로 생성을 사용하여 대상 폴더를 만드는 데 처음 사용 하십시오. 그런 다음 내용을 대상 폴더에 복사하십시오.

mkdir -p b/myProject/.project
cp -r a/myProject/.project/file b/myProject/.project


답변

cp -P a/myProject/.project b

자세한 내용 man cp은 참조하십시오.


답변

cpio를 find와 함께 사용합니다. 여기에 설명하십시오 .

사용 사례의 예 :

find /a/myProject/.project/ -type f | cpio -p -dumv /b/.

이 명령은 포함 된 모든 파일을 /a/myProject/.project/경로를 유지하면서 사본 에서 모든 파일을 찾습니다 .


답변

또한 대부분의 내부 디렉토리 사본을 생략하지 않으려면 옵션 --parents을 추가해야합니다.-r

$ cp --parents test/1/.moo test2/
cp: omitting directory ‘test/1/.moo’

그래서 저에게 맞는 명령은

$ cp --parents -r test/1/.moo test2/