sftp是什么?
sftp(Secure File Transfer Protocol)安全的文件传输协议。
sftp是ssh的一部分,使用sftp时也是通过ssh建立一个可靠的通信线路来进行文件传输的。
sftp下可用的指令:
ls、mkdir、rmdir、pwd、chgrp、chown、chmod、ln、rm、exit、bye、quit
对于客户端可用的指令:
lcd(切换目录)、lls、lpwd
上传/下载文件的格式:
将文件由本机上传到远程主机:put [本机文件] ,文件会存储到当前远程主机的目录下。
将文件由远程主机下载下来:get [远程主机文件],文件会存储在当前本机所在的目录当中。
使用windows的xshell连接sftp:
[C:\~]$ sftp root@172.24.8.128
sftp:/root> put E:\test.txt 将windows下的文件上传至linux的当前目录下(无法上传目录也无法指定目录路径)
sftp:/root> get ceshi 将linux当前目录的文件下载至windows当前的目录,lcd可查看当前客户端目录(无法上传目录也无法指定目录路径)
使用linux客户端连接sftp:
[root@client ~]# sftp root@172.24.8.128
(1)将客户端的client目录上传至服务端的test目录
sftp> pwd
Remote working directory: /test
sftp> lpwd
Local working directory: /client
使用put命令将客户端文件上传至服务端:
sftp> mkdir /test/client
sftp> put -r /client/ /test
Uploading /client/ to /test/client
Entering /client/
/client/upload 100% 5 0.0KB/s 00:00
检查文件:
(2)将服务端目录linuxtest下载到客户端client目录
sftp> pwd
Remote working directory: /linuxtest
sftp> lpwd
Local working directory: /client
使用get命令将服务端文件下载到客户端上:
sftp> get -r /li
lib/ lib64/ linuxtest/
sftp> get -r /linuxtest/ /client
Fetching /linuxtest/ to /client/linuxtest
Retrieving /linuxtest
/linuxtest/download 100% 5 0.0KB/s 00:00
检查文件:
sftp> lls /client
linuxtest upload
注:上传和下载命令用法一致