각 파일을 다시 로그인하지 않고 여러 FTP 파일을 가져옵니다.

각 파일을 다시 로그인하지 않고 여러 FTP 파일을 가져옵니다.

내가 다운로드하고 싶은 파일이 잔뜩 있는 ftp 사이트가 있다고 가정해 보세요.ftp://ftp.example.com, FTP를 통한 "익명 로그인"을 허용합니다.

가설ftp://ftp.example.com가지다

file1.zip, 
file2.zip, 
... ,
file100.zip

또한 파일 경로 목록이 있다고 가정하면 다음과 같이 모든 파일 경로를 bash 변수로 다운로드하고 싶습니다.

paths="ftp://ftp.example.com/file1.zip ftp://ftp.example.com/file7.zip"

wget $paths각 파일에 대해 wget이 수행하는 작업을 확인하지 않고도 이 작업을 수행할 수 있는 방법(예: 두 파일 목록 다운로드)이 있습니까 ?

Connecting to ftp.example.com|10.10.10.10|:21... connected.
Logging in as anonymous ... Logged In!

다운로드하는 모든 파일에 대해 wget은 웹사이트에서 어디에서 한 번 인증합니까?

답변1

또는 일반 오래된 FTP를 사용할 수도 있습니다. 파일 ~/.netrc에서 ftp.example.com에 대한 스탠자를 설정합니다 .

machine ftp.example.com
  login ftp
  password anonymous

...다른 사람이 파일을 읽을 수 없는지 확인하세요.

chmod 600 ~/.netrc

그런 다음 ftp여기 문서를 통해 파일을 검색하는 명령을 보냅니다.

ftp ftp.example.com <<'EOF'
prompt
mget file*.zip
bye
EOF

-i일부 FTP 클라이언트는 프롬프트를 비활성화하는 옵션을 지원하여 목록에 있는 명령을 mget사용할 필요가 없습니다 .prompt

이 옵션을 사용하면 모든 파일 전송에 대해 FTP 세션이 설정됩니다.

답변2

내 생각엔 당신이 9번 팁을 원하는 것 같아요이 페이지.

기본적으로 wget -i를 사용하여 여러 파일을 다운로드할 수 있으며,

$ cat > download-file-list.txt
URL1
URL2
URL3
URL4

$ wget-i download-file-list.txt

관련 정보