본문 바로가기
Linux/Linux Shell Command

scp (Secure Copy) 명령어 - 파일 전송

by 드로니뚜벅이 2023. 4. 18.

scp는 SecureCopy의 약자로, 원격서버에 있는 파일과 폴더를 전송하거나 가져오기 위해 사용하는 명령어이다. ssh 원격 접속 프로토콜을 기반으로 하며, ssh와 동일한 22번 포트를 이용하기 때문에 password/identity file을 이용해 안전하게 송수신 할 수 있다.

 

옵션 (options)

Option Description
-r 폴더를 복사할 때 사용(전송 대상을 폴더로 지정)하고 모든 폴더들을 재귀적으로 복사합니다.
-P ssh 포트를 지정합니다.
-i identify file을 지정해서 사용합니다(identify file 경로 지정).
-v 상세 내용을 보면서 디버깅할 때 사용합니다. (verbose mode)
-p 전송 시 파일 수정 시간과 권한을 유지합니다.

 

로컬에서 원격으로 (Local→Remote)

$ scp [전송할 파일 경로] [유저명]@[IP주소]:[받을 경로]

EX) 로컬의 현재 경로에 있는 sample.txt 파일을 원격지의 /home/root 디렉토리로 전송
> scp ./sample.txt domdomi@1.123.xxx.xxx:/home/root/
Ubuntu 20.04.2 LTS
돔돔이 블로그!!
domdomi@1.123.xxx.xxx's password:
sample.txt                 100%    5     1.2KB/s   00:00

# 여러 파일 전송
$ scp [옵션] [파일명1] [파일명2] [유저명]@[IP주소]:[받을 경로]

 

원격에서 로컬로 (Remote→Local)

$ scp [유저명]@[IP주소]:[전송할 파일 경로] [받을 경로]

EX) 원격지의 /home/root/sample.txt 파일을 로컬의 현재 디렉토리로 전송
$ scp domdomi@1.123.xxx.xxx:/home/root/sample.txt ./
Ubuntu 20.04.2 LTS
돔돔이 블로그!!
domdomi@1.123.xxx.xxx's password:
sample.txt                          100%    5     1.6KB/s   00:00

# 여러 파일 전송: 파일명을 쌍따옴표로 묶어줌
$ scp [옵션] [유저명]@[IP주소]:"[파일명1] [파일명2]" [받을 경로]

 

원격에서 원격으로 (Remote→Remote)

$ scp [유저명]@[IP주소]:[전송할 파일 경로] [유저명]@[IP주소]:[받을 경로]

EX) A 원격지의 /home/domdomi/sample.txt 파일을 B 원격지의 /home/buha 디렉토리로 전송
$ scp domdomi@1.123.xxx.xxx:/home/domdomi/sample.txt buha@1.211.xxx.xxx:/home/buha

# 여러 파일 전송
$ scp [옵션] [유저명]@[IP주소]:"[파일명1] [파일명2]" [유저명]@[IP주소]:[받을 경로]

 

 

참고사이트

 

 

'Linux > Linux Shell Command' 카테고리의 다른 글

gz 압축 (gzip)  (0) 2023.06.15
systemctl 명령어  (0) 2023.04.25
chmod - 파일 접근 권한 변경 명령어  (0) 2023.03.07
mount - 파일시스템 마운트하기  (0) 2023.02.04
chown - 파일 및 디렉터리 소유자 변경  (0) 2023.02.01