ftp 客户端和命令使用

ftp 客户端和命令使用有关 FTP 客户端 服务器搭建这里不讲 有很多 大体分为命令行和 GUI 图形界面的软件 一 图形界面的有 Filezilla 只有 windows 下的服务端 客户端有其他平台版本 对中文支持好 gftp gnome 下 ftp 客户端 crossftp 基于 Java 的稳定 ftp 客户端和同步工具 优良的中文 Unicode 支持 KftpgrabberK 下 ftp 客户端 支持编

有关FTP(客户端,服务器搭建这里不讲)有很多,大体分为命令行和GUI图形界面的软件。

一、图形界面的有

Filezilla (只有windows下的服务端,客户端有其他平台版本)

对中文支持好

gftp(gnome下ftp客户端)

crossftp

基于Java的稳定ftp客户端和同步工具。优良的中文/Unicode支持。

Kftpgrabber

KDE下ftp客户端,支持编码选择。对中文支持较好

krusader

除了上面的客户端,也可以通过浏览器或者在对应平台文件系统中输入ftp://ip 使用去访问ftp服务端

如果有喜欢的可以通过apt-get 或者 aptitude 安装。

二 、CLI(命令行客户端)主要有ftp 和 lftp 【若没有ftp和lftp指令,使用yum命令去在线安装即可】

(1)ftp

1. 连接ftp服务器

  格式:ftp [hostname| ip-address]

  a)linux命令行下输入:ftp 10.18.34.115 

  b)服务器询问你用户名和口令,分别输入yint和相应密码,待认证通过即可。

 

    或者用下面的格式  

   ftp – -i  -n  IP_ADDRESS

  user USERNAME PASSWORD

 

    比如:

    ftp -i -n 172.17.17.17

    user  PUB    

 

也可以自己写个脚本自动登录。

 

cyq@cyq-desktop:~/桌面/shell$ cat ftp.sh

#!/bin/sh

ftp -i -n  172.17.17.17

<< !

user  PUB    

!

 

这样就可以自动登录了。

 

2. 下载文件

  下载文件通常用getmget这两条命令。

  a) get 

  格式:get [remote-file] [local-file]

  将文件从远端主机中传送至本地主机中.

  如要获取服务器上E:/rose/1.bmp,

  ftp> get /rose/1.bmp 1.bmp (回车)

  b) mget      

  格式:mget [remote-files]

  从远端主机接收一批文件至本地主机.

  如要获取服务器上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文件上传到服务器E:/rose 

  ftp> cd /rose (回车)

  ftp> mput *.bmp (回车)

  注意:上传文件都来自于主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则只有在/root/yint下的文件linux才会上传到服务器E:/rose 下。

4. 断开连接

  bye:中断与服务器的连接。

  ftp> bye (回车)

 

(2)lftp

在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码,这是由于服务器和本地编码不一致造成的。

解决办法:

在主目录下新建一个文件~/.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”

 

上面的这几行的意思是

设置本地和ftp服务器的编码方式

alias 是使用别名命令

我经常访问 gbk 编码的 ftp, 还有 utf8 编码的,那么我在 ~/.lftp 中这样写 

代码:

 

那么当我访问一个 utf8 站点的时候,如果发现乱码,只要在 lftp 的命令提示符号下面输入 utf8 就可以将编码调整正常。同理,如果访问 gbk 的发现乱码就输入 gbk, 马上正常。

 

下面讲解如何使用lftp

1、登录ftp

代码:

lftp 用户名:密码@ftp地址:传送端口(默认21

例如: $ lftp test:123456@172.17.17.17

lftp user@site:port

例如:$ lftp test@172.17.17.17

 

      口令

然后就进入了。(这里输入的口令是密码,linux下密码不显示)

2、查看文件与改变目录

代码:

 

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、上传
同样的putmput,都是对文件的操作,和下载类似。

代码:

mirror -R 本地目录名

 

将本地目录以迭代(包括子目录)的方式反向上传到ftp site

 

5、模式设置。

代码:

set ftp:charset gbk

 

远程ftp sitegbk编码,对应的要设置为utf8,只要替换gbkutf8即可。

代码:

set file:charset utf8

 

本地的charset设定为utf8,如果你是gbk,相应改掉。

 

代码:

set ftp:passive-mode 1

 

使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。

 

6、书签
其实命令行也可以有书签,在lftp终端提示符下:

代码:

bookmark add ustc

 

就可以把当前正在浏览的ftp siteustc作为标签储存起来。以后在shell终端下,直接

代码:

lftp ustc

 

就可以自动填好用户名,密码,进入对应的目录了。

 

代码:

bookmark edit 

 

会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。 

 

7、配置文件 
/etc/lftp.conf 
一般,我会添加这几行: 

引用:

 

这样,就不用每次进入都要打命令了。其他的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 sitegbk编码 

!

执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代

lcd

切换本地目录 

lpwd

显示本地目录 

alias

定义别名 

bookmark

设定书签。 

exit

退出ftp 

 

相关参考:http://yahoon.blog.51cto.com/13184//

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178693.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:42
下一篇 2026年3月26日 下午4:42


相关推荐

  • MySQL (4) 第一范式 第二范式 第三范式 BC范式

    MySQL (4) 第一范式 第二范式 第三范式 BC范式第一范式第一范式:所有属性都是不可分割的原子值。也就是每个属性都是不可再分的。例如下图就不符合第一范式的要求实际上,1NF是所有关系型数据库的最基本要求,你在关系型数据库管理系统(RDBMS),例如SQLServer,Oracle,MySQL中创建数据表的时候,如果数据表的设计不符合这个最基本的要求,那么操作一定是不能成功的。如果我们要在RDBMS中表现表中的数据,就得设计为下图的

    2022年5月23日
    51
  • OpenClaw安全加固实战指南:从基础配置到安全风险运营(详情篇)

    OpenClaw安全加固实战指南:从基础配置到安全风险运营(详情篇)

    2026年3月13日
    2
  • 向量范数和矩阵范数的理解

    向量范数和矩阵范数的理解向量范数今天来聊一聊机器学习矩阵论的相关知识——范数(Norm)。在学习机器学习基础算法的推导过程中,可以看到很多地方都应用到了这个范数。范数属于矩阵论的知识范围,可见数学基础的重要性。机器学习的数学基础重点推荐——MIT的机器学习数学基础课如果只需要快速了解,请参考——矩阵范数计算完整的MIT数学基础课程笔记可以参考:MIT18.06线性代数笔记这是个非常棒的手动演算流程,本文也将编码进行验算。向量范数定义:一个向量空间V到实数空间的映射,不仅如此,还要满足喜爱额条件:∣∣x∣∣⩾

    2026年1月21日
    4
  • IP地址分类(A类 B类 C类 D类 E类)「建议收藏」

    IP地址分类(A类 B类 C类 D类 E类)「建议收藏」一、简介IP地址由四段组成,每个字段是一个字节,即4个字节、每个字节有8位,最大值是255(=256:0~255)。全世界范围是唯一的32位(4个字节*8位)的标识符。IP地址由两部分组成,即网络地址和主机地址,二者是主从关系:1.网络号net-id,它标志主机(或路由器)…

    2022年4月29日
    128
  • 常见积分不等式

    常见积分不等式文章目录①柯西施瓦茨不等式②6.75③3.132④3.133⑤3.134⑥3.142①柯西施瓦茨不等式[∫f(x)∗g(x)dx]2≤∫f2(x)dx⋅∫g2(x)dx[\intf(x)*g(x)dx]^2\leq\intf^2(x)dx\cdot\intg^2(x)dx[∫f(x)∗g(x)dx]2≤∫f2(x)dx⋅∫g2(x)dx这个在张…

    2022年6月3日
    40
  • mybatis oracle 分页查询_oracle分页查询出现重复的问题

    mybatis oracle 分页查询_oracle分页查询出现重复的问题Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便。使用MyBatis中的RowBounds进行分页查询时,不需要在sql语句中写offset,limit,mybatis会自动拼接分页sql,添加offset,limit,实现自动分页。需要前台传递参数currentPage和page…

    2026年2月14日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号