作者:千片叶 | 来源:互联网 | 2023-08-30 11:22
本文主要介绍关于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版权协议。