본문 바로가기
Linux

리눅스 파일 디렉토리 전송 정리 SCP, RSYNC 활용법

by devdrawer 2026. 3. 9.

리눅스에서 파일을 옮길 때는 "낱개 물건을 보내느냐" 아니면 "물건이 담긴 박스 채로 보내느냐"에 따라 명령어가 조금 달라집니다. 파일과 디렉토리를 각각 전송하는 핵심 방법을 정리해 드립니다.

1. 파일(File) 하나만 쏙! 보내는 방법

파일 전송은 아주 단순합니다. 비유하자면 '편지 한 장을 봉투에 넣어 보내는 것'과 같습니다.

① SCP로 파일 전송하기

# 형식: scp [파일이름] [계정]@[IP주소]:[경로]
scp memo.txt root@1.2.3.4:/home/user/

② RSYNC로 파일 전송하기

# 형식: rsync -v [파일이름] [계정]@[IP주소]:[경로]
rsync -v memo.txt root@1.2.3.4:/home/user/

※ 파일 전송 시에는 특별한 옵션 없이 파일명만 정확히 적어주면 됩니다.


2. 디렉토리(Directory) 통째로 보내는 방법

폴더(디렉토리)를 보낼 때는 '박스 안에 든 모든 내용물을 포함한다'는 신호를 서버에 주어야 합니다. 이때 사용하는 것이 바로 재귀적(Recursive) 옵션입니다.

① SCP로 폴더 전송 (핵심 옵션: -r)

SCP에서 폴더를 보낼 때는 반드시 소문자 -r 옵션을 사용해야 합니다. 이 옵션이 없으면 서버는 "그건 폴더라서 못 보내!"라고 거절합니다.

# 형식: scp -r [폴더이름] [계정]@[IP주소]:[경로]
scp -r ./my_project root@1.2.3.4:/home/user/

② RSYNC로 폴더 전송 (핵심 옵션: -a)

RSYNC에서는 -a(archive) 옵션을 주로 사용합니다. 이는 단순히 폴더를 복사하는 것을 넘어, 폴더 안의 하위 폴더 구조, 파일 권한, 시간 기록까지 그대로 복제하는 '박스 통째 복사' 옵션입니다.

# 형식: rsync -avz [폴더이름] [계정]@[IP주소]:[경로]
rsync -avz ./my_project root@1.2.3.4:/home/user/

3. 주의하세요! 슬래시(/) 하나가 결과를 바꿉니다

RSYNC를 사용할 때 특히 주의해야 할 꿀팁이 있습니다. 바로 폴더명 뒤의 슬래시(/) 유무입니다.

  • my_project (슬래시 없음): 'my_project'라는 폴더 자체를 목적지에 복사합니다. (결과: /home/user/my_project/...)
  • my_project/ (슬래시 있음): 'my_project' 폴더 안의 내용물만 목적지에 복사합니다. (결과: /home/user/파일들...)

마치 박스를 보낼지, 박스 안의 물건만 쏟아서 보낼지를 결정하는 것과 같으니 꼭 확인하세요!


요약표: 이것만 외우세요

구분 SCP RSYNC
파일 전송 옵션 없음 -v
디렉토리 전송 -r (필수) -a (권장)