高级复制 - 在 Linux 中复制文件时显示高级

言鼎科技 2023-07-06 257

Advanced-Copy 是一个功能强大的命令行系统,与原始 cp 命令和 mv 工具非常相似,但略有修改。


此版本的 cp 命令向将大文件从一个位置复制到另一个位置时完成所需的总时间添加了一个进度条。


此附加功能在下载大文件时特别有用,这使用户可以了解下载过程的性质以及完成所需的时间。


在 Linux 中安装高级复制命令

在 Linux 系统上安装 Advanced-Copy 实用程序的唯一方法是使用以下单个 curl 命令从源代码构建它,该命令将复制、调试、编译 coreutils 并创建文件./advcpmv/advcp:./advcpmv/advmv……


#curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

在安装过程中,您可能会遇到以下错误。


检查 mknod 是否可以在没有 root 权限的情况下创建 fifo...配置:错误:在“/root/advcpmv/coreutils-9.1”中:

配置:错误:您不应以 root 身份运行配置(在环境中设置 FORCE_UNSAFE_CONFIGURE=1 以绕过此检查)

有关更多详细信息,请参阅“config.log”


在终端上执行以下命令以更正该错误,然后再次运行curl 命令。


# 导出 FORCE_UNSAFE_CONFIGURE=1

#curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

安装完成后,会在 ./advcpmv/advcp 和 ./advcpmv/advmv 下创建两个新命令。您应该用这两个新命令替换默认的 cp 和 mv 命令,以便在下载文件时获得进度条。


# 等 ./advcpmv/advcp /usr/local/bin/cp

# 等 ./advcpmv/advmv /usr/local/bin/etc

注意:如果您不想在标准配置路径下复制这些命令,可以从源目录(例如“./advcpmv/advcp”和“./advcpmv/advmv”)运行它们,或者创建新命令(如所示)。


# 等 ./advcpmv/advcp /usr/local/bin/cpg

# 等 ./advcpmv/advmv /usr/local/bin/mvg

复制文件和目录时显示进度条

如果您希望在下载文件和目录时始终显示进度条,则需要将以下行添加到 ~/.bashrc 文件中。


# echo 别名 cp '/usr/local/bin/advcp -g' >> ~/.bashrc

# echo 别名 mv '/usr/local/bin/advmv -g' >> ~/.bashrc

您必须注销并重新登录才能正常工作。


如何在 Linux 中使用高级复制命令

命令是相同的,唯一的变化是在 cp 命令中添加了“-g”或“-progress-bar”选项。“-R”选项用于多次下载数据库。


以下是使用标准复制命令的复制过程的示例屏幕截图。


# cp -gR ubuntu-20.04.3-desktop-amd64.iso /home/howtoing/

或者

# cp -R --progress-bar ubuntu-20.04.3-desktop-amd64.iso /home/howtoing/


这是带有屏幕截图的“mv”命令示例。


#mv --progress-bar 歌曲/ /data/

或者

# mv -g 歌曲/ /数据/


请记住,如果您需要使用默认命令,或者您对新的进度条不满意并想要返回默认的 cp 和 mv 命令,则它们永远不会被覆盖。您可以通过 /usr/bin/cp 或 /usr/bin/mv 列出它们。


这个新的进度指示器给我留下了深刻的印象,至少我会知道一些有关代码执行时间和实际情况的信息。



你也许也喜欢:


如何在Linux中复制文件和目录【14 cp命令示例】

如何使用“pv”命令检查(复制/备份/压缩)数据进度

在使用中

总的来说,我可以说,这是一个非常好的放在口袋里的工具,特别是如果您花费大量时间通过命令行复制和打开文件。





The End