파일 전송을 위한 SCP와 Rsync
'scp'로 안전하게 파일을 복사하고 'rsync'로 효율적으로 파일을 동기화해 로컬 및 원격 작업을 수행하는 방법을 익힙니다.
파일 전송을 위한 SCP와 Rsync은(는) CoddyKit의 무료 Linux Command Line & Bash Scripting Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Command Line & Bash Scripting Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Command Line & Bash Scripting Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
안전한 파일 전송
원격 서버로 작업할 때는 파일을 안전하게 전송하는 것이 중요합니다. 전송 중 데이터를 보호하고 무결성을 보장하는 도구가 필요합니다.
이번 과정에서는 강력한 두 명령어를 소개합니다. 안전한 복사에는 scp를, 효율적인 동기화에는 rsync를 사용합니다.
SCP: 보안 복사 프로토콜
SCP는 보안 복사 프로토콜을 의미합니다. 네트워크상의 호스트 간에 파일과 디렉터리를 안전하게 복사할 수 있게 해 주는 명령줄 유틸리티입니다.
- 데이터 전송에 SSH를 사용하므로 암호화와 인증을 제공합니다.
- 빠르게 한 번 파일을 전송할 때 적합합니다.
- 로컬에서 원격으로, 또는 원격에서 로컬로 간단하게 복사할 수 있습니다.
SCP 구문: 로컬에서 원격으로
로컬 컴퓨터에서 원격 서버로 파일을 복사하려면 다음 구문을 사용합니다.
scp local_file user@remote_host:/path/to/destination
- local_file: 현재 컴퓨터에 있는 파일입니다.
- user: 원격 서버에서 사용하는 사용자 이름입니다.
- remote_host: 원격 서버의 IP 주소 또는 호스트 이름입니다.
- /path/to/destination: 원격 서버에서 파일이 저장될 위치입니다.
SCP 예시: 로컬에서 원격으로
현재 디렉터리에 있는 myreport.txt 파일을 server.com의 /home/coddy/reports/ 디렉터리로 복사해 보겠습니다.
scp myreport.txt coddy@server.com:/home/coddy/reports/SCP 구문: 원격에서 로컬로
원격 서버에서 로컬 컴퓨터로 파일을 복사할 때는 원본과 대상의 순서가 반대라는 점을 제외하면 구문이 비슷합니다.
scp user@remote_host:/path/to/remote_file local_destination
- user@remote_host:/path/to/remote_file: 원격 서버에 있는 파일의 전체 경로입니다.
- local_destination: 로컬 컴퓨터에서 파일이 저장될 위치입니다. 현재 디렉터리를 지정하려면
.을 사용합니다.
SCP 예시: 원격에서 로컬로
server.com의 /home/coddy/에서 data.csv 파일을 가져와 현재 로컬 디렉터리에 저장해 보겠습니다.
scp coddy@server.com:/home/coddy/data.csv .Rsync: 효율적인 동기화
Rsync(원격 동기화)는 로컬 및 원격 환경에서 파일과 디렉터리를 복사하고 동기화할 수 있는 다목적 도구입니다.
주요 장점은 다음과 같습니다.
- 효율성: 파일 전체가 아니라 파일 간 차이만 전송하여 대역폭을 절약합니다.
- 전송 재개: 중단된 전송을 이어서 진행할 수 있습니다.
- 속성 보존: 권한, 타임스탬프, 소유권을 유지합니다.
- 유연성: 전송을 세밀하게 조정할 수 있는 다양한 옵션을 제공합니다.
Rsync 구문: 기본 사용법
로컬 디렉터리를 원격 디렉터리와 동기화할 때 사용하는 일반적인 rsync 구문은 다음과 같습니다.
rsync [options] local_source/ user@remote_host:/path/to/destination/
- [options]: rsync의 동작을 제어하는 플래그입니다.
- local_source/: 로컬 컴퓨터에 있는 디렉터리입니다(끝의 슬래시가 중요합니다!).
- user@remote_host:/path/to/destination/: 원격 위치입니다.
Rsync 실행: 기본 동기화
로컬 디렉터리 myproject/를 server.com의 /srv/web/myproject/와 동기화해 보겠습니다. 보관 모드, 자세한 출력, 압축을 위한 -avz 옵션을 사용합니다.
rsync -avz myproject/ coddy@server.com:/srv/web/myproject/Rsync의 강력한 기능: 주요 옵션
Rsync에는 강력한 옵션이 다양하게 있습니다.
-a(보관): 여러 옵션(재귀적 처리, 권한 보존, 타임스탬프 보존 등)을 한 번에 지정하는 일반적인 단축 옵션입니다.-z(압축): 전송 중 파일 데이터를 압축하여 대역폭 사용량을 줄입니다.--delete: 원본에 없는 불필요한 파일을 대상 디렉터리에서 삭제합니다. 주의해서 사용하세요!-n(시험 실행): 실제로 변경하지 않고 수행될 작업을 보여 줍니다. 항상 먼저 이 옵션으로 테스트하세요!
빠른 확인: 파일 전송 도구
로컬 컴퓨터에서 원격 서버로 대용량 디렉터리를 복사해야 합니다. 이후 실행에서는 변경된 파일만 전송하고, 원본에서 삭제된 파일도 대상에서 삭제되도록 하려 합니다.
이 작업에 가장 적합한 명령어와 옵션은 무엇인가요?
복습: SCP 및 Rsync 활용
안전하고 효율적인 파일 전송에 필수적인 두 도구를 익혔습니다!
- SCP는 SSH를 사용하여 파일과 디렉터리를 안전하게 빠른 한 번의 작업으로 복사할 때 적합합니다.
- Rsync는 파일과 디렉터리를 동기화할 때 사용하는 대표적인 도구입니다. 변경된 내용만 전송하여 매우 효율적이며, `--delete`와 같은 강력한 옵션으로 완전한 미러링도 할 수 있습니다.
네트워크를 통해 파일을 능숙하게 관리하려면 작업에 맞는 도구를 선택하세요!
자주 묻는 질문
“파일 전송을 위한 SCP와 Rsync” 강의는 무료인가요?
네 — “파일 전송을 위한 SCP와 Rsync” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Command Line & Bash Scripting Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Command Line & Bash Scripting Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
“파일 전송을 위한 SCP와 Rsync”에서 뭘 배우나요?
'scp'로 안전하게 파일을 복사하고 'rsync'로 효율적으로 파일을 동기화해 로컬 및 원격 작업을 수행하는 방법을 익힙니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Command Line & Bash Scripting Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Linux Command Line & Bash Scripting Mastery을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Linux Command Line & Bash Scripting Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“파일 전송을 위한 SCP와 Rsync” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Linux Command Line & Bash Scripting Mastery 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Linux Command Line & Bash Scripting Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 기본 네트워크 유틸리티(ping, ip, netstat)
- 보안 셸(SSH) 기초
- 파일 전송을 위한 SCP와 Rsync
- SSH 키 인증과 설정 파일