• 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博客]
  • 相关阅读:
    Linux 下的类似Windows下Everything的搜索工具
    windows和linux环境下制作U盘启动盘
    程序调试手段之gdb, vxworks shell
    LeetCode 1021. Remove Outermost Parentheses (删除最外层的括号)
    LeetCode 1047. Remove All Adjacent Duplicates In String (删除字符串中的所有相邻重复项)
    LeetCode 844. Backspace String Compare (比较含退格的字符串)
    LeetCode 860. Lemonade Change (柠檬水找零)
    LeetCode 1221. Split a String in Balanced Strings (分割平衡字符串)
    LeetCode 1046. Last Stone Weight (最后一块石头的重量 )
    LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3206345.html
Copyright © 2020-2023  润新知