Linux 서버에서 파일을 업로드하거나 다운로드하는 것은 서버 관리와 개발 작업에서 필수적인 과정입니다. 일반적으로 SSH(Secure Shell) 연결을 활용하여 파일을 전송하며, 다양한 도구와 명령어를 사용할 수 있습니다. 이번 포스트에서는 scp, rsync, sftp, wget, curl을 이용한 파일 업로드 및 다운로드 방법을 설명하겠습니다.
1. SCP(Secure Copy) 사용
📌 로컬 → 원격 서버 업로드
scp /path/to/localfile username@remote_host:/path/to/remote/directory
✅ 예제:
scp myfile.txt user@192.168.1.10:/home/user/
📌 원격 서버 → 로컬 다운로드
scp username@remote_host:/path/to/remote/file /path/to/local/directory
✅ 예제:
scp user@192.168.1.10:/home/user/myfile.txt ./
🔹 SCP의 장점
- SSH를 사용하므로 보안성이 뛰어남
- 간단한 명령어로 파일 전송 가능
2. RSYNC 사용 (빠른 동기화 및 전송)
📌 로컬 → 원격 서버 업로드
rsync -avz /path/to/localfile username@remote_host:/path/to/remote/directory
✅ 예제:
rsync -avz myfile.txt user@192.168.1.10:/home/user/
-a (archive mode) : 디렉토리와 파일을 아카이브 모드로 복사하위 디렉토리, 심볼릭 링크, 권한, 소유권, 타임스탬프 등을 유지
-v (verbose) : 상세한 진행 상황을 출력어떤 파일이 전송되고 있는지 확인 가능
-z (compress) : 파일 전송 시 데이터를 압축하여 전송네트워크 트래픽을 줄이고 속도를 향상
📌 원격 서버 → 로컬 다운로드
rsync -avz username@remote_host:/path/to/remote/file /path/to/local/directory
✅ 예제:
rsync -avz user@192.168.1.10:/home/user/myfile.txt ./
🔹 RSYNC의 장점
- 변경된 파일만 전송하여 속도가 빠름
- 대량 파일 전송 시 유용
3. SFTP 사용 (Secure FTP)
📌 SFTP 접속 후 파일 전송
- 서버에 SFTP 연결
sftp username@remote_host
- 로컬 → 원격 업로드
put /path/to/localfile /path/to/remote/directory
- 원격 → 로컬 다운로드
get /path/to/remote/file /path/to/local/directory
- SFTP 종료
exit
🔹 SFTP의 장점
- SSH를 사용하여 보안이 강함
- GUI 기반 클라이언트(FileZilla) 사용 가능
4. WGET 사용 (웹 서버에서 다운로드)
📌 URL에서 직접 파일 다운로드
wget http://example.com/file.tar.gz
✅ 예제:
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
🔹 WGET의 장점
- HTTP/HTTPS 지원
- 배치 작업에 적합
5. CURL 사용 (다양한 프로토콜 지원)
📌 URL에서 직접 파일 다운로드
curl -O http://example.com/file.tar.gz
✅ 예제:
curl -O https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
-O : 원본 파일명을 유지하며 다운로드
📌 FTP 서버에서 다운로드
curl -u username:password -O ftp://ftp.example.com/file.tar.gz
🔹 CURL의 장점
- HTTP, FTP, SFTP 등 다양한 프로토콜 지원
- API 호출 및 자동화에 적합
🔹 결론
Linux 서버에서 파일을 업로드 및 다운로드하는 방법은 상황에 따라 다르게 선택할 수 있습니다. 보안이 중요한 경우 SCP 또는 SFTP, 빠른 전송이 필요하면 RSYNC, 웹 파일 다운로드는 WGET 또는 CURL을 활용하면 됩니다.
이제 적절한 파일 전송 방법을 선택하여 효율적인 서버 운영을 해보세요!
'IT 개발자의 창고' 카테고리의 다른 글
gRPC: 고성능 원격 프로시저 호출(RPC) 프레임워크 소개 (3) | 2025.02.28 |
---|---|
CMAF란 무엇인가? 영상 스트리밍의 새로운 표준 (1) | 2025.02.26 |
구글 프로토콜 버퍼(Protocol Buffers) 소개 및 활용 방법 (3) | 2025.02.21 |
WebRTC란? 실시간 커뮤니케이션의 핵심 기술 (2) | 2025.02.18 |
Product Management vs. Project Management: 차이점과 협업 방법 (1) | 2025.02.14 |