IT 관련/우분투(Ubuntu) 이것저것

scp 명령어

islet2 2025. 4. 5. 19:37

SCP 명령어 사용법

SCP(Secure Copy)는 SSH 원격 접속 프로토콜을 기반으로 하는 파일 전송 프로토콜입니다. 서버 간 또는 로컬과 서버 간에 안전하게 파일을 주고받을 수 있습니다[1][3].

기본 개념

  • SCP는 Secure Copy의 약자로, SSH를 이용해 네트워크로 연결된 호스트 간에 파일을 전송합니다
  • SSH와 동일한 22번 포트를 사용하여 안전하게 파일을 송수신합니다
  • 로컬→원격, 원격→로컬, 원격→원격 간 파일 전송이 모두 가능합니다

주요 옵션

옵션 설명 사용 예시
-r 디렉토리 내 모든 파일/디렉토리 복사 scp -r
-p (소문자) 원본 권한 속성 유지 복사 scp -p
-P (대문자) 포트 번호 지정 scp -P [포트번호]
-c 압축 복사 scp -c
-v 복사 과정 출력 scp -v
-a 아카이브 모드 복사 scp -a
-q 진행 메시지 표시 없이 조용히 복사 scp -q

사용법

1. 로컬에서 원격지로 파일 전송

단일 파일 전송

scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치]

예: scp test1.txt user@192.168.000.000:/home/test

여러 파일 전송

scp [옵션] [파일명1] [파일명2] [원격지_id]@[원격지_ip]:[받는 위치]

예: scp test1.txt test2.txt user@192.168.000.000:/home/test

디렉토리 전송

scp -r [옵션] [디렉터리명] [원격지_id]@[원격지_ip]:[받는 위치]

예: scp -r testdir user@192.168.000.000:/home/test

2. 원격지에서 로컬로 파일 전송

단일 파일 전송

scp [옵션] [원격지_id]@[원격지_ip]:[원본 위치] [받는 위치]

예: scp user@192.168.000.000:/home/test/testfile1.txt /test

여러 파일 전송

scp [옵션] [원격지_id]@[원격지_ip]:"[원본 위치/파일1] [원본 위치/파일2]" [받는 위치]

예: scp user@192.168.000.000:"/home/test/testfile1.txt /home/test/testfile2.txt" /test

디렉토리 전송

scp -r [옵션] [원격지_id]@[원격지_ip]:[디렉터리 위치] [받는 위치]

예: scp -r user@192.168.000.000:/home/test/ /test2

주의사항

  • 여러 파일을 원격지에서 로컬로 가져올 때는 원격지 경로의 파일을 큰따옴표(" ")로 묶어주어야 합니다
  • 파일 경로는 가급적 절대 경로로 지정하는 것이 좋습니다
  • SCP는 SSH를 기반으로 하므로 상대 호스트에 SSH로 접속이 가능해야 합니다
  • 만약 서버에 있는 파일을 윈도우로 가져오려면 해당 컴퓨터의 파워쉘에서 명령어를 실행해야한다.
scp -P 811 hgm@ssh.sss.uk:/home/hgm/test.txt c:/ttt.txt

# -P 는 대문자로 ssh 포트 번호를 적어 준다. 22번이면 생략가능하다.