성장에 목마른 코린이

[Linux] scp, sftp 사용법 본문

OS (Operating System)/Linux

[Linux] scp, sftp 사용법

성장하는 코린이 2022. 11. 29. 20:00
728x90

사용법

> scp [options] [source] [target]

# source : 파일을 보낼 주소
# target : 파일을 받을 주소

보낼 파일의 주소로 파일명만 명시했더니 permission denied가 떴다. 이후 절대경로로 변경해주니 파일이 잘 전송된 것을 확인 할 수 있었다.

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

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

EX) 로컬의 /home/example.txt 파일을 원격지의 /home/test 디렉토리로 전송
> scp /home/example.txt dhj@141.211.xx.xxx:/home/test

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

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

EX) 원격지의 /home/test.txt 파일을 로컬의 /home/example 디렉토리로 전송
> scp dhj@141.211.xx.xxx:/home/test.txt /home/example

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

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

EX) A 원격지의 /home/test.txt 파일을 B 원격지의 /home/example 디렉토리로 전송
> scp dhj@141.211.xx.xxx:/home/test.txt gildong@141.223.xx.xxx:/home/example

옵션 (options)

  • -r: 폴더를 복사할 때 사용(전송 대상을 폴더로 지정). 모든 폴더들을 재귀적으로 복사함.
  • -P: ssh 포트 지정
  • -i: identity file을 지정해서 사용(identity file 경로를 지정)
> ex) scp -i ~/.ssh/dhj-server-private ~/example.txt dhj@141.223.xx.xxx:/home/test
  • -v: 상세내용을 보면서 디버깅 할 때 사용(verbose 모드)
  • -p: 전송 시 파일 수정 시간과 권한을 유지
> ex) scp -P 22 dhj@141.223.xx.xxx:/home/dhj/example.txt /home/test

복수의 파일 전송

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

> scp [옵션] [파일명1] [파일명2] [유저명]@[IP주소]:[받을 경로]

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

1번의 경우와 다르게 원격지에서 보낼 파일들의 경로를 “ “을 이용해 묶어준다.

> scp [옵션] [유저명]@[IP주소]:"[파일명1] [파일명2]" [받을 경로]

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

마찬가지로 원격지에서 보낼 파일들의 경로를 “ “을 이용해 묶어준다.

> scp [옵션] [유저명]@[IP주소]:"[파일명1] [파일명2]" [유저명]@[IP주소]:[받을 경로]

 

SFTP

sftp는 접근후 put으로 파일을 올려야함 scp랑 방식이 다름

접근

sftp [유저명]@[ip주소]

올리기

sftp> put [파일명]

'OS (Operating System) > Linux' 카테고리의 다른 글

[Linux] VI vs VIM 차이  (2) 2022.11.04
[Linux] 사용 권한 설정 (chown, chmod)  (0) 2022.04.04
Linux 기본 사용법  (0) 2022.03.15
Comments