linuxcopy命令进度

worktile 其他 106

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Linux中的cp命令是用于复制文件和目录的命令。cp命令的执行过程是即时的,没有显示进度的选项。但是我们可以结合其他命令或工具来显示复制进度。

    一种方法是使用pv命令(Pipe Viewer)。pv命令可以用来监视数据流的过程并显示进度信息。我们可以将cp命令与pv命令结合起来,从而显示复制进度。

    下面是示例的命令行:

    “`bash
    cp source_file target_file | pv -lep -s size_of_source_file > /dev/null
    “`

    其中,source_file是要复制的源文件路径,target_file是目标文件路径,size_of_source_file是源文件的大小。

    这个命令的作用是将源文件复制到目标文件,并使用pv命令来显示复制进度。pv命令的参数-lep表示显示进度百分比和估计剩余时间,-s参数是指定源文件的大小,> /dev/null是将输出重定向到/dev/null,以避免显示额外的信息。

    执行上述命令后,将会显示出复制的进度信息,包括已复制的数据量、复制速度、剩余时间等。

    除了pv命令,还有其他一些工具也可以显示复制进度,如rsync和dd等。这些工具的使用方法和参数可能会有所不同,可以根据实际需求选择合适的工具来显示复制进度。

    希望以上信息对你有所帮助!

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Linux的`cp`命令可以用于复制文件和目录。它不会显示复制的进度。但是,可以通过结合其他命令或使用第三方工具来实现显示进度的功能。以下是几种方法:

    1. 使用`pv`命令:`pv`是一个用于监视管道的工具。结合`cp`和`pv`命令,可以显示文件复制的进度。例如:`cp source_file destination_file | pv -bep -s size_of_source_file > /dev/null`,其中`source_file`是源文件,`destination_file`是目标文件,`size_of_source_file`是源文件的大小。这会在终端显示复制进度的百分比。

    2. 使用`rsync`命令:`rsync`是一个用于文件同步和远程备份的命令。它可以显示复制的进度,并且具有更多复制选项。例如:`rsync -a –progress source_file destination_file`,这将显示复制进度,同时将权限和其他属性也复制到目标文件。

    3. 使用`dd`命令:`dd`命令可以用于复制文件和设备。通过使用`dd`命令的`status=progress`选项,可以显示复制的进度。例如:`dd if=source_file of=destination_file status=progress`,这将显示复制进度和复制速度。

    4. 使用`cpdup`命令:`cpdup`是一个第三方工具,用于复制文件和目录,并显示进度。在安装并配置`cpdup`后,可以使用命令`cpdup -v source_directory destination_directory`来复制目录并显示进度。

    5. 使用`bar`命令:`bar`是一个在终端显示进度条的命令。结合`cp`命令和`bar`命令,可以实现复制进度的显示。例如:`cp -r source_directory destination_directory | bar -s $(du -sb source_directory | awk ‘{print $1}’) -n`,这将在终端显示复制进度条。

    以上是几种在Linux中显示文件复制进度的方法。可以根据自己的需求选择其中的一种方法。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,可以使用cp命令来复制文件和目录。当你使用cp命令复制一个大文件或者一个包含大量文件的目录时,你可能会想知道复制的进度以及剩余时间。在这种情况下,你可以使用progress选项来获取复制进度。

    下面是一个详细的步骤,来展示如何使用cp命令复制文件并查看进度。

    1. 打开终端:首先,打开Linux终端,你可以在应用程序菜单中找到终端或使用快捷键Ctrl+Alt+T。

    2. 使用cp命令复制:输入以下命令来复制文件,将/source/directory替换为实际的源文件路径,将/destination/directory替换为实际的目标文件路径。

    “`shell
    cp -r -v /source/directory /destination/directory
    “`

    -r: 递归地复制目录和它们的内容。
    -v: 显示每个已复制文件的名称。

    3. 安装并使用pv命令:pv命令是一个能显示进度的工具,你可以使用它来监视复制进度。如果你的系统中没有安装pv命令,你可以使用以下命令来安装。

    “`shell
    sudo apt install pv
    “`

    4. 使用pv命令查看进度:现在,你可以在cp命令中使用管道(|)将输出重定向到pv命令,以显示复制进度。

    “`shell
    cp -r -v /source/directory /destination/directory | pv -lep -s $(du -sb /source/directory | awk ‘{print $1}’) > /dev/null
    “`

    – -l: 显示进度条。
    – -e: 估计剩余时间。
    – -p: 打印百分比进度。
    – -s: 指定要复制的总文件大小。这里使用du命令和awk命令来计算源目录的大小。

    5. 查看复制进度:现在,当你开始复制文件时,pv命令将显示复制进度和估计的剩余时间。你可以使用Ctrl+C来停止复制过程。

    ![linux copy progress](https://cdn.jsdelivr.net/gh/destinytao/image-hosting-picgo/linux_copy_progress.png)

    请注意,复制进度只在使用cp命令复制大文件或包含大量文件的目录时才可见。如果复制过程很快完成,你可能无法看到进度。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部