概述
`rsync-progress` 并非一个独立的命令,而是强大的文件同步工具 `rsync` 通过 `--progress` 选项显示传输进度的功能的一个通用名称。使用此功能可以实时查看文件传输的当前状态,对于同步大文件或多个文件非常有用。
主要特点
通过 `rsync` 的 `--progress` 选项可以获得的主要信息如下:
- 实时传输进度(百分比)
- 当前正在传输的文件名
- 传输速度(例如:MB/s)
- 剩余传输时间
主要选项
`rsync-progress` 利用 `rsync` 命令的选项。以下是常与进度显示一起使用的 `rsync` 选项:
进度和输出
同步操作
生成的命令:
请尝试组合命令。
描述:
`rsync-progress` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
安装
`rsync-progress` 不是一个需要单独安装的命令,而是 `rsync` 命令的功能。大多数 Linux 发行版都预装了 `rsync`,但如果未安装,可以使用以下命令进行安装:
Debian/Ubuntu
sudo apt update && sudo apt install rsync
使用 APT 包管理器安装 `rsync`。
CentOS/RHEL
sudo yum install rsync
使用 YUM 包管理器安装 `rsync`。
Fedora
sudo dnf install rsync
使用 DNF 包管理器安装 `rsync`。
使用示例
以下是结合使用 `rsync` 命令和 `--progress` 选项来查看文件同步进度的各种示例:
同步本地目录并显示进度
rsync -avh --progress source_dir/ destination_dir/
将当前目录下的 `source_dir` 内容同步到 `destination_dir`,并显示进度。
同步文件到远程服务器并显示进度
rsync -avz --progress local_files/ user@remote_host:/path/to/remote_dir/
将本地的 `local_files/` 目录同步到远程服务器的 `user@remote_host:/path/to/remote_dir/`,并显示进度。
创建 `rsync-progress` 别名(alias)
alias rsync-progress='rsync -avh --progress'
可以创建一个包含常用 `rsync` 选项的 `rsync-progress` 别名,以便更方便地使用。此别名仅在当前 shell 会话中有效,若要永久使用,请将其添加到 shell 配置文件(例如 `~/.bashrc`、`~/.zshrc`)中。
使用别名同步本地文件
rsync-progress /path/to/source/ /path/to/destination/
使用上面创建的 `rsync-progress` 别名同步本地目录。
模拟删除操作并显示进度
rsync -avh --progress --delete --dry-run source_dir/ destination_dir/
不实际删除文件,而是使用 `--dry-run` 选项查看当应用 `--delete` 选项时会删除哪些文件。
技巧与注意事项
使用 `rsync` 和 `--progress` 选项时的有用技巧和注意事项。
高效的选项组合
将 `--progress` 与 `-v` (verbose) 一起使用可以获得更多信息,与 `-h` (human-readable) 一起使用可以方便地查看文件大小。`-a` (archive) 是大多数同步操作推荐使用的选项。
- `rsync -avh --progress source/ dest/` (最常用且有用的组合)
- `rsync -avz --progress source/ user@host:dest/` (远程传输时添加压缩)
`--dry-run` 的应用
特别是使用 `--delete` 等破坏性选项时,务必先使用 `--dry-run` 选项预先检查将要发生哪些更改。这对于防止意外数据丢失至关重要。
考虑网络环境
向远程服务器传输时,`--compress` (`-z`) 选项可以节省网络带宽,但会增加 CPU 使用率。如果网络速度足够快,压缩反而可能增加传输时间,因此应根据环境适当地使用。
源/目标路径的斜杠(`/`)注意
在源路径末尾添加斜杠(`source_dir/`)会将 `source_dir` 的*内容*复制到目标,而不加斜杠(`source_dir`)则会将 `source_dir` *本身*创建到目标目录中。这个区别非常重要,需要注意。