티스토리 뷰

PC

[Tip] Cygwin을 이용한 Linux-Windows file transfer

생각많은 소심남 2013. 5. 12. 03:27

몇번 소개했다시피 연구실 컴퓨터는 Ubuntu 12.04가 설치되어 있고, 현재 집에는 windows 을 사용하고 있는데 아무래도 연구실에서 작업하던걸 집에서도 작업해야 될 시점이 온다. 여러가지 수단이 있겠지만 가장 간편한 건 ssh를 통한 원격접속이다. 그런데 일을 하다보면 리눅스 시스템에 있는 파일을 윈도우에서 처리하는 경우가 발생하는데 이번 포스트에서는 Cygwin을 활용해서 파일을 전송하는 방법을 간단하게 소개하고자 한다. 물론 더 잘 아는 사람이라면 ftp를 사용하면 되겠지만 그 부분은 전혀 모르기에..

 일단 Cygwin은 윈도우상에서 동작하는 일종의 명령어 기반 인터페이스이다. 이 인터페이스가 Unix의 terminal가 유사하며 사용자가 원하는 리눅스기반 명령어의 대부분을 Cygwin에서도 그대로 사용할 수 있다.

 자 그럼 일단 원격으로 파일을 전송하기 위해서는 scp(Secure Copy)라는 명령어를 사용하고 보통 다음과 같이 사용할 수 있다.

kang@kang-PC ~$ scp 원격지의 ip 주소: 파일의 경로    저장하고자 하는 경로

그래서 다음과 같이 사용할 수 있는 것이다.



위의 말대로 하자면 192.168.0.1이라는 위치에 있는 pc에 chans 라는 이름으로 로그인하고 위의 경로에 있는 dot라는 확장자를 가진 모든 파일을 내 컴퓨터에 있는 경로에 옮기겠다는 의미이다. 당연히 원격 접속이기 때문에 계정을 확인하는 과정을 거치게 된다. 

 여기서 몇가지 옵션을 붙이면 유용하게 사용할 수 있다. 보통 ssh의 접속은 port number 22번을 통해서 이뤄지는데 이 포트가 기본이기 때문에 보안을 우려한 일반 회사에서는 22번 포트를 막아놓은 경우가 종종있다. 이때는 회사에서 할당한 포트번호로 접속해야 되는데 이때의 옵션은 -P이다. 가령 20000번 포트로 접속하겠다고 하면 다음과 같이 쓰는 것이다.

kang@kang-PC ~$ scp -P 20000 ..... 



이번에는 폴더째 옮기는 방법인데 옵션은 -r을 주면 된다.

kang@kang-PC ~$ scp -r 계정:폴더위치    ..... 


자 그럼 이제 이렇게 전송된 파일이 내 컴퓨터 내에서는 어디에 저장되냐가 궁금해지는데 cygwin 폴더에 보면 home 폴더가 있다. 여기에 사전에 설정한 계정으로 저장되는 것이다. 위치는 다음과 같다.



참고로 앞에서 예제로 언급했던 dot 파일과 폴더를 통채로 scp를 사용해서 옮겨본 결과이다. 위와 같이 전송이 잘 되는 것을 알 수 있다.

댓글