강좌 & 팁
글 수 2,412
2013.11.28 11:55:57 (*.52.177.249)
41402
리눅스에서 파일을 복사할 때, cp 를 이용할 경우 문제가 되는 경우가 있을 수 있습니다.
파일의 사용자, 그룹이나 특수 권한이 유지가 안되는 것,
그리고 파일의 크기가 너무 커서 안되는 경우가 그런 경우입니다.
이럴 때는 tar 를 이용해서 복사를 할 수 있는데, 명령어간에 파이프 (|) 를 이용하면,
한번의 명령으로, 추가의 하드디스크 공간없이 할 수 있습니다.
$ tar cvf - . | (cd ../b/ ; tar xvf -)
예를 보면 다음과 같습니다.
$ ls a b $ ls a/ netkit-ftp_0.17-25.debian.tar.gz netkit-ftp_0.17-25.dsc netkit-ftp_0.17.orig.tar.gz $ ls b/ $ $ cd a/ $ ls netkit-ftp_0.17-25.debian.tar.gz netkit-ftp_0.17-25.dsc netkit-ftp_0.17.orig.tar.gz $ tar cvf - . | (cd ../b/ ; tar xvf -) ./ ./netkit-ftp_0.17-25.debian.tar.gz ./netkit-ftp_0.17.orig.tar.gz ./ ./netkit-ftp_0.17-25.debian.tar.gz ./netkit-ftp_0.17-25.dsc ./netkit-ftp_0.17.orig.tar.gz ./netkit-ftp_0.17-25.dsc $ $ cd ../b $ ls netkit-ftp_0.17-25.debian.tar.gz netkit-ftp_0.17-25.dsc netkit-ftp_0.17.orig.tar.gz $