FETCH(1)

명칭
fetch - URL (Uniform Resource Locator) 형식에서의 파일의 취득

서식
fetch [-146AFMPRUadlmnpqrsv] [-B bytes] [-S bytes] [-T seconds] [-o file] [-w seconds] [-h host] [-c dir] [-f file] [URL ...]

해설
fetch 유틸리티는 fetch(3) 프로그램 라이브러리에의 명령행 인터페이스를 제공합니다. 목적은, 명령행의 URL (복수가능)에 나타나는 파일 (복수가능) (을)를 취득하는 것입니다.

이하의 옵션이 사용 가능합니다.

-1  최초로 파일의 취득에 성공했을 때에, 종료치 0 을 돌려주어 정지합니다.

-4  fetch 하지만 IPv4 주소만을 사용하는 것을 강제합니다.

-6  fetch 하지만 IPv6 주소만을 사용하는 것을 강제합니다.

-A  ``일시적인'' (302) 리디렉트를 자동적으로는 추적하지 않습니다. 요구한 오브젝트가 존재하지 않는 경우에, 발견할 수 없다고 하는 에러는 아니고 리디렉트를 돌려준다고 하는, 망가진 웹 사이트가 존재합니다.

-a  소프트상에서의 실패의 경우에 자동적으로 전송을 재시행합니다.

-B bytes
    읽기 버퍼의 크기를 바이트 단위로 지정합니다. 디폴트는 4096 바이트입니다. 버퍼의 크기를 작게 하려고 해도, 입다물어 무시됩니다. 실제로 실행된 읽기 회수는, 장황 레벨 2 이상으로 보고됩니다 ( -v 플래그를 참조해 주세요).

-c dir
    원격 호스트의 dir 디렉토리의 파일을 취득합니다. 본옵션은, 가치가 저하하고 있어 후방 호환성 (을) 위해서만 제공되고 있습니다.

-d  프록시가 설정되어 있어도, 직접 접속합니다.

-F  -r 플래그와 조합하면(자), 로컬 파일과 리모트 파일의 수정 시각이 달랐다고 해도, 강제적으로 재개합니다.

-f file
    원격 호스트의 file (이)라는 이름의 파일을 취득합니다. 본옵션은, 가치가 저하하고 있어 후방 호환성 (을) 위해서만 제공되고 있습니다.

-h host
    호스트명이 host 에 있는 파일을 취득합니다. 본옵션은, 가치가 저하하고 있어 후방 호환성 (을) 위해서만 제공되고 있습니다.

-l  목표가, 파일 형식의 URL 의 경우, 목표를 복제하려고 하는 것이 아니라, 링크를 작성합니다.

-M

-m  밀러 모드: 로컬 호스트에 파일이 이미 존재해, 사이즈와 변경 시간이 리모트 파일 같은 경우, 전송은 행해지지 않습니다. -m (와)과 -r 의 플래그는, 만나 넣지 않는 것에 주의해 주세요.

-n  전송 되는 파일의 변경 시간을 보존하지 않습니다.

-o file
    출력 파일명을 file (으)로 합니다. 디폴트에서는,``패스명''가 지정된 URI 로부터 꺼내져 그 베이스 네임이 출력 파일의 이름으로서 사용됩니다. file 인수로서 ‘-’ (을)를 주면(자), 결과는 표준 출력에 출력됩니다.

-P

-p  FTP 프로토콜을 패시브 모드로 사용합니다. 이것은, 입력 접속을 블록 하는 방화벽 (firewall)의 배후에 있는 경우에 유용합니다. FTP URL 를 취득할 경우에 fetch 하지만 헹 하는 것처럼 보이는 경우에 사용해 보세요.

-q  침묵 모드.

-R  주어진 파일명은 소중하게 되어 어떤 상황하라도 파일명은 소거되지 않습니다. 그것은, 전송이 실패 혹은 불완전했을 때 조차, 들어맞읍니다.

-r  이전에 중단된 전송을 재개합니다. -m (와)과 -r 의 플래그는, 만나 넣지 않는 것에 주의해 주세요.

-S bytes
    서버가 보고하는 파일 사이즈가, 지정치에 합치하는 것을 요구합니다. 합치하지 않는 경우, 메세지가 표시되어 파일은 취득되지 않습니다. 서버가 파일 사이즈의 보고를 서포트하고 있지 않는 경우, 본옵션은 무시되어 무조건 파일이 취득됩니다.

-s  각 요구 파일 마다, 취득하지 않고 , 바이트수단위의 크기를 표시합니다.

-T seconds
    타임 아웃 시간을 seconds 초로 설정합니다. FTP 에서의 전송에 대해서는 FTP_TIMEOUT 환경 변수가, HTTP 에서의 전송에 관해서는 HTTP_TIMEOUT 환경 변수가, 설정되어 있었을 경우는, 그것을 덧쓰기합니다.

-U  수동적인 FTP 를 사용하고 있을 때, 데이터 접속용에 저위 (디폴트) 포트 (을)를 할당합니다. 어느 포트 범위가 대응할까의 지정 방법의 상세한 것에 대하여는, ip(4) (을)를 참조해 주세요.

-v  장황 레벨을 늘립니다.

-w seconds
    -a 하지만 지정되었을 경우, 다음의 리트라이의 전으로 지정한 초수만큼 기다립니다.

fetch 하지만 SIGINFO 시그널을 받으면(자) ( stty(1) 에의 status 인수를 참조해 주세요), 현재의 전송 레이트의 통계 정보가, 표준의 완료 메세지와 같은 서식에서 표준 에러 출력에 기입해집니다.

진단
fetch 명령은, 성공시에는 0 을 돌려주어, 실패시에는 1 을 돌려줍니다. 명령행상에 복수의 URL 를 지정했을 경우, fetch (은)는, 각각을 차례로 취득하려고 해, 모든 취득에 성공했을 경우에만 0 을 돌려줍니다.

환경 변수

FTP_TIMEOUT
    FTP 접속을 중단할 때까지의 최대 시간을 초에 지정합니다.

HTTP_TIMEOUT
    HTTP 접속을 중단할 때까지의 최대 시간을 초에 지정합니다.

fetch(3) 프로그램 라이브러리의 문서에 기술되고 있는 환경 변수는, 모두 서포트되고 있습니다.

관련 항목
fetch(3)

역사
fetch 명령은 FreeBSD 2.1.5 (으)로부터 도입되었습니다. 본실장이 최초로 등장한 것은 FreeBSD 4.1 입니다.

저자
-nosplit fetch 의 오리지날 실장은 Jean-Marc Zucconi 하지만 실시했습니다. FreeBSD 2.2 (을)를 위해서(때문에), 확장을 실시한 것은 Garrett Wollman (이어)여, 후에 fetch(3) (을)를 사용하도록(듯이) Dag-Erling Smørgrav 하지만 완전하게 고쳐 썼습니다.

주
-b 및 -t 의 옵션은, 벌써 서포트되지 않고, 경고를 표시합니다. 이러한 옵션은, 다른 OS 의 버그의 회피책이며, 본실장에서는 버그를 일으키지 않습니다.

-h, -c, -f 옵션의 사용과 명령행상의 URL 지정은, 동시에는 할 수 없습니다.