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
. -p
with를 사용해 -t
도 문제가 되지 않으며 해를 끼치지도 않습니다.
(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -t -p -f -)