1.背景
作为一名运维,有千万种方法从服务器上传或下载文件,但如果在客户的电脑上又不允许插U盘安装SSH客户端工具,怎么样去上传或下载文件呢?
现在基本上电脑就是Windows 10 以上的操作系统,如果满足此条件,可以使用自带的sftp命令来从Linux服务器下载文件,或者上传本机文件至服务器上。
2.登录
第一步需要登录到服务器上,登录语法如下:
sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host
此命令可以使用cmd命令提示符中键入使用。

如:
sftp root@127.0.0.1
sftp root@127.0.0.1:/home/xx
2.上传
在登录的基础上,将本地文件上传到远程目录,可使用以下语法:
#上传一个本地文件到远程目录
put local-file [remote-file]
#上传一个本地目录到远程目录
put -r local-dir [remote-file]
#上传多个本地文件(支持通配符*)到远程目录
mput local-files [remote-file]
#上传多个本地目录(支持通配符*)到远程目录
mput -r local-files [remote-file]
例如:
#上传一个本地文件到远程目录
put f1.txt remote_dir
#上传一个本地目录到远程目录
put -r local_dir remote_dir
#上传多个本地文件到远程目录
mput f*.txt remote_dir
#上传一个本地目录到远程目录
mput -r local_dir* remote_dir
3.下载
从下载远程服务器上的文件到本地,使用以下语法:
#下载远程文件到本地目录
get remote-file [local-file]
#下载远程目录到本地目录
get -r remote-dir [local-file]
#下载多个远程文件(支持通配符*)到本地目录
mget remote-files [local-file]
#下载多个远程目录(支持通配符*)到本地目录
mget -r remote-dirs [local-file]
例如:
#下载一个远程文件到本地目录
get f1.txt local_dir
#下载一个远程目录到本地目录
get -r local_dir local_dir
#下载多个远程文件(支持通配符*)到本地目录
mget f*.txt local_dir
#下载多个远程目录(支持通配符*)到本地目录
mget -r local_dir* local_dir
4.远程常见命令
远程常规命令执行和本地一样,例如:
#远程文件
rm [remote-files]
#进入远程目录
cd remote-directory
#修改远程文件属性
chmod mode file-name
5.执行本地命令
sftp登录后,若要执行本地命令,有两种方式。
方式一,部分命令只需在常规命令前加l,例如:
#查看当前目录,常规命令ls
lls
#查看当前路径,常规命令pwd
lpwd
方式二,在命令前加!,即格式为!command,例如:
#在本地机器创建t.txt文件
!touch t.txt
6.查看帮助
使用以下命令查看sftp的帮助文件:
#直接查看
man sftp
#登录sftp后查看
help
往期推荐:
原文始发于微信公众号(运维贼船):快捷传输文件利器之sftp命令
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/176585.html