macOS通过scp命令与linux服务器之间进行文件传输

45 篇文章 2 订阅

官方帮助:

scp: illegal option -- h
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program] source ... target
OPTIONS:
  • -v 显示进度。可以用来查看连接、认证、或是配置错误
  • -C 使能压缩选项
  • -P 选择端口
  • -r 复制目录
  • -F 指定ssh_config配置文件
  • -i 指定登录的证书文件

假设默认的~/.ssh/config已经配置好了证书的服务器名称
例如:

  Host aliyun
        HostName        123.123.123.9
        User simon
        Port 22
        IdentityFile ~/.ssh/id_rsa

那么服务器端口和证书文件选项都可以省略。

上传文件就可以简化为:
scp local_file user@HostName:remote_directory

#上传文件test.png到服务器aliyun用户simon的主目录
scp ~/Downloads/test.png simon@aliyun:~/
#上传文件夹book_colletion到服务器aliyun用户simon的主目录
scp -r ~/Downloads/book_colletion simon@aliyun:~/

下载文件:
scp user@HostName:remote_file_name local_folder

#下载远程服务器的~/readme.md到本地用户主目录
scp simon@aliyun:~/readme.md ~/
#下载远程服务器的~/projects文件夹到本地用户主目录
scp -r simon@aliyun:~/projects ~/

zsh用户需要注意:

如果使用通配符,那么zsh会试图将其展开而导致no matches错误。
不要让zsh将*号展开;有如下几种方法:

  • *号部分用引号引起来,单双引号都可以。
    例如:scp "host:/pic/*.jpg" .或者scp 'host:/pic/*.jpg' .。也可以只引用路径部分,例如:scp host:'/pic/*.jpg' .
  • 用反斜杆阻止zsh转义:scp host:/pic/\*.jpg .
  • 设置nonomatch选项,让zsh匹配失败时不报错并使用原本内容。
    echo "setopt nonomatch" >> ~/.zshrc

    echo "set -o nonomatch" >> ~/.zshrc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值