当前位置:  技术问答>linux和unix

Linux FTP客户端 Lftp 使用方法

    来源: 互联网  发布时间:2016-09-02

    本文导语:  1. 一气呵成式 $ lftp (ftp://)user:password@site:port 比较常用于网页或bbs上给出的现成链接,缺点是password显示为明文,推荐在月黑风高、四下无人的环境里偷偷输入...如果不幸背后有人 $ lftp (ftp://)user@site:port 然后系统会...

1. 一气呵成式
$ lftp (ftp://)user:password@site:port
比较常用于网页或bbs上给出的现成链接,缺点是password显示为明文,推荐在月黑风高、四下无人的环境里偷偷输入...如果不幸背后有人
$ lftp (ftp://)user@site:port
然后系统会提示输入password,这是就是******了

2. 老实巴交型

$ lftp site -p port -u user,password
这是lftp说明文档里给出的标准方式,这一招比较费体力,请根据自己身体情况量力而行。如果体能一般,可以
$ lftp site:port -u user,password
似乎是略微省事一点儿,我一般也用这种方法

3. 五短之中暗藏一长

这是一个递归嵌套的招式%¥#@!×&
$ lftp
lftp:~>lftp user:password@site:port
就是说在lftp控制台里进行操作,和在系统终端是完全一样的,你仍然可以毫无顾忌地用使用前面两招,同时也可以用o或open代替lftp,后面站点用户名密码的格式也可以根据自己偏好输入

4. 终极大招

每次登录都狂敲一行user:password@site:port,长年累月,就算李铁来了也扛不住。所以还是要让lftp把常用的站点记下来,就象FlashFXP里的站台管理器,在lftp里,叫做bookmark,具体的咱们日后再说

登 录完成第一件事就是想看看这个服务器上有什么好东东。操作和终端里是一样的,ls就是列出服务器目录。有一点要说明,第一次ls之后,目录表就被保存到了 本地cache,这样再次ls就不能得到这个目录下最新的列表,这时可以用rels重新下载目录表。这里的cache是lftp的默认设置,目的无非就是 更快的得到列表,有时却不符和你的使用习惯。可以用 cache on和cache off开关cache,也可以用cache flush来清空cache。更改目录也是cd,没什么可说的,lftp也支持tab匹配功能,大大减少了劳动强度。

lftp 支援了六种模式, ftp, ftps, http, https, hftp, fish and file(当然了 https 和 ftps 的支援必须在编译就和 openssl library 一起编译好)。

lftp 内建了 shell-like 的命令格式, 允许在背景同时执行多个命令(&)。所有背景执行的工作都是在同一个程序中(process), 能将前景执行的命令放到背景执行(Ctrl-z), 或从背景拿回前景执行(wait 或 fg), 甚至还可以经由上个命令的传回值来决定目前这个命令是否要执行(&& ||)。

在结束 lftp 时, 如果还有程序执行中, lftp 会将自己切换到 no hup 模式並放到背景执行。因此不必担心执行 lftp 当中无法登出。

!
可执行本地端 shell 中的命令, 如 !ls /usr/local/bin/由於 lftp 並没有 lls(显示本地端档案列表的指令), 故可用 !ls 来替代。

alias []
定义别名
alias less more
alias reconnect "close; cd ."
直接输入 alias 即可看到目前定义了那些别名。如果只输入 alias name 的话, 则是取消 name 这个别名。

bookmark SUBCMD
设定书籤, 可将目前站台及所在目录设成书籤, 下次可直接进来, 不用再 cd 来 cd 去的

bookmark add name 用来新增名称为 name 的书籤
bookmark del name 删除名称为 name 的书籤
bookmark list 显示目前有设定那些书籤(另外直接打 bookmark 和 bookmark list 的结果一样)
bookmark edit 呼叫编辑器修改书籤 (~/.lftp/bookmarks)

cd 切换远端目录

cache SUBCMD
管理 lftp 的 cache

rels []
从 cache 中显示远端档案列表
rels 则不会从 cache 中读取

recls opts [path/]pattern
从 cache 中显示远端的档案列表, 应该算是 ls 的加强版, 有很多参数可用,应该是可用来产生各种不同>的档案列表以供其他程式使用。
recls 则不会从 cache 中读取

du options
计算远端整个目录佔用容量

get OPTS -o
抓取远端档案

get rfile -o lfile
抓 rfile 到本地改名为 lfile
-c 为续传
-E 抓档完成後, 将远端的档案砍了
-a 为 ascii mode, 预设为 binary mode
-O 设定 base directory 为本地端放档案的目录

mget OPTS
下载远端档案(可用 wildcard expansion 也就是 *)

pget OPTS -o
使用多个连结来下载档案, 预设为五个。
-n 3 为叁个连结

jobs -v
显示目前有那些程序在背景执行
-v 显示详细的资讯(-v 可多加幾个来显示更详细的资讯)

lcd
切换本地端的目录

mirror OPTS remote [local]
下载整个目录(楼上的 get 只能用来抓档案)
-c 续传
-e 这个要小心一些, 比较远端和本地端的档案, 假如远端没有的, 就将本地端的档案删除, 也就是将本地端和远端资料同步。
-R 上传整个目录
-n 只下载较新的档案
-r 不用递迴到目录中
--parallel=n 同时下载 n 个档案(预设一次只下载一个)

module name args
载入模组

put OPTS -o
上传档案

mput OPTS
上传档案(可用 wildcard expansion 也就是 *)

mv
将远端的 file1 改名为 file2

mrm
用 wildcard expansion 方式来删除远端档案

open OPTS
开启某个站台
open -u , -p site

queue OPTS []
将 cmd 放到伫列中等待执行
-d index 将编号为 index 的 job 删除
-m index new_index 将编号为 index 的 job 移至编号 new_index, 插队专用。
-n index 在编号 index 之前新增一个 job

wait []
将背景执行中的程序移至前景(也可用 fg)

kill all|
删除全部的 jobs 或 job_no

repeat delay command
每隔 delay 秒, 重覆执行 command, 预设是每隔一秒

rm -r -f
移除远端档案

mkdir -p
建立远端目录

rmdir -f
移除远端目录

set OPT []
设定变数
直接键入 set 可看目前定义了那些变数

source
读取 file, 並执行 file 中的命令(应该是和 bash 中的 source 命令是一样的吧)

debug [|off] -o
设定 debug level 为 level
-o 将输出导向至 file

exit [|bg]
结束 lftp
此时若还有 jobs, 则会将 lftp 放至背景执行, 继续未完成的工作

history -w file-r file-c|-l cnt
和 bash 中的 history 功能一样

renlist []
只显示远端的档名

pwd -p
显示目前远端所在目录
-p 连登入密码也显示

scache []
只打 scache 显示目前所有的 session, 加上 session_no 可切换至其他的 session,
对於同时开启多个站台或同个站台不同目录间切换。

小 弟有遇过某些站台, 一个 ip 只允许登入一次的,如果想同时抓好幾个档案在不同目录下,就只能一次抓一个,等到抓完了才能再切换到别的目录去抓第二个, 这时 lftp 的 queue 就派上用场了。一般下了 get, mget 的话, 档案就直接开始下载了, 这时就无法再切换到其他目录了, 因此, 先将 queue 给停止, 首先下个 queue, 按 enter, 再下个 jobs 即可看到目前 queue 是停止的。这时再将要抓的东东一个个加入 queue 中, 等到要抓的东东都进入 
queue 後, 再下 queue start 一次全部传送, 这样子可省去随时注意档案是否抓完,迼成困扰。

lftp localhost:/pub/Iso> queue

lftp localhost:/pub/Iso> jobs
0 queue (ftp://localhost)
Queue is stopped.

lftp localhost:/pub/Iso> queue get rettcd.iso

lftp localhost:/pub/Iso> jobs
0 queue (ftp://localhost)
Queue is stopped.
Commands queued:
1. get rettcd.iso

lftp localhost:/pub/Iso> queue mirror Linux/

lftp localhost:/pub/Iso> jobs
0 queue (ftp://localhost)
Queue is stopped.
Commands queued:
1. get rettcd.iso
2. mirror Linux/

lftp localhost:/pub/Iso> queue start

lftp localhost:/pub/Iso> jobs
0 queue (ftp://localhost)
Now executing: 1 get rettcd.iso
Commands queued:
1. mirror Linux/
1 get rettcd.iso
`rettcd.iso' at 4772864 (9%) 3.00M/s eta:14s Receiving data
相关文件

/etc/lftp.conf
全局配置文件,实际位置依赖系统配置文件目录,可能在/etc,也可能在/usr/local/et
c

~/.lftp/rc, ~/.lftprc
用户配置文件,将在/etc/lftp.conf之后执行,所以这里面的设置会覆盖/etc/lftp.conf中的设置。
lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可以在 ~/.lftprc 里写入一行

debug 3

就可以看到出错信息了。
更多的配置选项请查man手册或在lftp界面内用命令 set -a 获得。

~/.lftp/log
当lftp转为后台非挂起模式执行时,输出将重定向到这里

~/.lftp/bookmarks
这是lftp存储书签的地方,可以lftp查看bookmark命令

~/.lftp/cwd_history
这个文件用来存储访问过的站点的工作目录

碰到一个中文字符集显示的问题, Remote FTP Server 的 Charset 是 gb2312 的, 我若直接 ls, 所有中文字符都是乱码, 根本没有办法使用. 要这样给一个参数才行:

lftp ryun@www.example.com:/>set ftp:charset gb2312

然后再 ls 一下看看, 是不是亲切多了 ^____^

这里还有一个方法, 针对经常使用中文字符集FTP的朋友可以这样来设定配置文件:

touch ~/.lftp/rc
echo 'debug 4' >> ~/.lftp/rc
echo 'set ftp:charset GBK' >> ~/.lftp/rc

现在 lftp 后直接支持中文字符显示

无法被动模式连接,转为主动模式就可以列目录了:在 lftp 登录后执行:
set ftp:passive-mode no

|
谢谢分享 整理到你博客把  一搜就能找到
名字取的有意思Linux FTP客户端 Lftp 使用方法[图片]

|
呵呵,有点意思。mark下

    
 
 

您可能感兴趣的文章:

  • linux下c/c++使用hash_map方法介绍
  • 我用的是红帽5 我想知道我LINUX下的KDbg的使用方法
  • 问个比较菜的问题: LINUX如何查询C函数的使用方法?
  • red hat linux 9.0中文件etc/inittab的作用及使用方法
  • 请问在Linux中,rcp远程拷贝命令的使用方法?
  • 请教linux下定时器的使用方法!
  • LINUX下freeradius服务器使用方法?
  • linux的tar命令参数-T的使用方法
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • linux停止和查看启动服务的命令使用方法
  • linux和unix的命令和terminal的使用方法都一样吗?
  • 在linux下或者windows下,如何发带vlan tag的tcp,udp,arp包。用啥工具,请详细说明使用方法。求教
  • 谁能列举一下linux中最常用的命令及使用方法啊?
  • linux下php-fpm开启关闭使用方法
  • Linux 下监控某进程 内存使用峰值的方法?
  • 请问在Linux和Windows XP中,rcp远程拷贝命令的使用方法?环境如何配置?
  • 请教!目前有没有在linux下使用COM组件的方法
  • 请问一下Linux中使用代理上网的方法
  • [Fedora] 使用Xmanger来实现在windows下通过远程桌面来访问linux主机的方法
  • Linux下Oracle的sqlplus使用光标上下左右方法
  • linux 下大数库 miracl 的使用方法,求高手指教
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 对于用客户端上网的用户(客户端不支持linux)如何在linux下上网?
  • 在Linux下开发手机客户端或Pc客户端交互的服务器,需要学哪些知识?
  • linux端是服务器,客户端连接后,有时并不知道客户端断开,怎么侦测?
  • linux 能ping通客户端ip,但ping不通客户端的域名。
  • Linux网络编程(怎样实现两个客户端之间的通信)
  • Linux的BBS客户端 QTerm
  • Linux的博客客户端 Drivel
  • Linux 代理 一个客户端来就创建一个连接
  • linux客户端如何配置网络?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用LINUX做HELIX服务器,用W2K做客户机,客户机视频点播,连接时出现问题!!!!
  • 在单位用windows客户机可在ie设置代理上网,但linux客户机不行
  • 关于linux环境下服务器 是如何获取客户端的相关硬件信息
  • 客户端是linux通过socket编程实现服务器端win平台接收?
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • ~~双网卡WinXP设置为共享上网,为什么Linux客户机不能上网~~
  • 请问有没有Linux下SOCKET服务端和客户端的接口函数!!
  • linux客户端能不能使用x界面呀
  • 高分请教:如何在linux上建vpn的客户端!
  • 客户端访问Linux作为服务器的网站,flash无法显示。
  • 哪里有中兴认证客户端linux版本下载?
  • 大侠,求助!!LINUX下TCP套接字编程中客户端出现段错误
  • 如何在远程linux客户端上运行gui程序
  • 虾米电台Linux客户端 xmradio
  • 百度云linux客户端
  • 锐捷认证Linux客户端 RuijieClient
  • 如何使用LINUX为不同子网的WIN98客户端不同的应用程序做代理?给分100
  • linux下FTP服务器与客户端的C语言实现
  • tcp/ip 服务端响应linux客户端问题
  • Linux下的QQ客户端 OpenQ
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3