rsync/scp

rsync

•rsync常用选项
• -a 包含-rtplgoD
• -r 同步目录时要加上,类似cp时的-r选项
• -v 同步时显示一些信息,让我们知道同步的过程
• -l 保留软连接
• -L 加上该选项后,同步软链接时会把源文件给同步
• -p 保持文件的权限属性
• -o 保持文件的属主 //如果对方没有就显示数字
• -g 保持文件的属组
• -D 保持设备文件信息
• -t 保持文件的时间属性
–delete 删除DEST中SRC没有的文件
–exclude 过滤指定文件,如–exclude “logs”
•-P 显示同步过程,比如速率,比-v更加详细
-u (update)加上该选项后,如果DEST中的文件比SRC新,则不同步。
•-z 传输时压缩

示例

#将.git 目录以及目录下所有内容同步到远程目录下
rsync -av .git  bsp@10.235.112.193:/home/bsp/work/code/sm8450/chipcode/snapdragon-premium-high-2021-spf-1-0_hlos_dev

#同步source目录下所有内容到远程destination目录下(source带/,source目录不会同步)
rsync -av source/ username@remote_host:destination

#同步远程source目录及所有内容到本地destination目录下
rsync -av username@remote_host:source/ destination

#destination成为source的一个镜像
rsync -av --delete source/ destination

#排除模式
rsync -av --exclude 'dir1/*' source/ destination
rsync -av --exclude 'file1.txt' --exclude 'dir1/*' source/ destination
rsync -av --exclude={'file1.txt','dir1/*'} source/ destination
rsync -av --exclude-from='exclude-file.txt' source/ destination

scp

从本地复制到远程

1 远程拷贝文件

  • 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
  • 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
scp local_file remote_username@remote_ip:remote_folder
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file

拷贝目录

scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 

2 从远程复制到本地

交换上述local和remote 参数位置即可

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容