尝试一下 lftp

LiYanrui posted @ Jul 12, 2008 06:02:20 PM in GNU/Linux & Unix with tags lftp , 5182 阅读

一直在用 gftp,也一直在忍受在删除许多文件时 gftp 突然崩溃退出的问题。现在我的耐心也到了极限了,搜了一下替代品,发现 lftp 这一老牌工具享有诸多好评,故尝试之。

对于 lftp 的安装,各发行版各有其安装方式,在此略过,下面仅记录 lftp 的简单使用方法。

lftp 登录 ftp 服务器的方法貌似很多种,我感觉最适合我的是:

$ lftp ftp://user:password@IP:port

登录 ftp 服务器之后,要查看当前目录中的文件列表,可使用在终端里经常使用的 ls 命令;如果查看本地机器的当前目录,可使用 !ls 命令。在 lftp 环境中可以通过命令前附上 ! 符号的方式调用许多本地终端命令。

对我而言,在 lftp 环境中使用 ls 命令非常不爽,因为它给我如下的回应:

lftp m2@m2.org:~/article> ls
-rw-------    1 1000     1000       329492 Jul 11 00:59 cch-01.pdf
-rw-------    1 1000     1000       330985 Jul 03 02:51 fsx-01.pdf
-rw-------    1 1000     1000       300035 Jul 02 06:30 fsx-02.pdf
-rw-------    1 1000     1000       348450 Jul 09 12:18 lj-01.pdf

我不知道该如何设置 lftp 环境中的 ls 命令的输出格式,但是使用 cls 命令来查看文件列表,会给出我想要的输出格式,譬如:

lftp m2@m2.org:~/article> cls
cch-01.pdf  fsx-02.pdf  lj-02.pdf   lxc-2.pdf
fsx-01.pdf  lj-01.pdf   lj-patent/  tl-ok.pdf

要从 ftp 服务器上下载一个文件,可以使用 get 命令:

lftp m2@192.168.0.2:~/article> get cch-01.pdf
329492 bytes transferred

要从本地上传一个文件,可以使用 put 命令:

lftp m2@192.168.0.2:~/article> put cch-01.pdf
329492 bytes transferred

要从 ftp 服务器上下载一个目录,可以使用 mirror 命令:

lftp > mirror 文件目录名

要从本地上传一个目录,可以使用 mirror -R 命令:

lftp > mirror -R 本地目录名

对我而言,上述命令基本足够使用了。还剩下一个问题就是书签的设置,因为我不想每次登录 ftp 都要输入很长的登录命令,并且还要考虑本地当前目录与服务器当期目录的切换问题。

我是这样设置书签的:

  1. 首先在本地上选择一个目录作为常用的文件下载目录,譬如 ~/download,将终端当前目录切换到该目录下;
  2. 使用 lftp 登录 ftp 服务器,并在 lftp 环境中将服务器端的当前目录切换到平日最经常光顾的目录,譬如 article 目录;
  3. 在 lftp 环境中使用 bookmark 命令设置书签:
    lftp m2@192.168.0.2:~/article> bookmark add article

这样,下次再使用 lftp 登录服务器时,只需:

$ lftp article
  • 无匹配
GunsNRose 说:
2009年1月16日 18:13

lftp是个好东西
最常用的就是拿它来lftp sftp:// 来取旁边机子的东西
后来发现有sshfs后只是偶尔用它了,不过取ftp的东东还是首选lftp


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter