Coding Memo

우분투에서 파일 다운로드: wget 본문

etc

우분투에서 파일 다운로드: wget

minttea25 2022. 8. 16. 17:22

프로젝트 로그인 서버를 AWS에서 실행을 하려고 내 컴퓨터의 터미널에서 SSH를 이용해 원격 접속을 하려고 했으나 'connection: timed out' 에러가 났다. 이 문제를 결국 해결하지 못하고 다른 방법을 생각해내었다.

 

웹 브라우저의 AWS에서 EC2 인스턴스에 직접 접속은 잘 되었기 때문에, 여기서 인터넷 상의 파일을 직접 다운로드하여 실행시키는 방법을 생각했다.

 

준비물: wget, unzip(압축파일 풀기 위해), 구글 드라이브


wget 설치

sudo apt-get install wget

 

unzip 설치

sudo apt-get install unzip

1. 서버에서 사용할 파일을 자신의 드라이브에 업로드 한다. (만약 여러개일 경우 zip 파일로 압축한 후에 그 압축파일을 업로드 한다.)

드라이브 업로드

 

 

cf. zip 파일로 압축하는 이유: 확장자가 js 등의 실행 가능한 파일이거나 프로그램 소스 코드일 경우 구글 드라이브에서 바이러스 검사에 걸려 파일이 다운로드 되지 않는다. 따라서 바이러스 검사에 걸릴만한 파일들을 모두 압축해서 업로드 하여야한다.

 

예를 들어, app.js 파일을 직접 구글 드라이브에서 다운로드 했을 경우, 다운로드는 되지만 다운로드한 파일을 열어서 확인할 경우 아래와 같다. 

바이러스 검사로 인한 html 페이지 자체가 다운이 되었다

 

2. 다운로드 할 파일을 우클릭하여 공유 링크를 선택해주고 일반 엑세스를 '링크가 있는 모든 사용자'로 해준다.

공유 후 링크 복사

 

3. 링크 복사를 눌러 링크를 복사해 두고 메모장 등의 문서에 잠깐 붙여넣은 후, 공유 파일의 id 부분만 남겨둔다.

(d/ 이후 부터 /view 이전 부분)

 

아래 이미지의 경우에는 1OiFQk9gDB_r8_WwnY5gEiwXNQCulXdGX 가 되겠다.

파일 id 가져오기

 

4. 이제 우분투로 돌아가서 다음 명령어를 입력한다.

파일ID는 3번에서 남겨두운 부분을 작성하면되고,

저장할 파일 이름을 지정하면 된다.

 

참고: 옵션 '-O'는 대문자로 해주어야 되는 것같다.

wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=[파일ID]' -O [저장할 파일 이름]

 

5. 제대로 입력을한 후 실행시키면, HTTP 요청을 했다는 텍스트가 나오고 connect 된 후에 파일 다운이 시작된다. 파일 다운이 끝났으면 위에서 지정한 저장 명과 함께 실행이 끝난다.

wget 다운로드

 

6. 아래 명령어를 통해 zip파일을 압축 해제 한다.

unzip [압축파일 이름]

unzip 결과

cat 명령어를 통해 파일 내용을 확인하면 오류 없이 제대로 파일이 다운 받아진 것을 확인할 수 있다!

'etc' 카테고리의 다른 글

Singleton Design Pattern [싱글턴 패턴]  (0) 2023.06.11
OSI, TCP/IP  (0) 2023.06.04
AWS RDS (MariaDB) 설치 및 연동 - 4  (0) 2022.08.08
AWS EC2 설치  (0) 2022.08.08
AWS RDS (MariaDB) 설치 및 연동 - 3  (0) 2022.08.08