我想使用命令行(在 Linux 上)自动通过 FTP 发送文件。我的意思是,我想直接从命令行发送文件,而不使用任何交互模式。我想从命令行传递所有参数(它在本地网络上用于私人目的,因此在命令行上输入密码对我来说没问题)。我知道我想发送什么文件,以及我想将它存储在哪里。到目前为止,我的 google-fu 让我失望了,因为所有关于“命令行 ftp”的指南实际上都是进入交互式文本界面,这不是我想要的。
那么,如果我不想进入交互模式并想在命令行上传递所有参数,如何通过 FTP 发送文件?
答案1
如果可能的话,安装ncftp
并使用脚本上传和下载文件的命令ncftpput
。ncftpget
lftp
还有-c
(从命令行参数读取 FTP 命令)和-f
(从文本文件读取 FTP 命令)选项,可以帮助您自动执行 FTP 会话。
如果您确实必须使用古老的ftp
命令,那么您可以使用expect
(或,autoexpect
)。
答案2
lftp?
$ yum info lftp
Loaded plugins: priorities, ps
Available Packages
Name : lftp
Arch : i686
Version : 4.0.9
Release : 1.el6
Size : 735 k
Repo : base
Summary : A sophisticated file transfer program
URL : http://lftp.yar.ru/
License : GPLv3+
Description : LFTP is a sophisticated ftp/http file transfer program. Like bash, it has job
: control and uses the readline library for input. It has bookmarks, built-in
: mirroring, and can transfer several files in parallel. It is designed with
: reliability in mind.
答案3
安装ncftp
并使用实用程序ncftpput
和ncftpget
。