在 Linux 中复制/移动文件时带有进度条的高级复制命令

您所在的位置:网站首页 几何冲刺怎么显示进度条 在 Linux 中复制/移动文件时带有进度条的高级复制命令

在 Linux 中复制/移动文件时带有进度条的高级复制命令

2024-07-16 04:40| 来源: 网络整理| 查看: 265

在 Linux 中复制/移动文件时带有进度条的高级复制命令

作为一名 Linux 用户,您可能会遇到需要将大文件或目录从一个位置复制或移动到另一个位置的情况。此过程可能需要一些时间,并且监视复制或移动操作的进度可能具有挑战性。

幸运的是,Linux 提供了几个内置命令,可以帮助您高效地复制或移动文件,并监控操作进度。在本文中,我们将讨论在 Linux 中复制/移动文件时带有进度条的高级复制命令。

什么是高级复制命令?

高级复制(或“cp”)命令是一种内置 Linux 命令,用于将文件或目录从一个位置复制到另一个位置。该命令预装在大多数 Linux 系统上,并被系统管理员、开发人员和 Linux 爱好者广泛使用。

cp 命令提供了多个选项,允许您自定义复制操作,例如保留文件属性、递归复制等。但是,默认情况下,cp 命令在复制或移动文件时不提供任何进度条。

为什么我们需要进度条?

当您复制或移动大型文件或目录时,可能会花费相当长的时间,并且确定操作还剩多少时间才能完成可能很困难。这就是进度条有用的地方。

进度条是复制或移动操作进度的图形表示。它显示已完成的操作的百分比以及完成操作还剩多少时间。这在您需要监视复制或移动操作进度的情况下非常有用。

使用“pv”命令作为进度条

“pv”命令是一个 Linux 实用程序,可用于监视通过管道的数据进度。此命令可以与其他 Linux 命令(例如“cp”)结合使用,以便在复制或移动文件时提供进度条。

要将“pv”命令与“cp”命令一起使用,您需要将“cp”命令的输出通过管道传输到“pv”命令。这是一个例子 -

$ cp -r /path/to/source /path/to/destination | pv -lep -s $(du -sb /path/to/source | awk '{print $1}') >/dev/null

让我们分解命令 -

“cp -r /path/to/source /path/to/destination”是将源目录复制到目标目录的复制命令。

管道“|”将“cp”命令的输出发送到“pv”命令。

“pv”是显示进度条的命令。

“-lep”是“pv”命令的选项。 “-l”启用速率限制,“-e”显示ETA(预计到达时间),“-p”显示进度条。

“-s $ (du -sb /path/to/source | awk '{print $1}')” 是指定源目录大小(以字节为单位)的选项。需要此选项才能准确计算复制操作的进度。

“/dev/null”将“pv”命令的输出重定向到空设备,并丢弃它。

使用进度条的“rsync”命令

另一个可用于在显示进度条时复制或移动文件的命令是“rsync”命令。 “rsync”命令是一个功能强大的实用程序,可用于同步两个位置之间的文件。

要使用带进度条的“rsync”命令,可以使用“-P”选项。这是一个例子 -

$ rsync -aP /path/to/source /path/to/destination

让我们分解命令 -

“rsync”是在两个位置之间同步文件的命令。

“-a”是启用存档模式的选项,该模式保留文件属性、权限、时间戳等。

“-P”是显示进度条的选项,显示传输进度、传输速率、ETA 等。

使用“bar”命令作为进度条

另一个可用于在复制或移动文件时显示进度条的实用程序是“bar”命令。 “bar”命令是一个简单的实用程序,可在终端中显示进度条。

要将“bar”命令与“cp”命令一起使用,可以将“cp”命令的输出通过管道传递给“bar”命令。这是一个例子 -

$ cp -r /path/to/source /path/to/destination | bar

让我们分解命令 -

“cp -r /path/to/source /path/to/destination”是将源目录复制到目标目录的复制命令。

管道“|”将“cp”命令的输出发送到“bar”命令。

“bar”是显示进度条的命令。

除了上面讨论的实用程序之外,还有其他几个选项可以在 Linux 中复制或移动文件时显示进度条。其中一些选项包括 -

“gcp”命令 - “gcp”命令是“cp”命令的包装,为复制操作添加进度条。大多数 Linux 发行版中不包含此命令,因此您可能需要手动安装。

“progress”命令 - “progress”命令是一个 Linux 实用程序,可用于显示各种操作的进度条,包括复制和移动文件。此命令可以与其他命令(例如“cp”或“mv”)结合使用来显示进度条。

“bar-1.11”包 - “bar-1.11”包是一组 shell 脚本,可用于显示各种操作的进度条,包括复制和移动文件。该软件包可以安装在大多数 Linux 发行版上。

“dialog”命令 - “dialog”命令是一个Linux实用程序,可用于在终端中创建对话框和菜单。该命令可用于在复制或移动文件时显示进度条。

选择显示进度条的方法时,必须考虑诸如易用性、与 Linux 发行版的兼容性以及可靠性等因素。虽然某些方法可能比其他方法更复杂,但它们也可能提供更高级的特性和功能。

总的来说,在 Linux 中复制或移动文件时显示进度条是监视操作进度和估计完成剩余时间的绝佳方法。通过使用本文中讨论的命令和实用程序,您可以执行高效的文件操作并有效地管理文件。

结论

总之,Linux 提供了几个内置命令和实用程序,可用于复制或移动文件,并显示进度条以监视操作进度。 “pv”命令、“rsync”命令和“bar”命令是可用于此目的的一些实用程序。

复制或移动文件时,监视操作进度始终是一个好习惯,以确保操作成功完成且没有任何错误。进度条是一个很好的工具,可以监控进度并估计完成操作的剩余时间。

作为 Linux 用户,必须熟悉这些命令和实用程序才能执行高效的文件操作并有效地管理文件。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3