Linux/Basic

scp - 파일 또는 폴더를 업로드/다운로드 합니다.

Tongchun 2019. 4. 26. 11:48

간혹 Mac에서 서버(Linux)로 파일이나 디렉토리 전체를 업로드해야 할 때가 있습니다.

그럴때 scp (secure copy)를 사용합니다.

ssh로 연결해 key 파일을 가자고 있다면 사용할 수 있습니다. scp는 ssh를 사용해 파일을 전달하게 됩니다.

 

기본적인 scp명령은 아래와 같습니다.

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

간단하게 내 파일을 remote server에 전달할 때는 아래와 같습니다.

로컬 PC(Mac)에 있는 ngle.txt라는 파일을 10.10.0.56인 서버에 tongchun 계정으로 /home/tongchun/words/ 안으로 복사(업로드)합니다.

$ scp ngle.txt tongchun@10.10.0.56:/home/tongchun/words/

 

디렉토리 전체를 업로드할 경우에는 -r 옵션을 사용합니다.

현재 위치에 있는 ngle이라는 폴더를 10.10.0.56 서버에 tongchun 계정으로 /home/tongchun 안으로 업로드 합니다.

$ scp -r ./ngle tongchun@10.10.0.56:/home/tongchun

 

remote server에서 파일이나 디렉토리를 다운받고 싶다면 위치를 반대로 해주면 됩니다.

10.10.0.56 서버에서 /home/tongchun/ngle.txt 파일을 현재 위치에 다운로드 받고 싶다면 아래와 같이 사용합니다.

$ scp tongchun@10.10.0.56:/home/tongchun/ngle.txt ./

 

remote server A에서 remote server B로 파일이나 디랙토리를 이동시킬 수도 있습니다.

10.10.0.56에 있는 APIServer.go 파일을 10.10.0.118로 이동시킵니다.

$ scp tongchun@10.10.0.56:/home/tongchun/APIServer.go ngle@10.10.0.118:/home/ngle

 

자주 사용하는 scp 명령 형식만 확인해 봤으며 더 자세한 사항은 구글에서 찾으면 많이 나옵니다.