Linux ftp
1、登录ftp
代码:
lftp 用户名:密码@ftp地址:传送端口(默认21)
用法
(1)lftp username:password@127.0.0.1:21 回车
(2)lftp username@127.0.0.1 回车##默认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.txt
queue put 234.txt
queue mirror aaa/
queue ##查看任务列表
jobs ##查看后台任务列表
queue start ##开始任务列表
queue stop ##停止任务列表
其他命令
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, 对於同时开启多个站台或同个站台不同目录间切换。