如何使用命令行以递归方式从linux服务器ftp某些文件类型?

joh*_*yan 5 ftp recursion types file

我想从我的服务器下载.htm或.html文件.我正在尝试使用ncftpget甚至wget,但只取得了有限的成功.

使用ncftpget我可以下载整个树结构没有问题,但似乎无法指定我想要的文件,它是全部或全部.

如果我指定这样的文件类型,它只查看顶部文件夹:

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/*.htm ./local_folder
Run Code Online (Sandbox Code Playgroud)

如果我这样做,它会下载整个网站,而不仅仅是.htm文件:

ncftpget -R -u myuser -p mypass ftp://ftp.myserver.com/public_html/ ./local_folder *.htm
Run Code Online (Sandbox Code Playgroud)

我可以使用ncftp执行此操作,还是应该使用其他工具?

小智 5

你可以用 wget 做到

wget -r -np -A "*.htm*" ftp://site/dir
Run Code Online (Sandbox Code Playgroud)

或者:

wget -m -np -A "*.htm*" ftp://user:pass@host/dir
Run Code Online (Sandbox Code Playgroud)

但是,根据文件类型

请注意,这两个选项不会影响 HTML 文件的下载(由 a.htm.html文件名前缀决定)。这种行为可能不是所有用户都需要的,并且可能会在 Wget 的未来版本中进行更改。