터미널을 사용하여 Google 드라이브에서 폴더를 다운로드하는 방법은 무엇입니까?


59

터미널을 사용하여 Google 드라이브에서 폴더를 다운로드하고 싶습니까? 그렇게 할 방법이 있습니까? 나는 이것을 시도했다 :

$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"

그러나이 텍스트 파일을 다운로드하고 있습니다 : folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. 터미널에서 Google 드라이브 폴더를 다운로드하는 방법이 있습니까?



확인했지만 Google 스프레드 시트를 처리 할 수 ​​없습니다. 스프레드 시트에 액세스해야하고 ocamlfuse이것을 처리 할 수 ​​있으므로 마운트와 관련하여 시간이 걸리더라도 필요할 때마다 다운로드 할 것을 생각했습니다. 그러나 다른 옵션은 없습니다.
user22180 2016 년

"인터넷에서 누구나 찾아 볼 수 있습니다"로 설정 폴더를 설정, 당신은을 사용하여 파일을 다운로드 할 수 있습니다 wget https://googledrive.com/host/file_id당신이이 때문이다 wget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQ. 자세한 내용은 여기에 설명되어 있습니다 .
Paul Rougieux

시간이 지남에 이것에 대한 새로운 답변이 있습니까? 아래에 하나의 옵션이 있습니다.
Matan

답변:


48

이 명령을 사용하여 공개 공유 파일을 다운로드 할 수있었습니다.

$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

경우 FILEID실제 파일 ID로 교체해야합니다. FILENAME다운로드가 저장 될 경로 / 파일 이름입니다.

fileid 대신 folderid를 사용할 수 없습니다. 다음 HTML을 찾을 수있는 폴더보기에서보기 소스를 사용했습니다 <div id="entry-0B0jxxycBojSwVW.... 로 시작하는 문자열 0B은 파일 ID입니다.


4
이것은 나를 위해 잘 작동했습니다! 대신 drive.google.com을 사용해야했습니다
thouliha

큰 파일이 있었기 때문에 Google 바이러스 스캐너 경고가 계속 나타납니다 (검사 할 수 없음). 이 문제에 대한 해결책을 찾지 못했습니다. 그러나 scp파일을 서버로 전송하는 데 간단히 사용할 수 있다는 것을 깨달았습니다 (다운로드 필요)
Matthias

2
이것은 구글 드라이브와 더 이상 작동하지 않습니다 ...
loretoparisi

2
더 큰 파일에는 작동하지 않습니다. stack overflow의이 답변은 매력처럼 작동합니다. stackoverflow.com/a/32742700/4773609
HG Sur

1
@ HGSur 아래의 답변은 큰 파일에도 적용됩니다.
FrankerZ

22

너무 큰 Google 드라이브 파일의 경우 "Google에서 바이러스 검사를 제공 할 수 없습니다"오류 메시지가 표시되는 경우 다음과 같이 사용했습니다.

먼저 여기에서 파일을 다운로드하십시오 (위의 단계를 따르십시오).

$ wget --save-cookies 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_]+).*/Code: \1\n/p'

다음으로 코드를 얻은 후 (웹 페이지에 출력되고 위의 sed를 사용하여 출력 됨) 다음 URL을 사용하십시오.

$ wget --load-cookies cookies.txt 'https://docs.google.com/uc?export=download&confirm=CODE_FROM_ABOVE&id=FILEID'

추가 -O FILENAME당신이 파일에 기록 할 경우, 파일 이름을 지정하기 이전 wget과 문.


이것은 매력처럼 작동합니다! --content-disposition을 추가하면 wget은 파일에 정확한 이름을 자동으로 부여합니다
Waleed Hamra

8

Go라고 쓰여진 새로운 오픈 소스 멀티 플랫폼 클라이언트 인 drive 는 상당히 훌륭하고 모든 기능을 갖추고 있으며 개발도 활발합니다.

pull 명령은 로컬에 존재하지 않는 Google 드라이브에서 데이터를 다운로드하고 Google 드라이브에없는 로컬 데이터를 삭제합니다. 인수없이 실행하여 현재 경로에서 모든 파일을 가져옵니다.

$ drive pull

경기에 의한 견인도 지원됩니다

$ cd ~/myDrive/content/2015
$ drive pull --matches vines docx

추가 예는 위의 링크를 참조하십시오. 이들은 빙산의 일각에 불과합니다.


1
이 도구는 9 월 2017 년 이후 유지되지 않습니다
마테우스 Konieczny

예. 그러나 여전히 작동하며 전체 디렉토리를 다운로드하는 것이 가장 좋은 해결책 drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'입니다. 다른 방법은 엉덩이에 통증이 있습니다.
아비 오

7

wget직접 링크 만 처리 할 수 ​​있지만 여기서 주요한 문제는 아닙니다. Google 드라이브는 파일을 다운로드하기 전에 인증을 받아야합니다. 즉, 파일을 다운로드하려면 웹 브라우저를 사용해야합니다. 터미널을위한 몇 가지 웹 브라우저 가 있으며 lynx 가 그 예입니다.

파일을 공개적으로 공유하도록 선택한 경우 (누구나 다운로드 할 수 있도록) 수많은 Google 드라이브 퍼머 링크 서비스 중 하나를 사용할 수 있습니다. 나는 이것이 wget과 작동하는 링크를 생성해야한다고 생각합니다. 정보 검색시 찾은 두 가지 목록은 다음과 같습니다. http://gdriveurl.com/ http://gdurl.com/

Linux를 실행한다고 가정하면 살펴볼 가치가있는 Google 드라이브 용 오픈 소스 클라이언트 가 있습니다.


lynx가 드라이브에 액세스하려고 할 때 5 분 이상 "리 디렉팅"을 표시합니다. "Google 드라이브 퍼머 링크"는 괜찮지 만 모든 사람과 공유하고 싶지 않습니다. 내가 사용한 GriveOcamlfuse있지만 스프레드 시트에 액세스 할 수 없습니다
user22180

gdriveurl의 "다운로드"링크가 wget과 함께 작동 함을 확인했습니다
Randall

오픈 소스 클라이언트 제안과 관련하여 : gdrive 클라이언트와 rclone이라는 유사한 유틸리티를 사용한 경험을 통해 rclone에 대한 더 나은 경험을 얻었습니다.
7yl4r

7

우분투 17.04 저장소에는 다음과 같은 거대한 프로그램이 있습니다 : rclone

$ sudo apt update && sudo apt install rclone

$ rclone config --> than follow the steps to setup your gdrive

이제 원하는 모든 것을 복제하고 복사 할 수 있습니다. 이 프로젝트는 모든 종류의 구름을 지원합니다 .. fe :

$ rclone sync /home/<usrname>/Desktop/yourfolder gdrivename:yourfolder

[1] : https://rclone.org

(btw 나는 약 600GB를 업로드하고 몇 시간 안에 gdrive에서 gdrive로, gdrive에서 ubuntu로, ubuntu에서 gdrive로 1TB를 rclone으로 전송했습니다.

https://forum.rclone.org/t/can-copy-between-google-drive-accounts-without-download-and-upload-files/969/8

)


5

파이어 폭스에 있다면 cliget addon을 설치하십시오. 프로그램을 다운로드하려는 모든 파일에 대해 해당 파일을 다운로드하기위한 curl, wget 또는 aria2 직접 링크가 표시됩니다. 원격 컴퓨터에 직접 다운로드 한 다음 컴퓨터에서 해당 파일을 업로드하는 것이 훨씬 빠르기 때문에 ssh를 통해 다른 컴퓨터에서 파일을 다운로드하는 데 사용합니다. 이것은 dropbox, gdrive 등에서도 작동합니다.


5

오픈 소스 Linux / Unix 명령 행 도구를 사용할 수 있습니다 gdrive.

설치하려면 :

  1. 바이너리를 다운로드 하십시오. 예를 들어 아키텍처에 맞는 것을 선택하십시오gdrive-linux-x64.

  2. 경로에 복사하십시오.

    sudo cp gdrive-linux-x64 /usr/local/bin/gdrive;
    sudo chmod a+x /usr/local/bin/gdrive;
    

그것을 사용하려면 :

  1. Google 드라이브 폴더의 ID를 확인하십시오. 이를 위해 drive.google.com 웹 클라이언트를 사용하여 다운로드 한 폴더로 이동하십시오. 이제 브라우저의 주소 표시 줄에서 URL을 보면 다음과 같이 표시됩니다 https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8H. 마지막 뒤의 문자열을 가져와 /클립 보드에 복사하십시오. 이것이 폴더의 ID입니다.

  2. 폴더를 다운로드하십시오. 물론 다음 명령에서 폴더 ID를 대신 사용하십시오.

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

처음 사용시이 도구는 Google Drive API에 대한 액세스 권한을 얻어야합니다. 이를 위해 브라우저에서 방문 해야하는 링크가 표시되고 도구에 복사하여 붙여 넣을 수있는 확인 코드가 표시됩니다. 그런 다음 다운로드가 자동으로 시작됩니다. 진행률 표시기는 없지만 파일 관리자 나 두 번째 터미널에서 진행률을 관찰 할 수 있습니다.

출처 : stackoverflow.com 질문에서 Tobi의 의견 . 저의 비슷한 대답 에서 대답이 수정되었습니다 .


4

아래 링크 에서 바이너리를 다운로드 하십시오

chmod +x <binary>
./drive download id

인증 코드에 대한 링크를 생성합니다. 링크를 클릭하고 gdrive에 대한 액세스를 허용하고 브라우저에서 확인 코드를 복사하십시오. 붙여 넣습니다.

그것은 나를 위해 작동

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.