본문 바로가기

OS/Linux

Linux - 서버 간 파일 복사 명령어(scp) / 원격 파일 복사

728x90

리눅스(Linux)에서 파일을 복사하는 명령어는 cp가 가장 보편적으로 알려져 있습니다.

서버 간 파일 복사가 필요하면 scp 명령어를 사용하는데 scp 명령어는 secure copy의 줄임말입니다.

 

scp 명령어 사용법 

1. 로컬 서버 -> 원격 서버로 전송

# scp [옵션] [원본 경로 및 파일] [계정명]@[서버 IP]:[복사할 경로 및 파일]

 

2. 원격 서버 -> 로컬 서버로 전송

# scp [옵션] [계정명]@[서버 IP]:[원본 경로 및 파일] [복사할 경로 및 파일]

 

옵션

-P : 포트 번호 지정(ssh 포트)  // 주로 많이 씀

-p : 원본 권한 속성 유지하여 복사

-r : 디렉토리 내 모든 파일/디렉토리 복사  // 주로 많이 씀

-c : 압축 복사

-v : 복사 과정 출력

-a : 아카이브 모드 복사

 

1-1. ex) scp /home/abc.txt samso@1.1.1.1:/home/remote 

로컬 서버에서 1.1.1.1 서버에 samso 계정으로 로그인해 /home/remote 아래에 /home/abc.txt 파일 복사

 

1-2. ex) # scp test1.txt test2.txt samso@1.1.1.1:/home/remote

복수의 파일을 원격지로 복사

 

1-3. ex) # scp -r /home/samsodir/ samso@1.1.1.1:/home/remote

디렉토리를 원격지로 복사 (-r 옵션 사용)

 

2-1. ex) scp samso@1.1.1.1:/home/abc.txt /home/local

원격 서버 1.1.1.1에 samso 계정으로 로그인해 /home/abc.txt 파일을 /home/local 에 복사

* samso 계정이 /home/abc.txt 파일에 대한 권한이 있어야 한다.

 

2-2. ex) # scp samso@1.1.1.1:"/test1.txt /test2.txt" /home/local

복수의 파일을 원격지에서 로컬로 복사

* 원격지 경로의 파일은 큰 따옴표로 묶어주어야 한다.

 

2-3. ex) # scp -r samso@1.1.1.1:/home/samsodir /home/local

원격지에 있는 디렉토리를 로컬로 복사 (-r 옵션 사용)

 

※ scp 명령어 사용 중 주의사항

 

  • 파일을 복사하려면 원본 파일의 읽기 권한 / 원격 서버에 접근하는 계정에는 쓰기 권한이 있어야 합니다.
  • 안전한 데이터 전송을 위해 SSH을 이용하기 때문에 원격 서버에 접근하는 계정에 암호를 설정해야 합니다.
  • 같은 이름과 위치에서 파일을 복사할 때는 SCP 명령어에서 별도로 경고하지 않고 덮어쓰므로 주의해야 합니다.
  • 로컬과 원격 위치를 구분할 때는 쌍점(:)을 사용합니다.

 

728x90
반응형

'OS > Linux' 카테고리의 다른 글

Linux - 용량 확인 명령어 (du, df)  (0) 2023.03.16
Linux - 네트워크설정(IP / DNS 설정)  (0) 2023.03.14
Linux - 파일 출력 명령어 (cat)  (0) 2023.03.08
Linux - 텍스트 편집 명령어(sed)  (2) 2023.02.16
Linux - mount(마운트)  (0) 2023.02.14