linux lftp命令 详解 |
您所在的位置:网站首页 › 温哥华天气预报7天加拿大 › linux lftp命令 详解 |
linux lftp命令 1、登录ftp代码:lftp 用户名:密码@ftp地址:传送端口(默认21)用法(1)lftp username:[email protected]:21 回车(2)lftp [email protected] 回车 ##默认21端口 回车后输入密码(3)lftp 127.0.0.1 回车 ##回车后 login 登录(4)lftp 回车 --> open 127.0.0.1 --> login 登录感觉自己很象孔乙己了,茴香豆的"茴"有几种写法阿! ~真晕阿~ 2、lftp中文乱码问题对于像我这样的新手,登录后看到的都是中文乱码(因为一般本地都是utf-8的编码),怎么半呢,用 set 命令来解决 set ftp:charset gbk(或者 gb2312 或 utf-8) ##设置ftp端的编码格式set file:charset utf-8 (...同上) ##设置本地编码格式 附:set命令的技巧 (1)输入set 查看已经设置好的命令 (2)set -a 查看所有可以设置的命令清晰网 3、查找ftp端文件 ls *.txt ##查找当前目录下的所有txt文件ls ./123/ ##列出123目录下所有文件find . -name "*.txt" ##递归查找站点上所有的txt文件find ./xx -name "*.txt" ##查找xx目录下所有的txt文件 附1: ls第二次读取的是本地缓存,可以用 rels 代替 ls 或者catch off / catch on 来开关catch,catch flush清空本地catch附2: 浏览本地目录的命令可用!ls, 如 !ls /usr/local/bin/ 4、下载文件 下载文件之前要先设置好本地的目录,用来存放下载的文件lcd /home/123/web ##设置本地存放目录 默认为 /home/usr get 123.txt ##下载123.txt文件到 /home/123/web 中get -c 123.txt ##断点续传下载mget *.txt ##批量下载所有txt文件mget -c *.txt ##断点续传mget -c ./123/aaa/*.txt ##断点续传、批量下载ftp端aaa目录下的所有txt文件 pget -c -n 10 file.dat##以最多10个线程以允许断点续传的方式下载file.dat##可以通过设置 set pget:default-n 5 的值而使用默认值。 mirror aaa/##将aaa目录整个的下载下来,子目录也会自动复制 本地自动建立目录 5、上传文件 put 123.txt ##同下载mput *.txt ##同下载 mirror -R aaa/ ##同下载 6、设置被动/非被动模式 set ftp:passive-mode 1 ## 1 被动 0非主动 多任务处理 ctrl+z ##将当前进行的任务移交后台处理wait ##将后台处理任务调至前台查看jobs ##查看后台进行的任务列表kill all 或者 job_no ##删除所有任务 或 指定的任务 ##将任务加入任务列表queue get 123.txtqueue put 234.txtqueue mirror aaa/ queue ##查看任务列表jobs ##查看后台任务列表 queue start ##开始任务列表queue stop ##停止任务列表 其他命令清晰网 alias []定义别名alias less morealias 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,对於同时开启多个站台或同个站台不同目录间切换。 国内的大多数ftp服务器使用的中文编码是gbk,而linxu大多数版本(包括debian,redhat,centOS,fc等版本)默认的编码是utf-8,于是会出现访问ftp服务器是出现中文乱码的问题,解决办法有两种:1、临时解决用lftp登录到ftp服务器上,设置远程服务器编码为gbk,而设置本地编码为utf-8,做法为:输入下面两个命令:set ftp:charset gbkset file:charset utf8 2、永久解决在目录$HOME/.lftp编辑文件(如果没有则建立)rc,输入下面两行,设置远程编码为gbk,本地编码为utf-8:set ftp:charset gbkset file:charset utf8这种方法会导致访问utf8编码的服务器时出现中文乱码,不过就目前国内环境来说机会比较少。如果出现乱码时则临时输入下面两行就可以了:set ftp:charset utf8set file:charset utf8 另外一个用的很多的图形界面的ftp客户端是gftp,在选项中可以选择编码,用惯了win下客户端的人应该能够很快的早到编码选择的地方,选择服务器端的编码为gbk就可以了。 顺便发发牢骚,编码这个问题使的中国人使用linux比英语母语的人难度增加了好多,光捣鼓一个能够应付日常应用的系统就要花费大量的时间,唉。 linux下可以直接通过FTP命令进行ftp上传下载,不过貌似不好用. linux下有什么好的FTP客户端工具用于上传呢,我们日常中,为了数据安全,都把本地数据备份到其他服务器上,有了这个FTP上传利器lft很是方便。 下面我来介绍一下在linux系统centos下安装使用lftp ,我的测试环境是centos5的VPS环境 安装lftp ,我们采取最偷懒的办法,想折腾的可以编译。yum install -y lftp 下面我们介绍一下lftp的常用命令首先,所有的lftp终端内的命令,都可以用 help (显示所有可以使用的命令) help 命令名 的方式来查看帮助信息。 1、登录ftp lftp 用户名:密码@ftp地址:传送端口(默认21) 也可以先不带用户名登录,默认是anonymous匿名用户,然后在命令行下用login或user命令来用指定账号登录,密码不显示。 2、查看文件与改变目录 ls cd 对应ftp目录 嘿嘿,很简单吧?其实,在lftp终端中,前面带一个l的命令例如lcd,指的是local,就是在本机的操作,而对应的没有这个l的,都是对ftp site的操作。还有就是要执行本地终端命令,也可以用前面带一个!的方式。这样,配合起来,终端,本地的操作都很方便。例如,查看ftp上所有名字中包含mp3的文件: find . |grep -i mp3 3、下载 get当然是可以的,还可以 mget -c *.pdf 把所有的pdf文件以允许断点续传的方式下载。m代表multi mirror aaa/ 将aaa目录整个的下载下来,子目录也会自动复制 pget -c -n 10 file.dat 以最多10个线程以允许断点续传的方式下载file.dat可以通过设置pget:default-n的值而使用默认值。 4、上传 同样的put,mput,都是对文件的操作,和下载类似。 mirror -R 本地目录名 将本地目录以迭代(包括子目录)的方式反向上传到ftp site。 5、模式设置。 set ftp:charset utf8 远程ftp site用utf8编码,对应的要设置为utf8,只要替换utf8为utf8即可。 set file:charset utf8 本地的charset设定为utf8,如果你是utf8,相应改掉。 set ftp:passive-mode 1 使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。 6、书签 其实命令行也可以有书签,在lftp终端提示符下: bookmark add ustc 就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接 lftp ustc 就可以自动填好用户名,密码,进入对应的目录了。 bookmark edit 会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。 7、配置文件 /etc/lftp.conf 一般,我会添加这几行: set ftp:charset utf8set file:charset utf8set pget:default-n 5 这样,就不用每次进入都要打命令了。其他的set 可以自己tab然后help 来看。 8. lftp 的上传下载的速度限制 於 lftp.conf 中加入 set net:limit-rate 10000,10000 (单位是字节) 9. lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已 满。如果是这样,你可以在 ~/.lftprc 里写入一行 debug 3 下载/上传/多线程 文件夹 lftp> mirror dir lftp> mirror -R dir lftp> mirror ?parallel=3 dir 纠正乱码显示中文及显示登录消息设置,修改/etc/lftp.conf,加入一段 #myset begin set ftp:charset “utf8” set file:charset “UTF-8″ #end debug 3 更改本地下载目录 ftp> lcd ldir 默认为本地当前目录 比如改成lcd /home/user/download 队列命令(不必等到下载完毕再输入命令) > queue 查看后台队列 > jobs 加入队列 >queue get file >jobs > queue start > jobs ctrl+z 后台运行 退出 ctrl+d $lftp >help lftp 可以查看lftp的更多命令,其中尤其是put, mput, 和get,mget完全对应。 例如 上传单个html文件到服务器一级目录下 >put localdir/index.html 上传多个html文件到服务器一级目录下 >mput localdir/*.html 10. 远程文件目录操作 cat[-b]:滚屏显示文件的内容。 more:分屏显示文件的内容。 zcat:滚屏显示.gz文件的内容。 zmore:分屏显示.gz文件的内容。 mv:文件改名。 rm[-r][-f]:删除文件。 mrm:删除文件(可用通配符)。 du[opts]:显示整个目录的容量。 find[directory]:递归显示指定目录的所有文件(用于ls?R失效时)。 11.上传和下载 get[opts][-o]:下载文件,可以改名后存储在本地。 mget[opts]:下载多个文件。 pget[opts][-o]:多线程下载。 regetrfile[-olfile]:下载续传。 put[opts][-o]:上传文件,可以改名后存储在远程。 mput[opts]:上传多个文件。 reputlfile[-orfile]:上传续传。 12.连接会话和队列管理 scache[]:显示所有连接会话或切换至指定的连接会话。 queue[opts][]:将命令置于队列等待执行。 jobs[-v]:显示后台执行的作业。 wait[]|all:将后台进程换到前台执行(fg是wait的别名)。 killall|:删除后台作业。 exitbg:退出lftp后,所有任务移至后台继续执行。 13.Cache管理 cache[SUBCMD]:管理lftp的cache。 [re]ls[args]:读取cache显示远程文件列表,rels不读取cache。 [re]cls[opts][path/][pattern]:cls提供了比ls更丰富的列表功能。 [re]nlist[]:nlist只显示文件名(没有颜色区分)。 14.站点镜像 mirror[opts][remote[local]]:用于实现站点镜像。 15.书签管理 bookmark[SUBCMD]:用于管理书签。 16.环境参数设置 set[opts][[]]:用户设置lftp的环境参数。17. shell功能shell:shell 是 ! 的一个内建别名用法: !启动 shell 或 shell 命令当然,也可以直接输入shell或!,这样就可以进入当前shell中,便于执行命令。 提示: lftp的功能 支持ftp、ftps、http、https、sftp,file(可以当作文件管理器哦),fish等传输协议; 支持FXP(在两个FTP服务器之间传输文件); 支持代理; 支持多线程传输; 支持传输队列(queue); 支持书签; 类似bash,它提供后台命令、nohop模式、命令历史、命令别名、命令补齐和作业控制支持。 支持镜像(mirror); lftp还有许许多多的功能,可以通过man lftp来了解。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |