Linux中使用scp命令通过ssh上传或下载文件(夹)
前言
在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命令带上密码。
更新于:1个月前命令格式:
sshpass -p 密码 scp -P 端口 源文件 目标文件
相关文章
- git remote 命令详解
- git diff 命令详解
- git log 命令
- git branch 命令详解
- TP6.0命令行之自定义指令
- hosts 域名映射文件
- .gitignore 忽略文件和目录
- TP6.0 自定义命令创建类文件
- SSH 公钥免密登录
- Linux sed命令关键字匹配文件中整行的任意字符然后替换整行
- linux的Shell脚本中如何判断某个命令是否存在
- Linux中date命令如何格式化输出需要的时间格式
- 修改数据 update 命令
- TinyMce上传图片去掉宽度和高度问题
- Composer 使用缩略名调用命令
- 删除数据 delete、truncate 命令
- MySQL 添加数据 insert 命令及优化
- Linux中通过命令连接指定WiFi
- TP6.0 命令行生成类库文件
- 银河麒麟V10刚安装SSH连接被拒绝