使用 FTP 下载特定文件?

使用 FTP 下载特定文件?

我正在尝试使用 FTP 下载目录中的数百个文件。有没有办法只使用 FTP 下载特定文件?

理想情况下,我想使用正则表达式来匹配特定文件。不幸的是,该目录太大,无法下载整个目录,然后在本地使用 find 或 grep 来操作某些文件。有没有一种简单的方法可以在 Unix 上完成我想做的事情?

如果没有,我打算用 perl 或 python 编写一个脚本。先谢谢您的帮助。

答案1

您可以在远程系统上使用 shell 通配符,方法是确保glob已开启,然后执行mget

http://www.proftpd.org/docs/howto/Globbing.html了解更多信息。

我相信这就是 FTP 所能达到的极限。如果您可以获得 ssh 访问权限,那么您可以做更多事情,包括 grep 和修改服务器上的文件。

答案2

大型文件存储库通常会在某个地方有一个index.txt 文件。如果您下载它,它包含该文件夹内所有文件的列表。至少对于快速查找软件包列表非常有用。

答案3

使用以下几个选项之一将 FTP 服务器挂载为本地目录保险丝-基于文件系统对于 FTP,然后使用您最喜欢的工具(例如cpplus shell 通配符或rsync)来匹配并复制您要检索的文件。例如:

mkdir example-somedir
curlftpfs ftp://ftp.example.com/somedir example-somedir
cd example-somedir
rsync -a --exclude 'boring.ext' --include='*.ext' --exclude='*' . /path/to/local/copy
fusermount -u example-somedir

答案4

如果您需要 GUI 解决方案并且拥有 Konqueror 浏览器,则可以键入ftp://ftp 地址并浏览目录结构。

然而,听起来您可能需要命令行解决方案。

相关内容