Linux 系统下使用 rsync 代替 cp

📖前言

rsync 是一个常用的 Linux 应用程序,用于文件同步。

它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件。它也可以当作文件复制工具,替代 cpmv 命令。

⚙️实际操作

显示单个文件进度,保留文件的权限

rsync -ah --progress /source /destination

显示总体进度,保留文件的权限

rsync -ah --info=progress2 --no-i-r /source/ /destination

目标目录destination如果不存在,rsync 会自动创建。执行上面的命令后,源目录source被完整地复制到了目标目录destination下面,即形成了destination/source的目录结构。

如果只想同步源目录source里面的内容到目标目录destination,则需要在源目录后面加上斜杠 / 。

文件夹镜像

rsync -ah --info=progress2 --no-i-r --delete /source/ /destination

设置为命令别名,方便调用

alias cp="rsync -ah --progress"
alias rcp="rsync -ah --info=progress2 --no-i-r"

rsync 常用选项:

-a 递归传输并保持所有文件属性,最常用

-h 以人类可读的格式输出

-v 详细模式输出

-z 文件在传输时进行压缩处理

--delete 删除只存在于目标目录、不存在于源目标的文件,即保证目标目录是源目标的镜像。


🎈参考

rsync 用法教程