侧边栏壁纸
  • 累计撰写 119 篇文章
  • 累计创建 60 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Linux中使用scp命令通过ssh上传或下载文件(夹)

码峰
2022-10-12 / 0 评论 / 0 点赞 / 212 阅读 / 556 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-10-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

在Linux中,有时候需要写脚本完成一些文件上传下载的操作,从而节省一些手动拷贝文件的操作,使用scp命令通过ssh协议,可以实现文件或文件夹的上传和下载,使用sshpass命令,可是的scp命令带上密码,避免手动输入,在一些需要大量自动化的场合非常有用。

scp命令

scp命令主要用于Linux中不同主机间复制文件和目录。
scp是Linux系统下基于ssh登录进行安全的远程文件拷贝命令。
scp是加密的。

命令格式
scp [参数] [原路径] [目标路径]
命令参数:
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。
-P port 注意是大写的P, port是指定数据传输用到的端口号

上传本地文件到服务器

scp /path/filename username@servername:/path/

例如:scp /opt/data/file.txt root@192.168.1.3:/opt/ 把本机/opt/data/目录下的file.txt文件上传到192.168.1.3服务器的/opt/目录下。

下载服务器文件到本地

scp username@servername:/opt/file.txt /opt/data/   #(本地)

例如:scp root@192.168.1.3:/opt/file.txt /opt/data把192.168.1.3上的/opt/file.txt文件下载到/opt/data(本地)

上传本地目录到服务器

scp -r /opt/local_test_dir username@servername:/opt/test

例如:scp -r /opt/local_test_dir root@192.168.1.3:/opt/test 把本地的/opt/local_test_dir目录上传到服务器192.168.1.3的/opt/test 目录

下载服务器目录到本地

scp -r username@servername:/opt/test/(服务器目录) /opt/local_test_dir   #(本地目录)

例如:scp -r username@192.168.1.3:/opt/test/ /opt/local_test_dir 把服务器192.168.1.3 /opt/test/目录下载到/opt/local_test_dir目录下

命令中如何带密码

使用sshpass命令可以给scp命令带上密码。

命令格式:
sshpass -p 密码 scp -P 端口 源文件 目标文件

0

评论区