一、基本知识

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服务开启的状态)

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

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

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

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用户)


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

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

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

去D盘查看

正常显示

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

把D盘的word.txt上传到FTP

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

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

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

但是这种方法,在Linux查看

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

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

第二种方法:

这种结果跟上面的一样

8、FTP,二种文本传输模式的更多相关文章

  1. FTP文件乱码和传输模式解释

    转: FTP文件乱码和传输模式解释 2017年02月18日 10:50:03 -Hermes- 阅读数:12112更多 所属专栏: 异常解决方案急诊室   版权声明:大侠,在转载时请注明出处,小弟不胜 ...

  2. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  3. Java使用SFTP和FTP两种连接方式实现对服务器的上传下载 【我改】

    []如何区分是需要使用SFTP还是FTP? []我觉得: 1.看是否已知私钥. SFTP 和 FTP 最主要的区别就是 SFTP 有私钥,也就是在创建连接对象时,SFTP 除了用户名和密码外还需要知道 ...

  4. 计算机文件基本上分为二种:二进制文件和 ASCII(也称纯文本文件)

    文本文件是可以看到的字符, 二进制文件是不可视字符,如图片. 二进制文件: 包含在 ASCII及扩展 ASCII 字符中编写的数据或程序指令的文件.计算机文件基本上分为二种:二进制文件和 ASCII( ...

  5. mysql 远程连接数据库的二种方法

    http://blog.csdn.net/freecodetor/article/details/5799550 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5 ...

  6. IIS7.5使用web.config设置伪静态的二种方法

    转自 网上赚钱自学网 .http://www.whosmall.com/post/121 近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两 ...

  7. CSS中常见的6种文本样式

    前面的话 CSS文本样式是相对于内容进行的样式修饰.由于在层叠关系中,内容要高于背景.所以文本样式相对而言更加重要.有些人对文本和字体样式之间的不同不太了解,简单地讲,文本是内容,而字体则用于显示这个 ...

  8. Dynamic CRM 2013学习笔记(二十)字段改变事件的二种实现方法

    CRM里有二种方式实现字段change事件,一种是在form里,一种完全通过js来实现.本文介绍下二者的用途及区别. 1. Form里用法 这种方式估计其实也是添加一个js的function. 这种方 ...

  9. SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件二--获取注入的bean的二种方式

    前言: spring容器以xml的形式注入bean,然后可以在类中获取,获取的形式主要有二种:第一种最简单--采用@Resource 或@Autowired关键字在加载spring文件时将bean注入 ...

随机推荐

  1. Java数组排序和查找

    Java 1.2 添加了自己的一套实用工具,可用来对数组或列表进行排列和搜索.这些工具都属于两个新类的"静态"方法.这两个类分别是用于排序和搜索数组的Arrays,以及用于排序和搜 ...

  2. 转【实战体验几种MySQLCluster方案】

    实战体验几种MySQLCluster方案 1.背景 MySQL的cluster方案有很多官方和第三方的选择,选择多就是一种烦恼,因此,我们考虑MySQL数据库满足下三点需求,考察市面上可行的解决方案: ...

  3. C# 如何在Excel 动态生成PivotTable

    Excel 中的透视表对于数据分析来说,非常的方便,而且很多业务人员对于Excel的操作也是非常熟悉的,因此用Excel作为分析数据的界面,不失为一种很好的选择.那么如何用C#从数据库中抓取数据,并在 ...

  4. jQuery 浮动标签插件,帮助你提升表单用户体验

    浮动标签模式(Float Label Pattern)是最新流行的一种表单输入域的内容提示方式,当用户在输入框输入内容的时候,原先占位符的内容向上移动,显示在输入的内容的上面.这里推荐的这款 jQue ...

  5. go语言 类型:字符串

    示例 package main import ( "fmt" ) func main() { var str1 string // 声明一个字符串变量 str1 = "H ...

  6. 详细解读XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

    本文主要参考:MDN 分析并操作 responseXML属性 如果你使用 XMLHttpRequest 来获得一个远程的 XML 文档的内容,responseXML 属性将会是一个由 XML 文档解析 ...

  7. 操作系统开发系列—9.Loader

    一个操作系统从开机到开始运行,大致经历“引导—>加载内核入内存—>跳入保护模式—>开始执行内核”这样一个过程.也就是说,在内核开始执行之前不但要加载内核,而且还有准备保护模式等一系列 ...

  8. 【转】Android NFC学习笔记

    一:NFC的tag分发系统 如果想让android设备感应到NFC标签,你要保证两点 1:屏幕没有锁住 2:NFC功能已经在设置中打开 当系统检测到一个NFC标签的时候,他会自动去寻找最合适的acti ...

  9. iOS-点击推送消息跳转处理

    当用户通过点击通知消息进入应用时 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDi ...

  10. 小试ildasm,ilasm,ilspy

    选择了微耕的软件(为什么选择它,因为微耕的二次开发实在太牛了,只给文档,一切技术问题都不回答.文档也是只公开基本的东西) 第一个功能:换文字 第二个功能:插入一个新的程序集,在做某些事情前先做我想做的 ...