TranslateProject/published/201505/20150306 How to Setup lftp--A Simple Command line FTP Program.md
2015-05-31 23:54:32 +08:00

6.1 KiB
Raw Blame History

LFTP : 一个功能强大的命令行FTP程序

大家好这篇文章是介绍Lftp以及如何在Linux操作系统下安装的。Lftp是一个基于命令行的文件传输软件也被称为FTP客户端由Alexander Lukyanov开发并以GNU GPL协议许可发行。除了FTP协议外它还支持FTPSHTTPHTTPSHFTPFISH以及SFTP等协议。这个程序还支持FXP允许数据绕过客户端直接在两个FTP服务器之间传输。

它有很多很棒的高级功能比如递归镜像整个目录树以及断点续传下载。传输任务可以安排在稍后的时间段计划执行可以限制带宽可以创建传输列表还支持类似Unix shell的任务控制。客户端还可以在交互式或自动脚本里使用。

安装Lftp

在运行lftp之前我们需要确定它已经正确安装在我们的Linux发行版中了。下面是在常见Linux发行版中安装lftp的一些命令。

Ubuntu 14.04 LTS

在Ubuntu 14.04 LTS以及它的衍生版中我们可以通过apt管理程序安装lftp。要安装它我们需要使用sudo权限在shell或终端里运行下面的命令。

$ sudo apt-get install lftp

ubuntu install lftp

CentOS/Fedora/RHEL

因为在FedoraCentOS和RHEL的软件仓库里也能找到lftp我们可以用yum管理程序来安装它。

$ sudo yum install lftp

fedora lftp

Arch Linux

在Arch Linux安装包仓库里也有我们可以简单地使用pacman来安装它。

$ sudo pacman -S lftp

archlinux install lftp

OpenSuse

OpenSuse系统里的包管理软件Zypper可以用来安装lftp。下面是在OpenSuse机器上用来安装的命令。

$ sudo zypper install lftp

opensuse lftp install

登录

要登录到ftp服务器或sftp服务器我们首先需要知道所要求的认证信息比如用户名密码端口。

之后我们可以通过lftp来登录。

$ lftp ftp://linoxide@localhost

ftp login

如果需要指定登录端口,我们可以按下面的方式加上去。

$ lftp ftp://linoxide@localhost:21

ftp login with ports

导航

我们可以用ls命令来列出文件和目录,用cd命令进入到目录。

ls and cd

上传和下载文件

我们可以用pget命令来从远端服务器下载文件。

> pget linspeed.svg

pget lftp

我们可以用put命令来上传文件到远端服务器。

> put linoxide.tar

upload with put

要恢复之前只下载了一部分的文件/目录,我们可以用-c开关

> mirror -c Directory

>pget -c linoxide.tar

> put -c upload.tar

使用镜像命令

我们可以用mirror命令来下载所指定的整个目录。

> mirror remote local

download with mirror

还可以做反向镜像(mirror -R),可以用来上传或更新本地目录树到服务器上。

> mirror -R local remote

upload or update with mirror reverse

要恢复之前下载了一部分的文件/目录,我们可以用-c开关

> mirror -c Directory

下载队列

我们可以在lftp里使用queue的选项这样我们可以像基于GUI的客户端那样挨个下载队列里选择的文件。下面举个例子。

为了避免队列自动开始传输,我们可以这样做:

> queue stop

现在,我们添加任务到队列。

> queue mirror "directory"

> queue pget "file.tar"

在建立好队列后我们再运行queue start命令。

> queue start

可以运行下面的命令移除整个队列。

> queue -d

分块下载

下面是一个把一个文件分成3块来下载的例子你可以根据自己的需要调整。

使用pget命令分块功能的方式是pget -n 3 file.tar里面的3是分块的数目。

> pget -n 3 file.tar

使用mirror命令分块功能的方式是mirror --use-pget-n=3 directory里面的3是分块的数目。

> mirror --use-pget-n=3 linxoxide

我们可以用jobs -v命令来查看每个独立分块的下载速度以及整体速度。

停止,继续或删除一次传输任务

要取消传输我们可以按下Ctrl+C。而要恢复下载我们可以像下面那样使用-c (--continue)开关。

> mirror -c directory

要删除一次正在正在传输的任务我们可以用kill命令,而要删除所有任务我们可以使用下面那样的kill all命令。

> kill

> kill all

退出

要从lftp退出我们需要在终端或lftp交互接口中运行exit命令。

> exit

总结

我们已经成功地安装了lftp并学会了它的一些基础的主要使用方式。lftp是一个非常棒的命令行ftp客户端它支持许多额外的功能以及很酷的特性。它比其他普通ftp客户端多了很多东西。好吧你要是有任何问题建议反馈请在下面的评论区里留言。谢谢享用lftp吧 :-)


via: http://linoxide.com/linux-how-to/setup-lftp-command-line-ftp/

作者:Arun Pyasi 译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出