文件传输协议(FTP:FileTransfer Protocol)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。文件传输协议是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。ftp使用TCP作为传输层协议,而tftp则是UDP协议。

Linux下有FTP服务,FTP分为服务器端和客户端,某台机器作为FTP服务器,需要启动vsftpd服务,另一台机器作为客户端,需要安装有ftp或者lftp的rpm包。

首先查看本机是否安装有ftp相关的rpm包

  1. [root@localhost Packages]# rpm -qa|grep ftp
  2. report-plugin-ftp-0.18-7.el6.i686
  3. vsftpd-2.2.2-6.el6.i686
  4. report-config-ftp-0.18-7.el6.i686
  5. gvfs-obexftp-1.4.3-9.el6.i686

如果没有安装,可以挂载RedHat的安装包,在Packages目录下查找

  1. [root@localhost nfs]# mount -t vboxsf RedHat_Share /home/Wentasy/share
  2. [root@localhost nfs]# ll
  3. total 4
  4. -rw-rw-rw-. 1 root root 12 Jul 21 10:22 file1
  5. [root@localhost nfs]# cd /home/Wentasy/s
  6. share/ software/ sysctl.conf
  7. [root@localhost nfs]# cd /home/Wentasy/share/
  8. [root@localhost share]# ll
  9. total 2862360
  10. -rwxrwxrwx. 1 root root 2931056640 Feb 23 2012 rhel-server-6.0-i386-dvd.iso
  11.  
  12. [root@localhost share]# mount -o loop rhel-server-6.0-i386-dvd.iso /mnt
  13. [root@localhost share]# cd /mnt
  14. [root@localhost share]# cd Packages
  15. [root@localhost Packages]# find . -name "*ftp*"
  16. ./ftp-0.17-51.1.el6.i686.rpm
  17. ./gvfs-obexftp-1.4.3-9.el6.i686.rpm
  18. ./lftp-4.0.9-1.el6.i686.rpm
  19. ./report-config-ftp-0.18-7.el6.i686.rpm
  20. ./report-plugin-ftp-0.18-7.el6.i686.rpm
  21. ./tftp-0.49-5.1.el6.i686.rpm
  22. ./tftp-server-0.49-5.1.el6.i686.rpm
  23. ./vsftpd-2.2.2-6.el6.i686.rpm

安装ftp-xxx.i686.rpm和lftp-xxxi686.rpm

  1. [root@localhost Packages]# rpm -ivh ftp-0.17-51.1.el6.i686.rpm
  2. warning: ftp-0.17-51.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
  3. Preparing... ########################################### [100%]
  4. 1:ftp ########################################### [100%]
  5. [root@localhost Packages]# rpm -ivh lftp-4.0.9-1.el6.i686.rpm
  6. warning: lftp-4.0.9-1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
  7. Preparing... ########################################### [100%]
  8. 1:lftp ########################################### [100%]

启动ftp服务器端的服务(服务名为vsftpd),客户端才可以访问。

  1. [root@localhost Packages]# service vsftpd status
  2. vsftpd is stopped
  3. [root@localhost Packages]# service vsftpd start
  4. Starting vsftpd for vsftpd: [ OK ]

进入/var/ftp/pub/目录,并创建一个文件file

  1. [root@localhost Packages]# cd /var/ftp/pub/
  2. [root@localhost pub]# echo "hello" > file
  3. [root@localhost pub]# ll
  4. total 4
  5. -rw-r--r--. 1 root root 6 Jul 21 10:40 file

以匿名用户登录到服务器,默认访问目录是/var/ftp/,我们可以下载file到当前目录,注意,以匿名用户登录不能进行上传操作。

  1. [Wentasy@localhost test]$ lftp 169.254.140.100
  2. lftp 169.254.140.100:/> get file
  3. get: Access failed: 550 Failed to open file.
  4. lftp 169.254.140.100:/> ls
  5. drwxr-xr-x 2 0 0 4096 Jul 21 02:40 pub
  6. lftp 169.254.140.100:/> cd pub
  7. lftp 169.254.140.100:/pub> pwd
  8. ftp://169.254.140.100/pub
  9. lftp 169.254.140.100:/pub> get file
  10. 6 bytes transferred
  11. lftp 169.254.140.100:/pub> exit
  12. [Wentasy@localhost test]$ ll
  13. total 4
  14. -rw-rw-r--. 1 Wentasy Wentasy 6 Jul 21 10:40 file
  15.  
  16. [Wentasy@localhost test]$ echo "hello world" > upload
  17. [Wentasy@localhost test]$ ll
  18. total 8
  19. -rw-rw-r--. 1 Wentasy Wentasy 6 Jul 21 10:40 file
  20. -rw-rw-r--. 1 Wentasy Wentasy 12 Jul 21 10:46 upload
  21. [Wentasy@localhost test]$ lftp 169.254.140.100
  22. lftp 169.254.140.100:~> put /home/Wentasy/test/upload .
  23. put: Access failed: 550 Permission denied. (upload)
  24. put: /home/Wentasy/test/.: Is a directory
  25. lftp 169.254.140.100:/> put /home/Wentasy/test/upload /root
  26. put: Access failed: 550 Permission denied. (upload)
  27. put: /root: Permission denied

以普通用户登录,注意,一般不建议采用root用户登录,而且生产环境也不会让你以root用户登录。用普通用户登录有两种方式:

  1. [Wentasy@localhost test]$ lftp Wentasy@169.254.140.100
  2. Password:
  3. lftp Wentasy@169.254.140.100:~> exit
  4. [Wentasy@localhost test]$ lftp -u Wentasy 169.254.140.100
  5. Password:
  6. lftp Wentasy@169.254.140.100:~> exit

登录成功后,我们进行下载(get)、上传(put)、上传目录(mirror-R)、下载目录(mirror)操作。

  1. lftp Wentasy@169.254.140.100:~> put /home/Wentasy/test/upload
  2. 12 bytes transferred
  3.  
  4. lftp Wentasy@169.254.140.100:~/test> mirror /home/Wentasy/test/ .
  5. Total: 1 directory, 3 files, 0 symlinks
  6. lftp Wentasy@169.254.140.100:~/test> mirror -R /home/Wentasy/test2 .
  7. Total: 1 directory, 3 files, 0 symlinks
  8. New: 3 files, 0 symlinks
  9. To be removed: 0 directories, 3 files, 0 symlinks

ftp使用方法

ftp [-vdng] [用户名:密码@<FQDN>]|<IP地址>|

< 主机名> <IP地址>:需要连接的FTP服务器的IP地址FQDN

-v :显示远程服务器的所有响应信息

-d :使用调试方式访问FTP服务器

-n :限制ftp的自动登录,即当登录到FTP服务器时,不自动执行  .netrc文件

进入FTP中可以可以使用的命令详解

![命令[参数]]  :在FTP客户端中执行命令

open <FQDN>|<IP地址>:打开指定的FTP服务器

bye :退出FTP会话过程

cd 目录:切换FTP服务器的当前目录。

dir [目录][本地文件]:显示FTP服务器目录,并将结果存入本地文件

put 文件:将单个文件上传到FPT服务器

mput: 将多个文件上传到FTP服务器

get 文件:从FTP服务器下载单个文件到本地当前目录

mget 文件:从FTP服务器下载多个文件到本地当前目录

delete 文件名:FTP服务器上的文件

case :在使用mget时,将远程主机文件名中的大写转为小写字母

pwd :显示远程主机的当前工作目录。

rmdir 目录名:删除FTP服务器上的目录

lftp命令使用

lftp ftp://[用户名:密码@]<FQDN>|<IP地址> [:端口]

lftp ftp://<FQDN>|<IP 地址> -p port -u 用户名,密码

help:查看全部可操作的命令

ls : 显示FTP服务器文件列表

!ls: 显示本地文件列表

cd: 切换远端目录

!cd: 切换本地目录

get: 从FTP服务器下载单个文件到本地当前目录

mget: 从FTP服务器下载多个文件到本地当前目录

pget :使用多个线程来下载远端文件

put : 将单个文件上传到FTP服务器

mput :将多个文件上传到FTP服务器

mv :移动FTP服务器上的文件

rm: 删除FTP服务器上的文件 (使用参数 -r 递归删除)

mrm: 删除FTP服务器上的多个目录

mkdir :在FTP服务器上建立目录

pwd : 显示日前FTP服务器所有目录

lpwd: 显示本地目录

exit :退出ftp会话过程

参考资料

http://baike.baidu.com/view/103832.htm?fromId=369

http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956538.html

http://www.linuxidc.com/Linux/2012-10/73157.htm

  1. 我的邮箱:wgbno27@163.com 新浪微博:@Wentasy27
  2. 微信公众平台:JustOracle(微信号:justoracle
  3. 数据库技术交流群:336882565(加群时验证 From CSDN XXX
  4. Oracle交流讨论组:https://groups.google.com/d/forum/justoracle By Larry Wen
 
@Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]

Redhat Linux FTP配置的更多相关文章

  1. Redhat linux DNS配置指南(SCANIP配置手册)

    在oracle 11g的RAC中增加了SCAN IP,而使用 SCAN IP的一种方式就是使用DNS,这里介绍在Redhat Linux 5.4中DNS的详细配置操作在配置DNS之前修改主机名Redh ...

  2. Redhat Linux网卡配置与绑定

    Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失. 相关的 ...

  3. Redhat Linux NFS配置

    Linux下,All deviceis file,所有的设备都是文件.当我们需要把某些文件夹就或者文件共享给其他用户,就可以使用网络文件系统. 本文介绍Redhat Linux下的NFS配置. 在使用 ...

  4. linux ftp配置及实操

    一.基础知识: 1.ftp:file transfer protocal 及文件传输协,工作与应用层. 2.ftp协议的实现: 服务器端实现软件:vsftpd,pureftpd,filezilla s ...

  5. RedHat Linux RHEL6配置本地YUM源

    YUM是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog ...

  6. linux FTP配置详解

    一.vsftpd说明: LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd. 访问 ...

  7. Linux FTP配置

    Linux下实现ftp的软件有很多,最常见的有vsftpd,Wu-ftpd和proftp等.访问ftp服务器时需要验证,只有经过了ftp服务器的验证用户才能访问和传输文件.这里我们用vsftpd,vs ...

  8. Linux FTP的安装与配置

    Linux FTP的安装与配置   ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service  ...

  9. Linux FTP的安装与配置(转)

    Linux FTP的安装与配置   ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service  ...

随机推荐

  1. 分享实用的JavaScript代码库

    1 var keyCodeMap = { 2 8: 'Backspace', 3 9: 'Tab', 4 13: 'Enter', 5 16: 'Shift', 6 17: 'Ctrl', 7 18: ...

  2. java对对象排序

    一.前言 有时我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现,一种方法是类实现Comparable<T>接口,然后调用Collections.so ...

  3. C++实现平衡二叉树

    1.概念 平衡二叉树(AVL Tree)首先要满足二叉树的定义,如下 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 若左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若右子树不空, ...

  4. 镣铐之舞:美团安全工程师Black Hat USA演讲

    背景 2018年8月9日,全球顶级安全会议——Black Hat USA在美国拉斯维加斯的曼德勒海湾会议中心落下了帷幕,这场盛会在全球黑客心中几乎等同于“世界杯”和“奥斯卡”一样的存在.这场一年一度的 ...

  5. Python如何将RGB图像转换为Pytho灰度图像?

    我正尝试使用matplotlib读取RGB图像并将其转换为灰度.在matlab中,我使用这个: 1 img = rgb2gray(imread('image.png')); 在matplotlib t ...

  6. hdu1312 Red and Black

    I - Red and Black Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  7. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析

    关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...

  8. EXECL中怎么中把换行符换成任意字符

    作文本处理的时候,数据是从execl中拷贝出来的,但是execl中是带有格式的. 导出到txt文本中的时候会出现换行,不满足一行一条数据的要求. 公式 =SUBSTITUTE(A1,),"A ...

  9. [JOISC2014]水筒

    OJ题号: BZOJ4242.AtCoder-JOISC2014E 题目大意: 给你一个h*w的网格图,每个格子可能是空地.障碍物和建筑物. 你只可以从空地上走过或者从建筑物中穿过. 建筑物总共有p个 ...

  10. 保存全局Crash报告

    CrashHandler.java UncaughtException处理类,当程序发生Uncaught异常的时候,有该类来接管程序,并记录发送错误报告 package  com.amanda;imp ...