SFTP传送:若使用SecureCRT,按下ALT+P开启新的会话即进行sftp操作
输入help命令,显示该SFTP提供所有的命令
cd 路径 更改远程目录到“路径”
lcd 路径 更改本地目录到“路径”
exit 退出 sftp
help 显示这个帮助文本
get 远程路径 下载文件
ls [选项] [路径] 显示远程目录列表
lls [选项] [路径] 显示本地目录列表
mkdir 路径 创建远程目录
lmkdir 路径 创建本地目录
mv oldpath newpath 移动远程文件
open [用户@]主机[:端口] 连接到远程主机
put 本地路径 上传文件
pwd 显示远程工作目录
lpwd 打印本地工作目录
quit 退出 sftp
rmdir 路径 移除远程目录
lrmdir 路径 移除本地目录
rm 路径 删除远程文件
lrm 路径 删除本地文件
l指的是local,也就是和本地有关的操作。
关于本地上传至服务器端,举个例子:比如想把本地存在C:UsersDesktopDoc里的所有csv文件导入至Linux远程服务器端 /tmp/datafile里:
lcd C:UsersDesktopDoc #进入本地路径
lls *.csv #查看本地当前路径所有csv文件
cd /tmp/datafile #进入远端服务器存储路径
ls #查看服务器存储路径的所有文件
put *.csv #将本地路径里所有csv文件放至远端的存储路径
quit #退出sftp
- 批量上传
#!/bin/bash
#SFTP配置信息
#用户名
USER=root
#密码
PASSWORD=5EYS40T04BMF
#待上传文件根目录
SRCDIR=/u02/dab/sftpFiles
#FTP目录
DESDIR=/u01/sftpFiles
#IP
IP=192.168.10.11
#端口
PORT=22022
#获取文件
cd ${SRCDIR} ;
#目录下的所有文件
#FILES=`ls`
#修改时间在执行时间五分钟之前的xml文件
FILES=`find ${SRCDIR} -mmin -50 -name '*.xml'`
for FILE in ${FILES}
do
echo ${FILE}
#发送文件 (关键部分)
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
cd ${DESDIR}/
lcd ${SRCDIR}
put ${FILE}
by
EOF
2. 单文件
#!/bin/bash
USER=root
#密码
PASSWORD=5EYS40T04BMF
#下载文件目录
SRCDIR=/u02/dab
#FTP目录(待下载文件目录)
DESDIR=/u01/sftpFiles
#银联IP
IP=192.168.1.10
#端口
PORT=22022
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT}<<EOF
cd ${DESDIR}
lcd ${SRCDIR}
#需要下载的文件为text.xml
get text.xml
by
EOF
FTP传送:
#!/bin/bash
FTILE_NAME=$1
ftp -n <<- EOF
open 10.10.21.103
user user 123
cd test
bin
put $FTILE_NAME
bye
EOF
链接:https://jingyan.baidu.com/article/22fe7ced209c073003617f47.html
版权声明:本文为CSDN博主「liu1007735214」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012204058/article/details/53160419