답변:
솔직히 말해서 직접적이 아닙니다.
파일에 대한 정보를 얻으려면 원격 사이트에서 데이터를 가져와야합니다. 일반적으로 이것은 HEAD
요청 으로 수행 되지만 일부 (대부분의) 서버는 GET
요청을 수행하는 것처럼 올바르게 구현하지 않고 전체 파일을 전달하지 않습니다 . curl
설치 했다고 가정합니다 .
curl -s -v -X HEAD http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
원하는 것을 줄 수 있지만 말했듯이 서버에 크게 의존합니다.
HEAD
입니다. 그럼에도 불구하고, 그 사이트들은 모든 것을 제공해야하기 때문에 결과를 줄 것입니다.
--head
하지 않고 옵션을 사용하는 것이 좋습니다 -X HEAD
. curl -s -v --head http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
curl -svX HEAD
더 간결합니다 ...
서버 응답에는 일반적으로 Last-Modified
필드가 있으므로 파일을 다운로드하지 않고도 확인할 수 있습니다. 를 사용할 필요가 없으며 -X HEAD
, 특별한 옵션 -I
이 있습니다 ( -s
진행 출력 억제) :
curl -sI http://example.com/bar/example.pdf | grep -i Last-Modified
또한, 내 경우에는 설치된 컬이 없다 (나는 임베디드 장치에 대한 스크립트를하고있어) 그냥 wget
. wget의 방법은 다음과 같습니다.
wget --server-response --spider http://example.com/bar/example.pdf 2>&1 | grep -i Last-Modified
--server-response
인쇄 헤더 및 --spider
옵션의 힘은 페이지를 다운로드 아니라 자신의 존재를 확인하지합니다.
curl
허용되는 것보다 더 나은 대답입니다. 아마도 grep -i
"마지막으로 수정 된 것"은 종종 다른 경우가 있기 때문에 아마도 사용 합니다.