본문 바로가기
Linux

[Linux] scp 명령어

by 단델x 2023. 1. 6.

SCP(Secure Copy)

ssh 원격 접속 프로토콜을 기반으로 원격지에 파일과 디렉토리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜이다.

네트워크가 연결된 환경에서 ssh와 동일한 22번 포트와 identity file을 사용해서 파일을 송수신하여 보안적으로도 안정적이다.

 

원격지에서 파일을 받아오거나 보내야 할 때가 종종 있는데,  scp 명령어를 사용하여 쉽게 주고 받을 수 있다.

 

❗ 모든 명령어는 로컬 서버에서 입력한다. 

파일은 파일이 위치하는 곳에서 입력시 경로가 필요없지만, 그렇지 않은 경우에는 파일의 경로를 명시해주어야 한다. 

ex)  /c/test/git 안에 있는 testfile.txt 파일을 전송하려고 할 때,
현재 위치가 /c/test/git 이라면 scp testfile.txt [원격지_id]@[원격지_ip]:[받는 위치] 로 작성하면 된다. 
하지만 현재 위치가 다른 곳이라면 해당 위치로 cd 이동하여 작성하거나 
scp /c/test/git/testfile.txt [원격지_id]@[원격지_ip]:[받는 위치] 와 같이 보낼 파일의 위치를 명시해주어야 한다.

<로컬  → 원격>

  • 단일 파일을 '로컬 →원격지'로 보낼 때
    scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치]

  • 여러개를 보낼 때는 한 칸 띄우고 파일명을 넣어주면 된다.
    scp [옵션] [파일명 1] [파일명 2] [원격지_id]@[원격지_ip]:[받는 위치]

  • 여러 파일을 포함하고 있는 디렉토리를 보낼 때는 -r 옵션을 사용한다.
    -r 옵션을 사용하면 보내고자하는 디렉토리의 하위 폴더+파일까지 동시에 전송 가능하다.
    scp -r[옵션] [디렉터리 이름] [원격지_id]@[원격지_ip]:[보낼 경로]

<원격 → 로컬>

  • 단일 파일을 원격지→로컬 로 가져올 때
    scp [옵션] [원격지_id]@[원격지_ip]:[파일명] [받을 경로]

  • 여러개를 받을 때는 한 칸 띄우고 파일명을 넣어주면 된다.
    scp [옵션] [원격지_id]@[원격지_ip]:”[파일명 1] [파일명 2]” [받을 경로]
    ✨주의 할 점은 다른 것과 다르게 파일 경로를 “”(큰 따옴표)로 묶어주어야 한다는 점이다.

  • 디렉토리를 받을 때는 -r 옵션을 사용한다.
    scp -r[옵션] [원격지_id]@[원격지_ip]:[디렉토리명] [받을 경로]

 

scp와 쓰이는 옵션

여러 옵션이 있는데 가장 유용하다고 생각하는 옵션은 -v 옵션이다. 

v는 verbose를 의미하며, 이 옵션을 사용하면 터미널 화면에서 scp 명령이 실행되는 것을 단계별로 확인 할 수 있다. 

꼭 ! 한 번 확인해보기를 추천한다. 명령이 실행되고 ssh 기반의 인증이 진행되는 과정을 눈으로 볼 수 있는데 ssh 를 이해하는데에 도움이 된다. 

 


참고

 

리눅스 scp 명령어 사용법 ( 파일 전송 프로토콜 / 파일 보내기 /파일 받기 )

안녕하세요 롯사입니다. 이번 시간 포스팅은 리눅스 기반 운영체제에서 사용하는 파일 전송 프로토콜 scp에 대해서 포스팅해보겠습니다. 리눅스 기반 시스템 기반을 운영하고 계신 현업 종사자

wlsvud84.tistory.com

 

'Linux' 카테고리의 다른 글

[Linux] vi/vim 에디터  (0) 2023.01.27
[Linux] 심볼릭 링크 (symbolic link)  (0) 2023.01.02
[Linux] 가상머신과 이미지파일  (0) 2023.01.02
[Linux] CentOS - yum 명령어  (0) 2023.01.02
[Linux] sudo apt-get 명령이 없습니다  (0) 2022.12.30

댓글