- 对scp的封装, 自动跳过被 gitignore 的文件
- 基本用法
- 和 scp 一样, 不过传目录不需要 -r 参数
-
smartscp remote-host:remote_path local_path smartscp local_path remote-host smartscp local_path remote-host:remote_path
-
- 如果目标目录是缺省的, smartscp 会自动根据原目录相对于 home 的偏移量, 计算目标目录
- 比如source 是 ~/foo/bar, 那会自动传到远程的 ~/foo/bar
-
smartscp ~/foo/bar remote-host
- 如果目标目录是缺省的, smartscp 会自动根据原目录相对于 home 的偏移量, 计算目标目录
- 使用场景
- 传 rust 项目的时候,避免传 target/
- 传 nodejs 项目的时候, 避免传 node_modules/
- 尚不支持的功能
- 包含 : 的文件名
- 交互式输入密码登陆
- 目前只支持 ~/.ssh/config
- 注意
- 不兼容 scp 的参数, 比如不接受 -r 参数
- 不要直接替代 scp
- Q&A
- 为什么不用
rsync --exclude=
- 我并不觉得方便
- 不够自动化
- 要支持复杂的 gitignore
- 为什么用rust写
- 本身用其他语言写没有什么区别
- 我只会写rust
- 为什么不从头用rust写一遍 scp, 而不是调用scp
- 需要不少工作量
- 为什么不用 c 直接改 scp
- c 中不太方便导库
- 为什么不用
Ext Link: https://github.com/lengyijun/smartscp
1
共 0 条评论, 1 页
评论区
写评论还没有评论