linuxcp命令查看进度

worktile 其他 170

回复

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

    要查看Linux cp命令的进度,可以使用一些附加参数来获取进度信息。

    1. 使用pv命令:
    `pv`命令是Pipe Viewer的缩写,可以用于显示数据流的进度。可以在`cp`命令中使用管道将数据流传输到`pv`命令,并在终端中显示进度。

    例如,假设要将一个名为`file1`的文件复制到`file2`:

    “`
    $ cp file1 file2 | pv -tpreb > /dev/null
    “`

    上述命令将`cp`命令的输出通过管道传递给`pv`命令,`-t`参数用于显示已经传输的数据量,`-p`参数用于显示进度条,`-r`参数用于显示已传输的数据速度,`-e`参数用于估计完成时间,`-b`参数用于显示传输文件的大小。最后使用`> /dev/null`将`cp`命令的输出重定向到`/dev/null`,以避免在终端中显示文件的内容。

    2. 使用rsync命令:
    `rsync`命令是一个功能强大的文件传输工具,它可以显示进度信息。可以使用`rsync`命令替代`cp`命令进行文件复制,并使用`–progress`参数来显示进度。

    “`
    $ rsync –progress file1 file2
    “`

    上述命令将`file1`复制到`file2`,并显示传输进度。

    注意:使用`pv`命令或`rsync`命令查看进度需要在系统中安装相应的软件包。

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

    在Linux系统中,可以使用`cp`命令来复制文件和目录。然而,默认情况下,`cp`命令并不会显示复制进度。但是,有几种方法可以查看`cp`命令的进度。

    1. 使用`rsync`命令:`rsync`是一个功能强大的文件复制工具,它可以显示复制进度。使用如下命令来复制文件,并通过`–progress`参数来查看复制进度:
    “`
    rsync –progress 源文件 目标文件
    “`
    这将显示复制进度、已复制的文件大小以及预计剩余时间。

    2. 使用`pv`命令:`pv`命令是一个通过管道传输的数据的进度显示工具。首先,通过管道将`cp`的输出传递给`pv`,然后使用`-f`参数来显示进度。
    “`
    cp 源文件 目标文件 | pv -f
    “`
    这将显示复制进度以及已传输的数据大小。

    3. 使用`progress`命令:`progress`是一个用于显示命令行进度的实用程序。可以使用`apt`或`yum`来安装它。安装完成后,可以使用如下命令来查看`cp`命令的进度:
    “`
    cp 源文件 目标文件 | progress -m
    “`
    这将显示复制进度、已复制的数据大小以及传输速度。

    4. 使用`lsof`命令:`lsof`命令可以用来查看打开的文件和进程。在`cp`命令运行期间,可以使用`lsof`命令来查看`cp`命令正在复制的文件的大小和进度。
    “`
    lsof -o -p $(pgrep cp) | grep -E “^cp(\s|$)”
    “`
    这将显示正在复制的文件的大小和进度。

    5. 使用`watch`命令:`watch`命令可以周期性地运行一个命令,并显示其输出。可以使用如下命令来每秒钟刷新一次`cp`命令的进度:
    “`
    watch -n 1 “lsof -p $(pgrep cp) | grep -E ‘^cp(\s|$)'”
    “`
    这将每秒钟刷新一次正在复制的文件的大小和进度。

    综上所述,以上是几种可以在Linux系统中查看`cp`命令进度的方法。每种方法都有其优缺点,可以根据具体需求选择适合的方法来查看进度。

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

    在Linux系统中,可以使用cp命令来复制文件或目录。但是,cp命令本身不提供进度条或详细的复制进度信息。但是,我们可以使用其他工具来实现查看复制进度的功能。

    一种常用的方法是使用rsync命令来代替cp命令。rsync是一个功能强大的文件复制命令行工具,它提供了复制进度的详细信息。下面是通过rsync命令查看复制进度的方法:

    1. 首先,确保rsync软件已经安装在你的系统上。如果没有安装,可以使用包管理器(如apt、yum等)安装rsync命令。

    2. 使用以下命令来复制文件或目录,以查看复制进度:

    “`shell
    rsync -a –progress /源文件或目录 /目标文件或目录
    “`

    在上述命令中,-a选项保持文件的所有属性,–progress选项显示复制的进度信息。你需要将”/源文件或目录”替换为实际的源文件或目录的路径,将”/目标文件或目录”替换为实际的目标路径。

    3. 当你运行上述命令时,你将看到类似下面的进度信息:

    “`shell
    sending incremental file list
    filename.txt
    100 1000 0 100 200 -5 40000 20 0:00:01 0:00:01 0:00:01 0
    “`

    在上面的输出中,第一行提示正在发送增量文件列表。在每个文件的下面,你可以看到当前复制的进度信息,例如完成度百分比、已复制的字节数、当前速度等。最后一栏显示的是当前已用时间、预计剩余所需时间和总体进度。

    请注意,rsync命令的输出格式可能会因不同的操作系统而有所不同。在某些系统上,可能需要使用其他选项来显示进度信息。你可以参考rsync的文档和man页面以获取更多信息。

    除了rsync命令外,你还可以使用其他工具来显示复制进度,例如pv命令,它是一个非常实用的进度监控工具。你可以使用类似下面的方式来安装和使用pv命令:

    “`shell
    sudo apt-get install pv
    “`

    “`shell
    cp /源文件或目录 | pv -s $(du -sb /源文件或目录 | awk ‘{print $1}’) > /目标文件或目录
    “`

    在上述命令中,pv命令将显示当前复制的进度信息,并计算出源文件或目录的大小,以便计算剩余时间。

    以上是使用rsync和pv命令来查看复制进度的方法。你可以根据自己的需要选择适合的工具来显示复制进度。

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

400-800-1024

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

分享本页
返回顶部