Linux快速搭建FTP服务器

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。

一般在各种linux的发行版中,默认带有的ftp软件是vsftp,从各个linux发行版对vsftp的认可可以看出,vsftp应该是一款不错的ftp软件。

 

1、检查安装vsftpd软件

使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,

如果没有安装,使用YUM命令进行安装。

 

2、启动服务 

使用vsftpd软件,主要包括如下几个命令:

启动ftp命令#service vsftpd start

停止ftp命令#service vsftpd stop

重启ftp命令#service vsftpd restart

 

3、vsftpd的配置

ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:

ftpusers    该文件用来指定那些用户不能访问ftp服务器。

user_list   该文件用来指示的默认账户在默认情况下也不能访问ftp

 

4、以匿名用户为例,我们去掉配置文件vsftpd.conf 里面以下

anon_upload_enable=YES

anon_mkdir_write_enable=YES

两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。

vsftpd.conf   vsftpd的主配置文件

 

如何在命令行中使用 ftp 命令上传和下载文件?

步骤 1: 建立 FTP 连接

想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟上 FTP 服务器的域名 'domain.com' 或者 IP 地址

 

例如:

  1. ftp domain.com
  2. ftp 192.168.0.1
  3. ftp user@ftpdomain.com

注意: 本例中使用匿名服务器。

替换下面例子中 IP 或域名为你的服务器地址。

FTP 登录

 

步骤 2: 使用用户名密码登录

绝大多数的 FTP 服务器是使用密码保护的,因此这些 FTP 服务器会询问'username'和'password'.

如果你连接到被称作匿名 FTP 服务器(LCTT 译注:即,并不需要你有真实的用户信息即可使用的 FTP 服务器称之为匿名 FTP 服务器),可以尝试anonymous作为用户名以及使用空密码:

  1. Name: anonymous
  2. Password:

之后,终端会返回如下的信息:

  1. 230Login successful.
  2. Remote system type is UNIX.
  3. Using binary mode to transfer files.
  4. ftp>

登录成功。

FTP 登录成功

 

步骤 3: 目录操作

FTP 命令可以列出、移动和创建文件夹,如同我们在本地使用我们的电脑一样。ls可以打印目录列表,cd可以改变目录,mkdir可以创建文件夹。

 

使用安全设置列出目录

  1. ftp>ls

服务器将返回:

  1. 200 PORT command successful.Considerusing PASV.
  2. 150Here comes the directory listing.
  3. directory list
  4. ....
  5. ....
  6. 226Directory send OK.

打印目录

 

改变目录:

改变目录可以输入:

  1. ftp>cd directory

服务器将会返回:

  1. 250Directory succesfully changed.

FTP中改变目录

 

步骤 4: 使用 FTP 下载文件

在下载一个文件之前,我们首先需要使用lcd命令设定本地接受目录位置。

  1. lcd /home/user/yourdirectoryname

如果你不指定下载目录,文件将会下载到你登录 FTP 时候的工作目录。

现在,我们可以使用命令 get 来下载文件,比如:

  1. getfile

文件会保存在使用lcd命令设置的目录位置。

服务器返回消息:

  1. local:file remote:file
  2. 200 PORT command successful.Considerusing PASV.
  3. 150Opening BINARY mode data connection forfile(xxx bytes).
  4. 226File send OK.
  5. XXX bytes received in x.xx secs (x.xxx MB/s).

使用FTP下载文件

使用FTP下载文件

下载多个文件可以使用通配符及 mget 命令。例如,下面这个例子我打算下载所有以 .xls 结尾的文件。

  1. mget *.xls

步骤 5: 使用 FTP 上传文件

完成 FTP 连接后,FTP 同样可以上传文件

使用 put命令上传文件:

  1. put file

当文件不再当前本地目录下的时候,可以使用绝对路径:

  1. put /path/file

同样,可以上传多个文件:

  1. mput *.xls

 

步骤 6: 关闭 FTP 连接

完成FTP工作后,为了安全起见需要关闭连接。有三个命令可以关闭连接:

  1. bye
  2. exit
  3. quit

任意一个命令可以断开FTP服务器连接并返回:

  1. 221Goodbye

需要更多帮助,在使用 ftp 命令连接到服务器后,可以使用help获得更多帮助。

转载于:https://www.cnblogs.com/liuchuanfeng/p/6665087.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 连接 监控_mysql监控优化(一)连接数和缓存

一、mysql的连接数MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,连接数少的话,在大并发下连接数会不够用,会有很多线程在等待其他连接释放,就可能会导…

day35-hibernate映射 03-Hibernate持久态对象自动更新数据库

持久态对象一个非常重要的能力:自动更新数据库。 package cn.itcast.hibernate3.demo1;import static org.junit.Assert.*;import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test;import cn.itcast.utils.HibernateUtils;/*** Hibernate的测…

go 删除 文件 某行_Go实战--用echo嵌入静态资源

生命不止,继续 go go go !!!使用 Go 开发应用的时候,有时会遇到需要读取静态资源的情况。比如开发 Web 应用,程序需要加载模板文件生成输出的 HTML。在程序部署的时候,除了发布应用可执行文件外,还需要发布依赖的静态资…

python 运维自动化之路 Day2

学习内容: 1、模块初识 2、Pyc是什么 3、Python数据类型 4、数据运算 5、bytes数据类型 6、列表和元组的使用 7、字符串常用操作 8、字典的使用 1、模块初识 如果用 python 解释器来编程,从 Python 解释器退出再进入,那么你定义的所有的方法和…

aMDcpu不支持mysql_Oracle 11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579

通过查询meatlink原因是在ORACLE11.2.0.1 AMD 64位CPU下安装了32位的操作系统,触发了bug 8670579,那要解决该问题只需打上86705bug 8670579硬件信息:CPU:AMD X6在执行dbca的时候也报错如下:[Oracleyorkshi ~]$ dbca## An unexpect…

《网络攻防》第6周作业

20169310 2016-2017-2 《网络攻防实践》第6周学习总结 教材学习内容总结 本周主要学习了《网络攻防---技术与实践》第5、6章的内容,主要学习了 TCP/IP网络协议攻击 和 网络安全防范技术 TCP/IP网络协议攻击概述 网络安全的属性:机密性 、完整性 、可用性…

nios ii小实验——第一个demo指导书

1.新建工程:打开Quartus II 13.0,点击File->New Project Wizard,点击Next后可以看到如图2所示的对话框,选择工程路径给工程命名(注意:工程名必须和顶层模块名一致,否则编译会报错&#xff09…

算法交易系列研究之一

一、算法交易的概念 (一)什么是算法交易 算法交易(Algorithmic Trading)是一种程序化交易方式,它将交易者和市场有机地联系起来。算法交易通常可以减少这两者之间的摩擦,或者说在一定程度上可以降低交易对市…

Spring3系列7- 自动扫描组件或Bean

原文地址 http://www.cnblogs.com/leiOOlei/p/3547589.html 一、 Spring Auto Scanning Components —— 自动扫描组件     1. Declares Components Manually——手动配置component 2. Auto Components Scanning——自动扫描组件 3…

CI Weekly #17 | flow.ci 支持 Java 构建以及 Docker/DevOps 实践分享

这周一,我们迫不及待写下了最新的 changelog —— 项目语言新增「Java」。创建 Java 项目工作流和其它语言项目配置很相似,flow.ci 提供了默认的 Java 项目构建流程模版,快去试试吧~ 最近 flow.ci 2017 招聘计划正式启动&#xff…

python选取tensor某一维_Pytorch的Tensor操作(1)

类型推断torch.randn():随机初始化a.type():返回类型type():返回基本类型isinstance() :检查类型cuda会影响数据类型标量维度(dimention)为0的标量标量的shape:返回类型为【】(空的list),返回长度也为0a.di…

201521123014 《Java程序设计》第8周学习总结

201521123014 《Java程序设计》第8周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。 泛型(编写的代码可被不同类型的对象所重用) Java中一个集合可以放任何类型的对象,因为…

【4.0】jdbcTemplate

1.什么是jdbcTemplate? 2.使用jdbcTemplate 3.crud操作 参考博文:http://blog.csdn.net/u014800380/article/details/64125653 4.采用配置文件的方式使用jdbcTemplate 参考博文:http://suyanzhu.blog.51cto.com/8050189/1563219/ 参考博文原文&#x…

基于MODBUS协议的单片机与(串口屏)触摸屏通信(图文)

基于MODBUS协议的单片机与(串口屏)触摸屏通信(图文) 导读:触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编…

【转】C#之继承

C#之继承 一.继承的类型  在面向对象的编程中,有两种截然不同继承类型:实现继承和接口继承  1.实现继承和接口继承  *实现继承:表示一个类型派生于基类型,它拥有该基类型的所有成员字段和函数。在实现继承中,派生…

java 学习计划_Java学习计划范例

Java学习计划范例Java学习计划好的计划是成功的一半,今天是在创新思维的第一节课,在这门课程的开始,一个有策略的、有目的性的计划是非常必要的,为了在以后的学习中能够达到最好的.效果,"坚持"是一把雕刻刀&…

SQL Server 2012自动备份

SQL 2012和2008一样,都可以做维护计划,来对数据库进行自动的备份。 现在做这样一个数据库维护的计划,每天0点对数据库进行差异备份,每周日0点对数据库进行完全备份,并且每天晚上10点删除一次过期备份(两个星…

mysql查逻辑表的分片规则_MySQL(19) Mycat分片(分库分表)配置

一、前言本文将基于主从复制,读写分离的环境基础上进行一个简单的分片(分库分表)配置二、Mycat分片配置mycat分片主要在scheam.xml,rule.xml这2个表中配置① scheam.xml:配置逻辑表以及对应使用的分片规则select user()这里小编主要对t_user表…

JS取消浏览器文本选中的方法

一 、问题的出现 今天在使用Easy-UI 的messager.alert()方法时候出现浏览器文本被选中,不知道其中是什么原因,如下图所示。 二 、解决思路 我最后的思路时在弹出消息框的同时,取消浏览器文本的选择,最后查找资料编写如下方法。  …

linux 脚本 java_Linux 通过脚本执行Java程序

由于要统计不同的IP,代码中应用了HashSet来存放IP地址。上述Java程序是在Windows下编写的,如果在Linux服务器上运行,只需要把上面文件的路径和文件更换了就可以了。2.编写好java程序后,将java程序打成jar文件(环境Linux)我将上述测…