Linux中SCP文件传输工具详解
2023-12-28 14:04:13
在Linix中总是经常使用到不同服务器主机之间的文件传输需求,这个时候scp就成为我们的首选工具了。主流发行版的系统都是自带这个工具的,足以说明有必要研究一下。
命令参数
使用命令语法格式
scp [参数选项] [源文件] [目标地址]
scp [-1246BCpqrv] 操作的原文件 操作的目标文件
常见的参数如下:
参数 | 含义 |
---|---|
1 | 强制scp命令使用协议ssh1 不常用 |
2 | 强制scp命令使用协议ssh2 不常用 |
4 | 强制scp命令使用IPv4 |
6 | 强制scp命令使用IPv6 |
B | 以批处理模式运行 |
C | 大写的C 压缩传输 压缩后传输更快 但是压缩也需要时间 |
p | 保留原文件的修改时间、访问时间和访问权限 |
q | 不显示传输进度条 |
r | 递归传输整个目录 |
v | 显示详细的传输过程 |
P | 大写的P 指定端口号 用于非默认22端口的场景 |
i | 指定文件中读取传输时使用的SSH密钥 |
SCP文件传输案例
scp [参数选项] [源文件] [目标地址]
源文件和目标文件可以是本地的,也可以是远程的。
#本地格式
/xxx
#远程文件
[用户名@]主机IP:[文件路径]
本地文件传输到远程服务器,把redis.conf.txt 传输到192.168.0.45服务器上的/root/scpdemo2目录下:
scp redis.conf.txt root@192.168.0.45:/root/scpdemo2
从远程服务器传输到本地机器,把192.168.0.45服务器上的/root/scpdemo2目录的redis.conf.txt传输到本机/root/scpdemo目录下:
scp root@192.168.0.45:/root/scpdemo2/redis.conf.txt /root/scpdemo
传输目录,如果目录文件路径是一个目录的话 需要加参数-r
,如下示例就是把本机redisdir目录整体传输192.168.0.45机器/root目录下:
scp -r redisdir root@192.168.0.45:/root
综合示例
#指定端口
scp -P 2222 -r redisdir root@192.168.0.45:/root
#指定ssh rsa秘钥
scp -i ~/.ssh/id_rsa -r redisdir root@192.168.0.45:/root
#保留原文件的修改时间、访问时间和访问权限信息
scp -p -r redisdir root@192.168.0.45:/root
#显示详细传输信息
scp -v -r redisdir root@192.168.0.45:/root
掌握上述传输参数,工作中常用的传输需求应该没有太大问题了。
文章来源:https://blog.csdn.net/tao1992/article/details/135247986
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!