你的位置:首页 > 操作系统

[操作系统]8、FTP,二种文本传输模式


一、基本知识

1、 FTP是 TCP/IP协议族 的协议之一,简称文件传输协议,主要用于远距离文件传输,如文件的上传和下载

2、 下面都是以VSFTP服务器为例

VSFTP服务器的用户有三种形式:

匿名用户:  用户名为 FTP 或 anonymous , 密码为空 , 工作目录为 /var/ftp

本地用户: Linux中的用户(但是默认root用户不行)  , 访问根目录为 这个用户的主目录

虚拟用户: 将 用户名 和 口令 保存在数据库文件 或 数据库服务器中

3、 FTP的文本传输模式分为  ASCII传输模式(文本模式) 和 二进制传输模式(binary)

ASCII传输模式: 比较适合文本传输,它可以在双方不是同一类型操作系统 数据传输时自动储存为本地的文本文件格式,

                       但是不适合传输 程序、数据库、字处理文件、压缩文件等不是文本文件。

二进制传输模式:  适合传输 程序、数据库、字处理文件、压缩文件等不是文本文件

在FTP客户端可以用bin命令切换到二进制传输模式,

                    使用ascii命令切换到ASCII传输模式

 

二、通过二种模式 下载文件

1、[root@localhost root]#  chkconfig  --list  vsftpd   (查看vsftpd服务开启的状态)

image

 

2、开启ASCII传输模式(文本模式)

[root@localhost root]#  vi   /etc/vsftpd/vsftpd.conf

ascii_upload_enable=YES
ascii_download_enable=YES
(把上面二个 前面的#号去掉) 如下图

image

 

3、重启服务,使更改生效

[root@localhost root]# service   vsftpd    restart
关闭 vsftpd:                                              [  确定  ]
为 vsftpd 启动 vsftpd:                                [  确定  ]

4、切换到yanji,创建word.txt

[root@localhost root]# su  -  yanji

[yanji@localhost yanji]$ cat  >  word.txt
第一行
第二行
第三行

5、开始下载

第一种方法  (二进制传输模式)

在Windows中资源管理器中 地址栏 输入 ftp://192.168.170.4/,回车
    文件--》 登录 ,输入帐号和密码登录(除了root用户)

image
    把文件复制粘贴或者拖拉出

(但是 这种方法 只是一行文本,没有  换行)
    image

第二种方法:
    windows中的  命令行(或者Linux里面的也一样)

image

去D盘查看

image

正常显示

 

三、通过二种模式 上传文件

把D盘的word.txt上传到FTP

windows中的  命令行(或者Linux里面的也一样)

第一种方法 (二进制传输模式):

在Windows中资源管理器中 地址栏 输入 ftp://192.168.177.4,回车
    文件--》 登录 ,输入帐号和密码登录(除了root用户)
    把文件复制粘贴或者拖拉进去

 

但是这种方法,在Linux查看

如果word.txt 编码不是UTF-8就会乱码

image

如果word.txt 编码是UTF-8,样式也是有点问题

image

 

第二种方法:

image

这种结果跟上面的一样