zoukankan      html  css  js  c++  java
  • Redhat Linux FTP配置

            文件传输协议(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包

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

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

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

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

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

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

    [root@localhost Packages]# service vsftpd status
    vsftpd is stopped
    [root@localhost Packages]# service vsftpd start
    Starting vsftpd for vsftpd:                                [  OK  ]

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

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

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

    [Wentasy@localhost test]$ lftp 169.254.140.100
    lftp 169.254.140.100:/> get file
    get: Access failed: 550 Failed to open file.
    lftp 169.254.140.100:/> ls
    drwxr-xr-x    2 0        0            4096 Jul 21 02:40 pub
    lftp 169.254.140.100:/> cd pub
    lftp 169.254.140.100:/pub> pwd
    ftp://169.254.140.100/pub
    lftp 169.254.140.100:/pub> get file 
    6 bytes transferred
    lftp 169.254.140.100:/pub> exit
    [Wentasy@localhost test]$ ll
    total 4
    -rw-rw-r--. 1 Wentasy Wentasy 6 Jul 21 10:40 file
    
    [Wentasy@localhost test]$ echo "hello world" > upload
    [Wentasy@localhost test]$ ll
    total 8
    -rw-rw-r--. 1 Wentasy Wentasy  6 Jul 21 10:40 file
    -rw-rw-r--. 1 Wentasy Wentasy 12 Jul 21 10:46 upload
    [Wentasy@localhost test]$ lftp 169.254.140.100
    lftp 169.254.140.100:~> put /home/Wentasy/test/upload .
    put: Access failed: 550 Permission denied. (upload)              
    put: /home/Wentasy/test/.: Is a directory
    lftp 169.254.140.100:/> put /home/Wentasy/test/upload /root
    put: Access failed: 550 Permission denied. (upload)
    put: /root: Permission denied

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

    [Wentasy@localhost test]$ lftp Wentasy@169.254.140.100
    Password: 
    lftp Wentasy@169.254.140.100:~> exit    
    [Wentasy@localhost test]$ lftp -u Wentasy 169.254.140.100
    Password: 
    lftp Wentasy@169.254.140.100:~> exit  

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

    lftp Wentasy@169.254.140.100:~> put /home/Wentasy/test/upload
    12 bytes transferred
    
    lftp Wentasy@169.254.140.100:~/test> mirror /home/Wentasy/test/ .
    Total: 1 directory, 3 files, 0 symlinks
    lftp Wentasy@169.254.140.100:~/test> mirror -R /home/Wentasy/test2 .
    Total: 1 directory, 3 files, 0 symlinks
    New: 3 files, 0 symlinks
    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


    我的邮箱wgbno27@163.com  新浪微博@Wentasy27
      微信公众平台:JustOracle(微信号:justoracle)
      数据库技术交流群:336882565(加群时验证 From CSDN XXX)
      Oracle交流讨论组https://groups.google.com/d/forum/justoracle
      By Larry Wen
    


    katoon Sina CSDN
    @Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]
  • 相关阅读:
    扩展AuthorizeAttribute
    扩展ValidationAttribute 1
    动态linq to list排序
    CSS属性书写顺序及命名规则
    增强网站可访问性的25种方法
    -webkit-filter是神马?
    docker安装
    docker的体系结构
    docker和虚拟化
    初识docker——docker基本概述
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3206345.html
Copyright © 2011-2022 走看看