728x90

curl은 커맨드라인에서 url형태의 리소스를 요청/응답할 수 있는 도구다

전체 메뉴얼은 커맨드 라인에서 

man curl을 입력해서 볼 수 있음   

// curl사이트의 문서페이지 여기서도 확인가능 http://curl.haxx.se/docs/manpage.html

 

 

1. 응답을 파일에 쓰기

curl http://example.com/resource > foo.txt

옵션없이 호출하는 curl커맨드는 표준 출력으로 응답을 출력하는데 

위와 같이 출력을 리다이렉트해서 파일에 쓸 수 있다

 

수업시간에 말에 의하면,

이 명령어를 써서 나오는 결과물을 이 foo에 저장한다는 거

하이푼?과 비슷.하이픈은 결과값이 전달되는 거고 얘는 파일형태로 전달되는거 (하이픈이 그(-)하이픈이냐? )

 

2. 파일명으로 저장하기

curl -o foo.txt http://example.com/foo.txt

작은 영문o

-o옵션으로 리소스의 파일명을 지정해 다운할 수 있다.

curl -O http://example.com/foo.txt

대문자경우 리소스 파일명 그대로 사용

 

3.여러 파일 다운로드 받기

curl -O http://example.com/foo[0-9].txt

foo0부터 foo9까지 텍스트파일 다운

curl -O http://example.com/foo-[a-z][0-9].txt

대괄호 []는 여러 번 조합할 수 있고, 위 코드는 foo-a0.txt 부터 foo-z9.txt 까지의 파일을 다운로드 받는다.

 curl -O http://example.com/{foo,bar,baz}.txt
중괄호{}를 써서 위와 같이 호출할 수도 있고, foo.txt, bar.txt, baz.txt 를 다운로드 받는다.
파일 이름 여러 개 지정해서 다운 받는 것임
 
근데 이 3번째꺼 중괄호로 여러 개 쓰는 게 안됐음 
여러 개를 for문으로 다운 방법도 있음

  files="foo bar baz"
  for name in files
     > do curl -O "http://example.com/${name}.txt"
     > done


     -> 하지만 이렇게 하면 files.txt만 받아지게 되고, for name in foo bar baz 다음에 do done을 하면 세개가 저장됨.
     -> 근데 for name in $files 라고 하면 변수 설정이 먹혀서 잘 작동됨.

(for문 참고 :https://ansan-survivor.tistory.com/541)

 

 

이렇게 하면 됨

 

 
 
아니면 다른 방법 (이건 하다 말았지만)
vi 이건 있으면 수정하게 만들거나 없으면 새로 만드는 거임
cat 내용보여주기 
밑에 똑같이 for문 써주고
이거 쓰고 (참고로 위에 고친것처럼 고쳐주고)
esc
:wq
하고 실행 ./test_download.sh
했는데 안됨
권한주자
초록색으로 변함 실행고우

 

728x90

+ Recent posts