AIX는 복사할 때 디렉토리를 생성합니다.

AIX는 복사할 때 디렉토리를 생성합니다.

AIX에서 파일을 복사할 때 존재하지 않는 디렉토리를 생성하는 가장 좋은 방법은 무엇입니까? 이 같은:

ssh server1 'cp -R ~user1/bin/log ~user2/bin/log'
cp: /u/user2/bin/log: No such file or directory
ssh server1 'cp -r ~user1/bin/log ~user2/bin/log'
cp: /u/user2/bin/log: No such file or directory

~user2/ 디렉터리는 존재하지만 ~user2/bin 디렉터리는 존재하지 않습니다.

답변1

한 가지 가능성은 타르 파이프를 사용하는 것입니다.

(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -x -p -f -)

이는 서브쉘을 사용하여 소스 위치의 상위 디렉토리로 변경한 다음 tar"log" 디렉토리의 아카이브에 표준 출력에 기록되도록 지시합니다. 두 번째 하위 쉘은 대상의 상위 디렉토리로 변경된 다음 tar표준 입력을 통해 파이프된 아카이브를 추출하라는 지시를 받습니다. 이러한 명령은 해당 명령이 성공한 경우에만 tar연결되어 실행됩니다 .&&cd

tar전달된 내용 -x을 두 번째 항목에 지시하여 이를 테스트할 수 있습니다 -t. -pwith를 사용해 -t도 문제가 되지 않으며 해를 끼치지도 않습니다.

(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -t -p -f -)

관련 정보