본문 바로가기

IT 개발자의 창고

Linux 서버에서 로컬 파일 업로드 및 다운로드 방법

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 접속 후 파일 전송

  1. 서버에 SFTP 연결
sftp username@remote_host
  1. 로컬 → 원격 업로드
put /path/to/localfile /path/to/remote/directory
  1. 원격 → 로컬 다운로드
get /path/to/remote/file /path/to/local/directory
  1. 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을 활용하면 됩니다.

이제 적절한 파일 전송 방법을 선택하여 효율적인 서버 운영을 해보세요!