热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何用ftp实现一键上传

本文主要介绍关于linux,服务器,运维的知识点,对【如何用ftp实现一键上传】和【ftp上传最快的软件】有兴趣的朋友可以看下由【Linux开发那些事儿】投稿的技术文章,希望该技术和经验能帮到你解

本文主要介绍关于linux,服务器,运维的知识点,对【如何用 ftp 实现一键上传】和【ftp上传最快的软件】有兴趣的朋友可以看下由【Linux开发那些事儿】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【Linux干货】相关技术问题。

ftp上传最快的软件

简介

ftp 是 Internet 标准文件传输协议的用户界面, 它允许用户与远程网络站点之间传输文件

使用 ftp 客户端上传文件,需要一个 ftp 服务器,本文主要介绍 ftp 客户端上传相关的命令,默认已经安装好FTP服务器了

FTP服务器的搭建在 Linux下如何部署FTP服务器 中有详细的介绍,感兴趣的可以去看看

安装

使用下面的命令安装 FTP 客户端

yum install ftp
常用选项

进入 ftp 命令行之后,就可以执行上传、下载相关的命令,由于命令比较多,下面只列出一些常用的命令以及一些常用选项

命令说明put本地文件上传到FTP服务器mput本地文件批量上传到FTP服务器getFTP服务器文件下载到本地mgetFTP服务器批量下载到本地delete删除FTP服务器上的文件mdelete批量删除FTP服务器上的文件lsFTP服务器当前目录中的文件详细信息lcd更换本地工作目录cdFTP服务器上更换目录cdupFTP服务器当前目录返回到上一层目录pwd当前位于FTP服务器上哪个目录nlist列出FTP服务器指定目录中的文件名列表binary设置传输类型为二进制传输open在指定的IP和端口上,与FTP建立一个连接bye终止与FTP服务器的会话,退出FTP客户端
选项说明-i文件批量传输时,关闭交互提示-n客户端连接上FTP服务器时,禁止自动登录-v打印FTP服务器返回的所有消息!本地机器上执行命令

上传单个文件

上传单个文件主要使用 put命令,它的格式是 put local-file [remote-file], 其中 local-file表示本地文件,默认是本地当前目录,remote-file是FTP服务器上的文件,如果不指定的话,上传到服务器之后,默认跟本地文件名同名

下面是把本地 /root/ftptest/haa.txt上传到服务器的 /files目录的步骤

步骤说明
1、输入帐号密码,登录FTP服务器

2、'!pwd' 命令表示本地机器当前目录

3、'!ls'  命令表示列出本地当前目录中的文件

4、'pwd'  命令是当前处于FTP服务器的哪个目录,这个目录是相对于用户锁定目录而言的,关于锁定目录请参考上一篇文章

   'cd files' 命令是服务器当前目录( '/' ) 切换到 '/files' 目录

   'ls'  是列出FTP服务器当前目录中的文件,从结果可以看出,服务器当前目录中没有任何文件

5、'binary' 以二进制模式上传,一般在上传之前设置下即可

6、'put haa.txt'  把本地当前目录中的 'haa.txt' 上传到服务器的 '/files' 目录中,上传成功之后,会有 'Transfer complete' 的提示

    如果把本地其他目录的文件上传到服务器的话,需要指定上传到服务器的文件名,
    
    比如:本地存在 /root/ftptest/test/test.txt 文件
    
    可以使用 'put ./test/test.txt  test.txt' 命令将它上传到服务器的 '/files' 目录

7、上传完成之后,执行 'nlist *' 命令查看下服务器当前目录中的文件列表,此处是用来确认是否上传成功,从结果可以看出,服务器当前目录的文件列表中有 'haa.txt' 文件,所以此次上传成功

8、操作完成之后,执行 'bye' 命令断开连接并退出FTP客户端

批量上传

批量上传主要使用 mput命令,后面可以接文件名列表,也可以接含有通配符的文件名,命令能正确获取通配符指代的文件,文件名之间以空格隔开

下面是将 /root/ftptest目录下的 haa.txt、hab.txt、ta.log、tb.log文件上传到服务器的 /files目录的步骤

上图省略了FTP登录输入帐号密码的步骤,其中第一条执行的命令是 ftp -i -v 192.168.70.20 48888

选项 -i 表示关闭交互提示,在批量上传的时候很有用, mput批量上传的时候,会逐个文件调用 put上传命令进行上传, 如果没有关闭交互提示,每次上传文件的时候都需要人为输入 y字符确认,当关闭了交互提示后,就能不间断的上传,直到所有的文件上传成功

步骤说明
1、本地当前所处目录

2、服务器当前所处目录,然后进入 '/files' 目录

3、以二进制模式上传

4、批量上传文件,'mput' 是批量上传的命令,后面可以接 文件名或者通配符组成的文件名,它们之间用空格隔开,这里的意思是批量上传 'haa.txt、hab.txt、ta.log、tb.log '

   执行 'mput haa.txt hab.txt *.log' 命令之后,会逐个文件的上传到服务器
   
   每个文件都会有上传结果信息返回,从图中的结果可以看出,总共上传了 'haa.txt hab.txt ta.log  tb.log' 四个文件,全部都上传成功
   
 5、上传操作之后,通过 'nlist *' 命令确认上传结果是成功的
 
 6、退出客户端

一键上传

每次上传文件都需要输入一些重复的 FTP 命令其实是比较繁琐的操作,可以将这些重复又繁琐的命令合并到一个脚本中,变成一个一键上传的 shell 脚本,具体的内容如下:

#!/bin/sh

#FTP用户名
FTP_USER=mytest
#FTP密码
FTP_PAWD=12345678
#FTP服务器IP
FTP_IP=192.168.70.20
#FTP服务器侦听端口(命令端口)
FTP_PORT=48888
#文件上传到FTP服务器的哪个目录
FTP_PATH=files
#本地对当前目录
LOCAL_PATH=`pwd`

#传入参数校验
if [ $# != 1 ]; then 
  echo "param count error..please input file"
  exit 1
fi

echo "begin ftp $1 ..."

#关闭交互提示、禁止自动登录
ftp -v -i -n<
  

脚本中有详细的注释,就不再做额外的说明了,此脚本只提供了一个基础的一键上传的模版,而且一次只能上传一个文件,大家可以根据自身的需求去扩充或者调整

本文《如何用 ftp 实现一键上传》版权归Linux开发那些事儿所有,引用如何用 ftp 实现一键上传需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Linux本身是非常安全可靠的,假使在Linux系统中有某个安全缺陷,由于Linu ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • HTTP协议相关的网络经典五层模型
    网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一 ... [详细]
author-avatar
千片叶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有