快捷传输文件利器之sftp命令

1.背景

作为一名运维,有千万种方法从服务器上传或下载文件,但如果在客户的电脑上又不允许插U盘安装SSH客户端工具,怎么样去上传或下载文件呢?

现在基本上电脑就是Windows 10 以上的操作系统,如果满足此条件,可以使用自带的sftp命令来从Linux服务器下载文件,或者上传本机文件至服务器上。

2.登录

第一步需要登录到服务器上,登录语法如下:

sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host

此命令可以使用cmd命令提示符中键入使用。

快捷传输文件利器之sftp命令

如:

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

往期推荐:

  1. Linux中10个一线工作中常用 Shell 脚本

  2. 建议收藏!Linux下Java/Python启动管理脚本

  3. github加速访问及资源一秒代理下载


原文始发于微信公众号(运维贼船):快捷传输文件利器之sftp命令

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/176585.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!