使用命令行通过 FTP 发送文件,无需交互模式

使用命令行通过 FTP 发送文件,无需交互模式

我想使用命令行(在 Linux 上)自动通过 FTP 发送文件。我的意思是,我想直接从命令行发送文件,而不使用任何交互模式。我想从命令行传递所有参数(它在本地网络上用于私人目的,因此在命令行上输入密码对我来说没问题)。我知道我想发送什么文件,以及我想将它存储在哪里。到目前为止,我的 google-fu 让我失望了,因为所有关于“命令行 ftp”的指南实际上都是进入交互式文本界面,这不是我想要的。

那么,如果我不想进入交互模式并想在命令行上传递所有参数,如何通过 FTP 发送文件?

答案1

如果可能的话,安装ncftp并使用脚本上传和下载文件的命令ncftpputncftpget

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.

手册页在这里:http://lftp.yar.ru/lftp-man.html

答案3

安装ncftp并使用实用程序ncftpputncftpget

相关内容