> 文件与目录管理 > rsync-progress

rsync-progress: rsync 进度显示

`rsync-progress` 指的是使用 `rsync` 命令在文件同步时可视化显示进度的技术。通常通过利用 `rsync` 命令的 `--progress` 选项,或将其包含在 shell 脚本或别名(alias)中使用。在传输大量文件时,了解当前的传输状态、剩余时间、传输速度等信息非常有用。

概述

`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` *本身*创建到目标目录中。这个区别非常重要,需要注意。


相同类别命令