본문 바로가기

리눅스

scp 명령어

반응형

scp 명령어

scp는 Secure Copy의 약자로, 원격 서버와 로컬 시스템 간에 파일을 안전하게 복사하는 명령어입니다.

사용 방법

옵션:

  • -r: 디렉토리를 재귀적으로 복사합니다.
  • -p: 파일의 속성(퍼미션, 타임스탬프 등)을 유지하면서 복사합니다.
  • -P 포트번호: SSH 포트 번호를 지정합니다.
  • -i 개인키: 개인키 파일을 사용하여 인증합니다.

예시

1. 원격 파일을 로컬로 복사하기

scp user@remote_host:/path/to/remote/file /path/to/local/directory

위의 예시에서 user는 원격 서버에 접속하기 위한 사용자 이름이고, remote_host는 원격 서버의 호스트 이름 또는 IP 주소입니다. /path/to/remote/file은 원격 서버의 파일 경로이고, /path/to/local/directory는 로컬 시스템의 대상 디렉토리입니다.

2. 로컬 파일을 원격 서버로 복사하기

scp /path/to/local/file user@remote_host:/path/to/remote/directory

위의 예시에서 /path/to/local/file은 로컬 시스템의 소스 파일 경로이고, user는 원격 서버에 접속하기 위한 사용자 이름이며, remote_host는 원격 서버의 호스트 이름 또는 IP 주소입니다. /path/to/remote/directory는 원격 서버의 대상 디렉토리입니다.

3. 디렉토리 재귀적으로 복사하기

scp -r user@remote_host:/path/to/remote/directory /path/to/local/directory

위의 예시에서 -r 옵션은 디렉토리를 재귀적으로 복사하도록 지정합니다. user는 원격 서버에 접속하기 위한 사용자 이름이고, remote_host는 원격 서버의 호스트 이름 또는 IP 주소입니다. /path/to/remote/directory는 원격 서버의 소스 디렉토리 경로이고, /path/to/local/directory는 로컬 시스템의 대상 디렉토리입니다.

위의 예시는 scp 명령어를 사용하여 파일 및 디렉토리를 원격 서버와 로컬 시스템 간에 복사하는 방법을 보여줍니다. 필요에 따라 경로와 파일/디렉토리 이름을 수정하여 사용하십시오.

추가 예시

  • ssh 옵션을 사용하여 파일 전송하기
scp -P 2222 anticrack.tar.gz scbyun@192.168.0.100:/home/scbyun/.
728x90
  • 출발지(node1) 서버
scp ./ send_file.txt root@58.140.191.147:/usr/local/src/
$ scp ./ send_file.txt root@58.140.191.147:/usr/local/src/
root@scbyun.com’s password:
send_file.txt | 0B | 0B/s | TOC: 00:00:01 | 100%
  • 목적지(node2) 서버
$ pwd
/usr/local/src
$ ls -al
합계 242032
drwxr-xr-x 16 root root 4096 9월 14 00:40 .
drwxr-xr-x 15 root root 4096 9월 14 00:17 ..
-rw-r--r-- 1 root root 0 9월 14 00:40 send_file.txt
  • 출발지 서버에서 목적지 서버로 cronolog-1.6.2.tar.gz 파일을 보내기
    • cronolog-1.6.2.tar.gz 파일을 목적지 서버 /home/cheol/sss/ 밑에 디렉토리에 파일을 저장합니다.
  • 출발지(node1) 서버
scp cronolog-1.6.2.tar.gz root@58.140.191.147:/home/cheol/sss
$ scp cronolog-1.6.2.tar.gz root@58.140.191.147:/home/cheol/sss
root@58.140.191.147's password:
cronolog-1.6.2.tar.gz | 130kB | 130kB/s | TOC: 00:00:01 | 100%
  • 목적지(node2) 서버
$ pwd
/home/cheol/sss
$ ls
cronolog-1.6.2.tar.gz

 

728x90
반응형