lftp命令

lftp常用命令 
ls    查看目录内容 
cd    切换远端目录 
lcd   切换本地目录 
put   上传 
mput  批量上传 
get   下载 
get -c   断点续传下载 
mget -c *.txt   批量断点下载 
open site:port  登录ftp 

1、登录ftp 
lftp (ftp://)username:password@site:port 
lftp (ftp://)username@site:port     ---然后系统会提示输入password 
lftp site -p port -u username,password    ---默认端口21 
lftp site:port -u username,password 

也可分步进行 
lftp 
open site:port 
user username:password 

举例: 
[root@mysqltest ~]# lftp bkdata:tinapwd@backup.work 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]# lftp ftp://bkdata:tinapwd@backup.work 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]#lftp backup.work -u bkdata,tinapwd 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]#lftp backup.work -p 21 -u bkdata,tinapwd 
lftp bkdata@backup.work:~> 

[root@mysqltest ~]# lftp 
lftp :~> open backup.work 
lftp backup.work:~> user bkdata tinapwd  


2、查看内容(ls) 
lftp bkdata@backup.work:~> !ls -l /home/bk_pg    ---查看本地目录内容 
total 1524 
-rw-r--r--. 1 root root    4744 Dec 24 11:19 bk.log 
-rw-r--r--. 1 root root      75 Dec 24 11:19 pg.md5 
-rw-r--r--. 1 root root 1546722 Dec 24 11:19 rename_check.20151224.backup 

lftp bkdata@backup.work:~> cd 12.108_pg      ---进入远端目录 
cd ok, cwd=/12.108_pg                 
lftp bkdata@backup.work:/12.108_pg> ls       ---查看远端目录内容 
-rw-r--r--    1 500      500       1546722 Dec 24 03:18 bk.log 

lftp bkdata@backup.work:/12.108_pg> recls -l    ---也可以用这个命令recls有许多参数可用 
-rw-r--r--     1 500      500            75 Dec 24 11:18 pg.md5 
-rw-r--r--     1 500      500       1546722 Dec 24 11:18 rename_check.20151224.backup 

3、上传下载 
[root@mysqltest ~]# cd /home/bk_pg/   --本地目录 
[root@mysqltest bk_pg]# ll 
total 1524 
-rw-r--r--. 1 root root    4744 Dec 24 11:19 bk.log 
-rw-r--r--. 1 root root      75 Dec 24 11:19 pg.md5 
-rw-r--r--. 1 root root 1546722 Dec 24 11:19 rename_check.20151224.backup 

1)将本地文件上传到远端目录 
lftp bkdata@backup.work:~> lcd /home/bk_pg   ---切换本地目录(存放了备份文件) 
lcd ok, local cwd=/home/bk_pg 
lftp bkdata@backup.work:/> cd 12.108_pg      ---切换远端目录(我将要存放上传到的位置) 
cd ok, cwd=/12.108_pg 
lftp bkdata@backup.work:/12.108_pg> put pg.md5    ---上传 
lftp bkdata@backup.work:/12.108_pg> put rename_check.20151224.backup 
lftp bkdata@backup.work:/12.108_pg> ls 
-rw-r--r--    1 500      500            75 Dec 24 03:18 pg.md5   
-rw-r--r--    1 500      500       1546722 Dec 24 03:18 rename_check.20151224.backup  ---成功上传 

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

lftp bkdata@backup.work:/12.108_pg> lcd /tmp 
lcd ok, local cwd=/tmp 
lftp bkdata@backup.work:/12.108_pg> get pg.md5 
75 bytes transferred    

查看: 
[root@mysqltest tmp]# ll 
-rw-r--r--. 1 root root       75 Dec 24 11:18 pg.md5 

lftp bkdata@backup.work:/12.108_pg> get pg.md5 -o pos.md5  --改名了 
75 bytes transferred  


3)批量上传 
lftp bkdata@backup.work:/12.108_pg> mput * 


4)批量下载 
lftp bkdata@backup.work:/12.108_pg> mget * 
1546797 bytes transferred                                        
Total 2 files transferred 

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


4、多任务处理 
ctrl+z   将当前进行的任务移交后台处理 
wait     将后台处理任务调至前台查看 
jobs     查看后台进行的任务列表 
kill all 或者 job_no   删除所有任务 或 指定的任务 

将任务加入任务列表 
queue get 123.txt 
queue put 234.txt 
queue mirror aaa/ 

queue   查看任务列表 
jobs    查看后台任务列表  -v 显示详细信息 
queue start   开始任务列表 
queue stop    停止任务列表 

lftp bkdata@backup.work:/12.108_pg> queue get pg.md5   --加入任务 
lftp bkdata@backup.work:/12.108_pg> queue start        --启动任务 
[0] Done (queue (ftp://bkdata:tinapwd@backup.work:21)) 
[1] Done (queue (ftp://bkdata:tinapwd@backup.work:21)) 

5、计算大小 
lftp bkdata@backup.work:/12.108_pg> du -sh 
1.5M . 
lftp bkdata@backup.work:/12.108_pg> 

6、其他相关 
find ./bk  "*.txt"  查看bk目录下所有txt文件 
mv  将远端的文件改名 
rm  删除远端文件 
mkdir -p 建立远端目录 
rmdir -f 删除远端目录 
source   读取文件,并执行文件内的命令 
debug -o file   将输出导向到file 
exit     退出 
history 
pwd   显示远端所在目录 
set      设置变量  
如: 
set ftp:charset utf8    --远端 
set file:charset utf8   --本地 

7、设置被动/非被动模式 
set ftp:passive-mode 1 ## 1 被动 0非主动 

8、上传脚本举例 
[root@mysqltest tina_shell]# cat sc.sh 
#!/bin/sh 
bkdir=/home/bk_pg 
day=`date +"%Y%m%d"` 
lftp backup.work <<END 
user bkdata tinapwd 
lcd $bkdir 
cd 12.108_pg 
mput *.$day.backup 
put pg.md5 
exit 
END
上一篇:瑞典新兴公司突破纳米线技术 可助光伏组件效率提升50%


下一篇:Vanilla Masker – 功能强大的输入过滤插件