[리눅스] 리눅스 터미널에서 구글 드라이브 대용량 파일 다운로드

2023. 2. 18. 22:05Computer Tips

728x90

구글 드라이브로 업로드된 파일을 웹 브라우져를 통해 다운로드 받기는 쉽지만,

터미널을 통해 다운로드 받을 때는 파일 용량에 따라 일반적인 wget 커맨드가 가능할 수도 있고 그렇지 않을 수도 있다.

 

[현상..?]

1. 구글 드라이브에서 외부로 공유된 파일의 주소를 확인한다.
- 아래의 예시의 경우, 브라우져에서 파일을 받기 위한 URL이 아래와 같다.
- https://drive.google.com/file/d/abcdefghijklmnopqr/view
- 위의 주소에서 abcdefghijklmnopqr가 파일을 식별하는 고유 field다.

 

728x90

[해결방법]

2. 리눅스에서 wget을 사용할 세팅이 완료되었다면, 아래의 명령어를 입력해준다.
- 아래 명령에서 FIELD로 입력된 2개 부분에 위의 URL에서 찾아낸 FIELD로 수정해준다.
- FILENAME에서는 구글 드라이브에서 다운로드하고자 하는 파일이름으로 수정해준다.

# 소용량 파일
wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

# 대용량 파일
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=FILEID" -O FILENAME && rm -rf /tmp/cookies.txt
"대용량" 파일 다운로드용 shell 커맨드
wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=FILEID" -O FILENAME && rm -rf /tmp/cookies.txt

[결과]

3. 명령어를 입력하면 아래와 같이 구글 드라이브에서 리눅스로 파일이 다운로드 된다. (검색은 표시부분은 원래 텍스트로 출력되지만 마스킹한 부분)

 

반응형