Linux之ftp命令使用
一:前言
在达内參加暑期社会实践,达内公司免费教授了一星期的课,当时认为老师用ftp命令用的非常爽。所以回来学学了。
二:分类
有关FTP(client,server搭建这里不讲)有非常多,大体分为命令行和GUI图形界面的软件。
1,图形界面的有
gftp
gnome下ftpclient
crossftp
基于Java的稳定ftpclient和同步工具。优良的中文/Unicode支持。
Kftpgrabber
KDE下ftpclient,支持编码选择。对中文支持较好
filezilla
对中文支持好
krusader
也能够通过浏览器输入ftp://ip使用
假设有喜欢的能够通过apt-get 或者 aptitude 安装。
2,CLI(命令行)主要有ftp 和 lftp
(1)ftp
1. 连接ftpserver
格式:ftp [hostname| ip-address]
a)在linux命令行下输入:ftp 10.18.34.115
b)server询问你username和口令,分别输入yint和对应password,待认证通过就可以。
或者用以下的格式
ftp - -i -n IP_ADDRESS
user USERNAME PASSWORD
比方:
ftp -i -n 172.17.17.17
user PUB 123456
也能够自己写个脚本自己主动登录。
cyq@cyq-desktop:~/桌面/shell$ cat ftp.sh
#!/bin/sh
ftp -i -n 172.17.17.17
<< !
user PUB 123456
!
这样就能够自己主动登录了。
2. 下载文件
下载文件通经常使用get和mget这两条命令。
a) get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中.
如要获取server上E:/rose/1.bmp,则
ftp> get /rose/1.bmp 1.bmp (回车)
b) mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机.
如要获取server上E:/rose/下的全部文件,则
ftp> cd /rose
ftp> mget *.* (回车)
注意:文件都下载到了linux主机的当前文件夹下。比方,在 /root/yint下执行的ftp命令,则文件都下载到了/root/yint下。
3.上传文件
a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.bmp传送到远端主机E:/rose,并改名为333.bmp
ftp> put 1.bmp /rose/333.bmp (回车)
b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机.
如要把本地当前文件夹下全部bmp文件上传到serverE:/rose 下
ftp> cd /rose (回车)
ftp> mput *.bmp (回车)
注意:上传文件都来自于主机的当前文件夹下。比方,在 /root/yint下执行的ftp命令,则仅仅有在/root/yint下的文件linux才会上传到serverE:/rose 下。
4. 断开连接
bye:中断与server的连接。
ftp> bye (回车)
(2)lftp
在用lftp訪问国内一些ftpserver时,往往看到的中文是乱码,这是因为server和本地编码不一致造成的。
解决的方法:
在主文件夹下新建一个文件~/.lftprc或者~/.lftp/rc
比方我在终端中输入:
gedit ~/.lftprc #在当前文件夹下建立.lftprc文件
然后在弹出的对话框中输入下面内容:
debug 3
set ftp:charset GBK
set file:charset UTF-8
#set ftp:passtive-mode no
#alias utf8 " set ftp:charset UTF-8"
#alias gbk " set ftp:charset GBK"
上面的这几行的意思是
设置本地和ftpserver的编码方式
alias 是使用别名命令
假设对于常常使用不同编码的 ftp server 的朋友,或常常使用不同的选项的,能够设置一些别名,这样会方便非常多。
比方:
我常常訪问 gbk 编码的 ftp, 还有 utf8 编码的,那么我在 ~/.lftp 中这样写
代码:
alias gbk set ftp:charset gbk; set file:charset UTF-8
alias utf8 set ftp:charset UTF-8; set file:charset UTF-8
那么当我訪问一个 utf8 网站的时候,假设发现乱码,仅仅要在 lftp 的命令提示符号以下输入 utf8 就能够将编码调整正常。同理,假设訪问 gbk 的发现乱码就输入 gbk, 立即正常。
以下解说使用lftp
1、登录ftp
代码:
lftp username:password@ftp地址:传送port(默认21)
比如: $ lftp test:123456@172.17.17.17
也能够先不带username登录,然后在接口界面下用login命令来用指定账号登录,password不显示。
lftp user@site:port
比如:$ lftp test@172.17.17.17
口令:
然后就进入了。(这里输入的口令是password,linux下password不显示)
2、查看文件与改变文件夹
代码:
ls
cd 相应ftp文件夹
在lftp终端中,前面带一个l的命令比如lcd,指的是local,就是在本机的操作,而相应的没有这个l的,都是对ftp site的操作。还有就是要运行本地终端命令,也能够用前面带一个!的方式。这样,配合起来,终端,本地的操作都非常放遍。
比如,查看ftp上全部的以mp3为扩展名的文件:
代码:
find . -name "*.mp3"
代码:
lftp test@172.17.17.17:/> lcd
lcd 成功, 本地文件夹=/home/cyq
lftp test@172.17.17.17:/>
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 gbk
远程ftp site用gbk编码,相应的要设置为utf8,仅仅要替换gbk为utf8就可以。
代码:
set file:charset utf8
本地的charset设定为utf8,假设你是gbk,对应改掉。
代码:
set ftp:passive-mode 1
使用被动模式登录,有些site要求必须用被动模式或者主动模式才干够登录,这个开关就是设置这个的。0代表不用被动模式。
6、书签
事实上命令行也能够有书签,在lftp终端提示符下:
代码:
bookmark add ustc
就能够把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接
代码:
lftp ustc
就能够自己主动填好username,password,进入相应的文件夹了。
代码:
bookmark edit
会调用编辑器手动改动书签。当然,也能够看到,这个书签事实上就是个简单的文本文件。password,username都能够看到。
7、配置文件
/etc/lftp.conf
一般,我会加入这几行:
引用:
set ftp:charset gbk
set file:charset utf8
set pget:default-n 5
这样,就不用每次进入都要打命令了。其它的set 能够自己tab然后help 来看。
以下是经常使用命令
ls
显示远端文件列表(ils 显示本地文件列表)。# l 的意思就是local ils比較特殊
cd
切换远端文件夹(lcd 切换本地文件夹)。
get
下载远端文件。
mget
下载远端文件(能够用通配符也就是 *)。
pget
使用多个线程来下载远端文件, 预设为五个。
mirror
下载/上传(mirror -R)/同步 整个文件夹。
put
上传文件。
mput
上传多个文件(支持通配符)。
mv
移动远端文件(远端文件改名)。
rm
删除远端文件。
參数-r,递归删除目录
mrm
删除多个远端文件(支持通配符)。
mkdir
建立远端文件夹。
rmdir
删除远端文件夹。
pwd
显示眼下远端所在文件夹(lpwd 显示本地文件夹)。
du
计算远端文件夹的大小
set net:limit-rate 10000,10000
限制上传下载各为10KB/s
set ftp:charset gbk
设置远程ftp site用gbk编码
!
运行本地 shell的命令(因为lftp 没有 lls, 故可用 !ls 来替代)
lcd
切换本地文件夹
lpwd
显示本地文件夹
alias
定义别名
bookmark
设定书签。
exit
退出ftp
參考资料
http://forum.ubuntu.org.cn/viewtopic.php?f=70&t=104785
http://forum.ubuntu.org.cn/viewtopic.php?t=59102&highlight=lftp
http://wiki.ubuntu.org.cn/index.php?title=Lftp&variant=zh-cn
声明:本文档能够任意更改,但必须署名原作者
作者:凤凰舞者 qq:578989855
Linux之ftp命令使用的更多相关文章
- linux系统ftp命令
先来一段简单的ftp 下载脚本 ftp -i -n<<EOF open 14.2.33.211 user etl etl cd /etlfile/ftpfile lcd /etlfile/ ...
- linux下ftp命令的安装与使用
注意:实际使用时可以直接尝试第5步,如果提示找不到ftp命令,再进行第4步安装,如安装失败再进行第1步,然后顺序执行即可 1. 下载rpm文件 例如:ftp-0.17-51.1.el6.x86_64. ...
- Linux服务器ftp命令找不到
ftp commond not find 先用命令rpm -q vsftpd检查是否安装了ftp服务器 若显示vsftpd-2.2.2-11.el6_4.1.x86_64这样的信息,说明FTP服务器已 ...
- Linux shell ftp命令下载文件 根据文件日期
需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" & ...
- Linux下FTP命令的使用方法
FTP> ? 显示 ftp 命令说明.? 与 help 相同. 格式:? [command] 说明:[command]指定需要帮助的命令名称.如果没有指定 command,ftp 将显示全部命令 ...
- linux之ftp命令详解
我们在使用ftp客户端访问到ftp服务器之后,往往需要进行相关操作,比如从远程机器上下载文件,或者将文件传输到远程机器上.需要使用ftp的相关命令,本文讲述了ftp常用的一些操作. 方法/步骤 ...
- linux ftp命令(转)
此命令需要安装ftp, yum install ftp 1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 ...
- 详述Linux ftp命令的使用方法
转自:http://os.51cto.com/art/201003/186325.htm ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里 ...
- linux下ftp常用命令
1. Linux 终端连接FTP $ ftp 10.85.3.12 Name : fxm5547 Password: ftp> 如果FTP 允许匿名用户,那么用户名要输入anonymous,密码 ...
随机推荐
- poj 1699 Best Sequence(AC自己主动机+如压力DP)
id=1699" target="_blank" style="">题目链接:poj 1699 Best Sequence 题目大意:给定N个D ...
- NIVC->IPR[IPADDR]
#include <stm32f10x.h> #include "sys.h" //表偏移地址 //NVIC_VectTab:基址 //Offset:偏移量 //C ...
- C++ Primer 学习笔记_43_STL实践与分析(17)--再谈迭代器【中】
STL实践与分析 --再谈迭代器[中] 二.iostream迭代[续] 3.ostream_iterator对象和ostream_iterator对象的使用 能够使用ostream_iterator对 ...
- 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)
原文:打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转] 有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的 ...
- nettyclient异步获取数据
源代码见,以下主要是做个重要代码记录 http://download.csdn.net/detail/json20080301/8180351 NETTYclient获取数据採用的方式是异步获取数据, ...
- 【iOS开展-50】使用它来创建一个新的类的实现代码包,因此,不自觉地练习简单MVC实验,附带动画
接下来说说代码封装最后一个个案. 最后一种情况看:[iOS开展-48]九宫格案例:自己主动布局.字典转模型运用.id和instancetype差别.xib反复视图运用及与nib关系 (1)代码封装的原 ...
- AsyncTask来源分析(一)
于android开发过程AsyncTask我会经常处理它.在网上,也有很多的其描述,因此,这里是不是说的用法,直接写自己的学习经验,以及它的一些浅显的认识,忘记错批评. AsyncTask它是一个抽象 ...
- Hbase在的应用经验的统计
1. 需求统计 互联网上对于数据的统计,一个重要的应用就是对站点站点数据的统计,比如CNZZ站长统计.百度统计.Google Analytics.量子恒道统计等等. 站点站点统计工具无外乎有下面一些功 ...
- .NET系统开发过程中积累的扩展方法
分享.NET系统开发过程中积累的扩展方法 .NET 3.5提供的扩展方法特性,可以在不修改原类型代码的情况下扩展它的功能.下面分享的这些扩展方法大部分来自于Code Project或是Stacko ...
- .net Framework各个版本之间的发展
原文:.net Framework各个版本之间的发展 上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET FrameWork,身为一个NET程序员,里面大概的区别自己还 ...