linux实现查看拷贝进度命令

不及物动词 其他 205

回复

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

    在Linux系统中,可以使用多种命令来查看拷贝进度。下面列举了几个常用的命令:

    1. rsync命令:rsync是一个强大的文件同步工具,同时也可以查看拷贝进度。在使用rsync执行文件拷贝时,通过添加”–progress”选项可以显示拷贝进度。示例命令如下:

    “`
    rsync –progress source-file destination-file
    “`

    2. pv命令:pv是一个轻量级的进度条工具,可以用于监视数据流的传输进度。在执行文件拷贝时,可以将源文件通过管道传输给目标文件,并使用pv命令监视进度。示例命令如下:

    “`
    pv source-file > destination-file
    “`

    3. lsof命令:lsof是一个用于查看打开文件的工具,可以利用它来查看正在进行的拷贝进程。执行以下命令可以列出所有正在进行文件拷贝的进程:

    “`
    lsof -r 2 -a -d 1-999 -c cp
    “`

    其中,”-r”选项表示重复执行查找,”-a”选项表示同时满足指定条件,”-d”选项表示指定文件描述符范围,”-c”选项表示指定进程命令名。

    4. progress命令:progress是一个带有进度条和估计完成时间的命令行工具,可以用于查看拷贝进度。使用以下命令可以安装progress:

    “`
    sudo apt-get install progress
    “`

    安装完成后,执行以下命令可以显示拷贝进度:

    “`
    cp source-file destination-file | progress -mp $!
    “`

    以上是几个常用的Linux命令,用于查看文件拷贝进度。根据实际需求选择合适的命令即可。

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

    在Linux中,可以使用以下命令来实现查看拷贝进度:

    1. cp命令加上-v选项:
    “`
    cp -v source destination
    “`
    此命令会显示正在复制的文件名,并实时更新拷贝的进度。但是,它无法提供详细的进度信息。

    2. pv命令:
    “`
    pv source > destination
    “`
    pv命令可以监视数据流的进度,并提供详细的进度信息,包括已处理的数据大小、速度、剩余时间等。

    3. rsync命令加上–progress选项:
    “`
    rsync –progress source destination
    “`
    rsync命令通常用于备份和同步文件,通过添加–progress选项,可以实时显示拷贝进度。

    4. pv + dd组合:
    “`
    pv source | dd of=destination
    “`
    这里使用了pv命令监视数据流的进度,并将数据流重定向到dd命令中,将其写入目标文件中。

    5. tar命令加上–checkpoint选项:
    “`
    tar –checkpoint=1 -zcf destination.tar.gz source
    “`
    tar命令可以将多个文件或目录打包成一个归档文件。通过添加–checkpoint选项,可以在打包过程中显示进度信息。

    以上命令中,pv命令是最常用的工具,它可以在拷贝过程中提供实时的进度信息。如果系统中没有安装pv命令,可以通过包管理器安装它。使用这些命令,用户可以方便地查看拷贝进度,并了解拷贝操作的执行情况。

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

    在 Linux 系统中,我们可以使用 cp 命令来拷贝文件和目录。然而,cp 命令本身没有提供查看拷贝进度的选项。但是,我们可以通过一些其他的方法来实现查看拷贝进度的功能。

    方法一:使用 rsync 命令
    Rsync 是一个功能强大的文件同步和备份工具,它可以在拷贝文件时提供进度信息。在使用 rsync 命令拷贝文件时,可以使用 –progress 选项来显示拷贝进度。下面是使用 rsync 命令查看拷贝进度的操作流程:

    1. 打开终端,输入以下命令来安装 rsync(如果系统中没有安装的话):
    “`bash
    sudo apt-get install rsync
    “`

    2. 使用以下命令来查看拷贝进度:
    “`bash
    rsync –progress -av source-file destination-file
    “`

    其中,source-file 是要复制的源文件路径,destination-file 是目标文件路径。

    例如,如果要将 /home/user/file.txt 复制到 /tmp 目录中,并查看拷贝进度,可以使用以下命令:
    “`bash
    rsync –progress -av /home/user/file.txt /tmp/
    “`

    这样,rsync 命令将会显示拷贝进度,并且在拷贝完成后显示拷贝速度和所用时间。

    方法二:使用 pv 命令
    pv 是一个通过管道显示进度的工具,它可以将数据从标准输入读取并将其写入到标准输出。我们可以将 cp 命令的输出通过管道传递给 pv 命令,从而实现查看拷贝进度的功能。下面是使用 pv 命令查看拷贝进度的操作流程:

    1. 打开终端,输入以下命令来安装 pv(如果系统中没有安装的话):
    “`bash
    sudo apt-get install pv
    “`

    2. 使用以下命令来查看拷贝进度:
    “`bash
    cp source-file destination-file | pv -lep -s size-of-source-file > /dev/null
    “`

    其中,source-file 是要复制的源文件路径,destination-file 是目标文件路径,size-of-source-file 是源文件的大小。

    例如,如果要将 /home/user/file.txt 复制到 /tmp 目录中,并查看拷贝进度,可以使用以下命令:
    “`bash
    cp /home/user/file.txt /tmp/file.txt | pv -lep -s “$(stat -c%s /home/user/file.txt)” > /dev/null
    “`

    这样,pv 命令将会显示拷贝进度,并且在拷贝完成后显示拷贝速度。

    注意:使用 pv 命令查看拷贝进度时,拷贝进度是估计的,并非准确的进度。这是因为通过管道传递数据会导致一些额外的延迟。

    总结
    通过 rsync 命令或 pv 命令,我们可以在 Linux 系统中查看拷贝进度。 rsync 命令显示的进度更加准确,但需要先安装 rsync。 pv 命令不需要安装额外的软件,但显示的进度是估计值。两种方法都可以根据需要选择使用。

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

400-800-1024

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

分享本页
返回顶部