구글 드라이브로부터 공유 링크를 받으신 경우, 해당 파일을 Linux CLI 환경에서 다운로드 하려면
wget을 이용하시는게 맞습니다. 하지만 공유받은 링크를 그대로 wget하실 경우 html이 호출되는 게 정상입니다.
따라서 공유 링크에서 특정 부분을 수정하셔야 하는데, 다운로드 받으시려는 파일의 사이즈가
100MB를 기준으로 이상인 경우와 이하인 경우의 조치가 다릅니다. 아래 내용을 수행 부탁드립니다.
<다운로드 파일 사이즈가 100MB 이하인 경우>
우선 wget을 사용하여 https 프로토콜로 접속할 경우
인증서의 유효성을 검증하지 않도록 조치를 하여야 접근이 가능하므로
--no-check-certificate 라는 옵션을 부여해야 합니다.
구글 드라이브로부터 공유받은 URL은 다음 예시와 같을 겁니다.
https://drive.google.com/file/d/1IULCquWhHWY7aJcSFWQM9f8_r6x81mBZ/view?usp=sharing/
이 중에서 표시된 1IULCquWhHWY7aJcSFWQM9f8_r6x81mBZ 부분이 해당 파일의 고유 ID값입니다.
해당 부분의 ID를 FILEID라고 지칭했을때 다음 명령의 '<FILEID>' 부분을 지우고 입력해주시면
해당 파일을 정상적으로 다운로드 받을 수 있습니다.
-O 옵션을 이용한다면, 현재 명령을 수행할 폴더 내에 원하는 파일명으로 다운로드가 가능합니다.
# wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=<FILEID>' -O <지정할 파일명> |
※ https://docs.google.~~ 과 https://drive.doogle.~~ 중 어떤 것을 사용해도 FILEID만 같다면 동일한 파일이 다운로드 됩니다.
<다운로드 파일 사이즈가 100MB 초과일 경우>
위의 내용과 동일하게 FILEID는 필요로 합니다.
다만, 해당 과정은 wget이 아닌 curl 명령을 이용하기 때문에 해당 다운로드 링크로부터 회신받은
쿠키가 필요하므로, 쿠키를 우선 저장하는 과정을 거칩니다.
쿠키 저장 방법
# curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=<FILEID>" > /dev/null |
위에서 저장한 쿠키를 이용해 다운로드를 진행하는 명령
# curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=<FILEID>" -o <지정할 파일명> |
쿠키를 ./cookie 경로에 저장 후, 이 쿠키를 이용하여 다운로드 받는 방식입니다.
해당 경로가 변경된다면, 명령에서도 수정해주셔야 합니다.
wget 명령에선 다운로드 받은 파일명을 지정할때 대문자 -O 옵션을 이용하고,
curl 명령에선 다운로드 받은 파일명을 지정할때 소문자 -o 옵션을 이용하므로 사용에 유의하시면 되겠습니다.
'Linux General' 카테고리의 다른 글
Linux Backup 관리 (0) | 2021.01.01 |
---|---|
리눅스 HW 기본 정보 확인 (0) | 2021.01.01 |
한글이 깨져 보일 때 인코딩 변경 (0) | 2020.12.11 |
Mount point 찾는 방법 (0) | 2020.11.18 |
특정 패키지 및 연관된 디펜던시 패키지 추출 (0) | 2020.11.18 |