FTP 명령줄을 사용하여 절대 경로가 있는 파일 가져오기

FTP 명령줄을 사용하여 절대 경로가 있는 파일 가져오기

FTP 명령줄 유틸리티를 사용하면 FTP 명령을 사용하여 파일을 가져 오기 위해 각 연속 디렉터리에 들어가야 get하는 것과는 반대로 절대 경로가 있는 파일을 가져올 수 있는지 궁금합니다 .cd

내가 입력할 때

ftp> get pub/sdc.tgz

또는 심지어 이것(pub 앞에 슬래시가 한두 개 있음)

ftp> get /pub/sdc.tgz

파일을 찾을 수 없다고 합니다.

local: /pub/sdc.tgz remote: /pub/sdc.tgz
ftp: local: /pub/sdc.tgz: No such file or directory

그러나 내가 대신 그렇게 할 때

ftp> cd pub
ftp> get sdc.tgz

그것은 완전히 잘 작동합니다.

절대 경로가 있는 파일을 얻으려면 ftp 명령줄에 올바른 구문이 있습니까? 아니면 먼저 경로를 cd입력 해야 합니까?pub

(참고: 제가 하려는 것은 매일 실행되는 PERL 스크립트를 사용하여 파일을 FTP 서버에 저장한 다음 1. 파일을 가져오는 이후 스크립트를 사용하는 것입니다. -- 저는 이 스크립트를 사용하는 것을 반대하지 않습니다 wget-- 2. FTP와 관련하여 파일을 얻은 후 삭제합니다. 두 번째 스크립트에서 파일을 삭제하여 나중에 첫 번째 스크립트가 파일을 FTP 서버에 저장하는 데 문제가 발생하도록 하고 싶습니다. 두 번째 스크립트는 파일이 없기 때문에 오류가 발생했다는 것을 알게 될 것입니다. 다른 이름으로 저장할 수도 있지만 FTP 서버를 다른 날의 수많은 파일로 오염시키고 싶지 않습니다.)

답변1

FTP의 Get을 사용하고 로컬 경로/파일 이름을 지정하지 않으면 원격 파일과 동일한 경로/이름을 사용하려고 하기 때문입니다.

이 오류:

ftp: local: /pub/sdc.tgz: No such file or directory

LOCAL 컴퓨터에서 파일을 찾을 수 없다는 메시지가 나타납니다. 따라서 내 가정은 로컬 드라이브의 루트에 "pub" 폴더가 없다는 것입니다.

통사론:얻다원격 파일 [로컬 파일]

매개변수:

원격 파일 - 복사할 원격 파일을 지정합니다.

local-file - 로컬 컴퓨터에서 사용할 이름을 지정합니다.지정하지 않으면 파일에 원격 파일 이름이 지정됩니다.

그러니 다음과 같이 시도해 보세요:

ftp> get pub/sdc.tgz c:\temp\sdc.tgz

아니면 아마도

ftp> get pub/sdc.tgz .\sdc.tgz

현재 폴더에 다운로드합니다.

보다여기자세한 내용은얻다용법.

관련 SU 질문:ftp get 명령을 사용하여 대상을 지정할 수 있습니까?

답변2

ncftpget클라이언트 시스템에 설치할 수 있는 경우 절대 경로를 사용하는 를 사용할 수 있습니다 .

또한 Perl을 사용하는 경우 다음을 살펴볼 수 있습니다.FTP 모듈.

관련 정보