我该如何通过FTP Mac终端上传整个文件夹?
您是否必须使用 ftp
?我喜欢在远程主机支持 ssh(许多主机都支持)时使用 scp
(安全拷贝)。
scp -r mydirectory username@example.com:destdir
-r
意味着"递归",因此它将递归地复制整个目录。将username
替换为您的用户名等等,destdir
是远程服务器上的相对路径(如果您登录后所在的任何目录),只要不使用前导斜杠 /
--那么它就是绝对路径。
terminal>ftp user@host
password:xXxXx
ftp>mkdir <remote dir>
ftp>cd <remote dir>
ftp>lcd <local dir>
ftp>mput *
ftp>close
这将会:
sftp
代替ftp
。相同的命令,只需将ftp
替换为sftp
。这样更加安全。 - daviesgeekmput -r *
进行递归复制。 - voutasaurusmput是完成此任务的正确命令,但我认为OS X的ftp命令行客户端实现不支持通过mput *递归复制目录。
因此,一种可能的解决方案是使用替代的ftp命令行客户端,如NcFTP,它附带许多Linux发行版并且也可用于OS X。有关详细信息,请参见NcFTP下载页面。
ncftpput -R -u user -p passwd <remote-host> <remote-dir> <local-dir>
-R
用于递归模式。
brew install ncftp
(假设您已经安装了Homebrew,您可能应该安装)。 - Frank Farmer与您从任何其他命令行上传整个文件夹的方式相同:
Go - 连接到服务器。输入其他计算机的IP地址和适当的凭据。点击+添加该服务器,然后双击打开它。现在您可以拖放文件夹并进行递归复制。
你尝试过使用mput吗?你可以传递通配符(*)来上传所有文件...
关于通过 Mac 进行 FTP 是否能够处理递归复制存在一些疑问。
如果您可以访问两台计算机的 SSH,您可以从源计算机执行以下操作:
tar -cf - 目录 | ssh user@hostB "cd target_dir; tar -xf -"
mput * 对目录中的对象应该可以正常工作,但如果您有子目录,则可能无法正确获取文件。
homebrew
还不存在,所以获取未预装的工具(如ssh
/scp
)可能更容易。无论如何,我真心希望每个人都已经超越了在公共和私人网络上使用明文FTP的阶段。 - dustmachine