강좌 & 팁
글 수 2,412
2015.05.16 16:35:45 (*.117.82.170)
51741
원격 호스트로 파일은 전송하는 방법은 수없이 많이 있습니다.
FTP, SFTP, SCP, samba로 마운트해서 복사하는 방법........ 등등 열거할 수도 없이 많이 있습니다.
하지만 파일의 갯수가 매우 많으면 하나씩 올리는데 필요한 오버헤드가 더 많아져서 시간이 상당히 많이 필요합니다.
그리고 위에서 언급한 것들은 리눅스에 프로그램을 깔아야만 사용할 수 있습니다.
nc (net cat)을 사용하면 손쉽게 원격지로 파일을 전송할 수 있습니다.
우선 파일을 받는 컴퓨터에서 다음과 같이 명령을 수행합니다.
nc -l -p 25000 | gzip -d | tar xf -
파일을 보내는 컴퓨터에서는 다음과 같이 명령을 수행합니다.
tar cf - <보낼 파일 혹은 디렉토리> | gzip | nc -q0 <IP 주소> 25000
25000이라고 되어있는 것이 포트번호입니다. 자주 쓰지 않는 포트번호이기 때문에 충돌은 나지 않지만 혹시라도 25000 포트를 사용하고 있다면 다른 포트를 사용하시면 됩니다.
이렇게 전송하게 되면 tar 및 gzip으로 묶고 압축하여 하나의 파일로 전송하고 받는 측에서 압축을 푸는 형식이라서 오버헤드도 적고, tar로 묶어서 처리하기 때문에 파일의 속성을 그대로 유지하면서 전송할 수 있습니다.