FTP 单行

FTP 单行

我有以下命令用于将单个文件上传到我的 ftp,并且它在我的 OS X El Capital 10.11.4 上运行良好

ftp-输入-uftp://用户名:密码@服务器名/路径/to/本地文件

问题

  1. -in 代表什么?
  2. 是否有类似的单行命令用于下载全部或特定文件?
  3. 是否有类似的单一命令来列出 ftp 上的文件/文件夹?

基于无效答案的测试

  1. ftp -in -u 本地文件ftp://用户名:密码@服务器名/路径/to/ 无法正常工作,因为它抱怨 ftp: 无效的 URL `localfile',因为它期望 URL 在 -u 之后
  2. 还尝试了 ftp -in localfile -uftp://用户名:密码@服务器名/路径/to/ 然后它说用法:ftp 主机名 [端口] 所以看来我们也不能将 URL 移到末尾

根据有效的答案进行测试

  1. FTP 输入ftp://用户名:密码@服务器名/路径/to/file.zip/local/path 使用这个我可以下载单个文件
  2. FTPftp://用户名:密码@服务器名<<< “ls” 这对列表有效

更多评论

从<<<“ls”周围的答案中得到想法后

我试过

FTP 输入ftp://用户名:密码@服务器名/<<<“mget *”'这让我可以下载所有文件

答案1

输入man ftp终端。它将调出手册并显示您所需的所有信息。

  1. -in 代表什么

-i 关闭多个文件传输期间的交互提示。

-n 限制 ftp 在初始连接时尝试“自动登录”以进行非自动提取传输。如果启用了自动登录,ftp 将检查用户主目录中的 .netrc(见下文)文件,查找描述远程计算机上的帐户的条目。如果不存在任何条目,ftp 将提示输入远程计算机登录名(默认为本地计算机上的用户身份),并在必要时提示输入密码和用于登录的帐户。要覆盖自动提取传输的自动登录,请根据需要指定用户名(以及可选的密码)。

  1. 是否有类似的单行命令用于下载全部或特定文件?

刚刚测试了这个。

ftp -in ftp://username:password@servername/path/to/file.zip /local/path
  1. 是否有类似的单一命令来列出 ftp 上的文件/文件夹?

尝试这个

ftp ftp://username:password@servername <<< "dir"

一开始我以为 ls 和 dir 会因服务器操作系统的不同而不同。但是手册页说 dir 与操作系统无关,所以应该更好

dir [remote-path [local-file]] 打印远程计算机上目录的内容列表。该列表包括服务器选择包含的任何系统相关信息;例如,大多数 UNIX 系统都会从命令ls -l'. If remote-path is left unspecified, the current working directory is used. If interactive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving dir output. If no local file is specified, or if local-file is-' 生成输出,输出将发送到终端。

相关内容