一、基本知识

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. spring amqp rabbitmq fanout配置

    基于spring amqp rabbitmq fanout配置如下: 发布端 <rabbit:connection-factory id="rabbitConnectionFactor ...

  2. java多线程功力

    一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式.多线程编程可以使程序具有两条或两条以上的并发执行线索. 进程是指一个内存中运行的应用程序,每个进程都有自己 ...

  3. vue安装

     条件:已安装 node&npm 1.安装 cnpm :                      $ npm install -g cnpm --registry=https://regis ...

  4. 选中repeater表格中的一行使其变色

    //table表中点击行,选中的那一行颜色会变成浅蓝色(颜色可以自己设定) //其中sellerTable 为table的id, $("#sellerTable tbody tr" ...

  5. Nmap源码分析(脚本引擎)

    Nmap提供了强大的脚本引擎(NSE),以支持通过Lua编程来扩展Nmap的功能.目前脚本库已经包含300多个常用的Lua脚本,辅助完成Nmap的主机发现.端口扫描.服务侦测.操作系统侦测四个基本功能 ...

  6. 【转】扫盲 同步利器、分布式网盘--BT Sync

    原文地址:http://program-think.blogspot.com/2015/01/BitTorrent-Sync.html先向大伙儿宣布个好消息——经过多位热心读者的大力支持,经过几天的努 ...

  7. 分配给 主机的 Evaluation Mode 许可证已过期。建议升级许可证。

    参考文献 http://247its.wordpress.com/2012/04/02/new-build-esxi-5-complaints-licence-has-expired/ http:// ...

  8. 在android用Get方式发送http请求

    烦人的日子终于过去啦,终于又可以写博客啦,对自己的android学习做个总结,方便以后查看...... 一.在android用Get方式发送http请求,使用的是java标准类,也比较简单. 主要分以 ...

  9. 内外分离接口依赖及UIScrollView知识点

    1:Class Extension 还能巧妙的解决一个接口暴露问题 有些属性或者方法对外可以提供,有些只针对内部的类进行调用: // Sark.framework/Sark.h @interface ...

  10. IOS NSTimer和CADisplayLink的用法

    IOS--NSTimer和CADisplayLink的用法 NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次.CADisplayLink默认每秒运行60次,通过 ...