linuxmv命令显示进度

worktile 其他 186

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,用于移动文件或文件夹的命令是”mv”。它没有显示进度的选项,但可以通过结合其他命令来估计移动的进度。

    下面是一种可能的方法,通过配合”rsync”和”pv”命令来显示移动文件的进度:

    1. 首先,确保系统上安装了”rsync”和”pv”,如果没有,请使用适当的软件包管理器进行安装。

    2. 使用如下命令来移动文件并显示进度:

    “`shell
    rsync -a –info=progress2 source_file destination_file | pv -lep -s source_file_size > /dev/null
    “`

    请将”source_file”替换为要移动的文件,并将”destination_file”替换为目标位置。

    3. 运行命令后,您将看到一个显示移动进度的进度条。

    需要注意的是,这种方法仅适用于移动文件,不适用于移动文件夹。如果要移动文件夹,请使用”rsync”命令的”-r”选项。

    这只是一种显示移动进度的方法,实际进度可能会受到系统性能和文件大小的影响。

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

    Linux的mv命令是用来移动或重命名文件或目录的命令,它不会直接显示移动或重命名的进度。不过,我们可以通过一些技巧来实现显示mv命令的进度。

    1. 使用pv命令:pv(pipe viewer)是一个Unix / Linux命令行工具,用于显示管道操作的进度。我们可以使用pv命令和mv命令结合起来显示mv命令的进度。例如:
    “`shell
    pv source_file > destination_file
    “`
    这将显示文件移动的进度,并显示传输的数据量以及传输速度。

    2. 使用rsync命令:rsync是一个非常强大和灵活的文件复制工具,它可以显示复制进度。我们可以使用rsync命令来实现mv命令的进度显示。例如:
    “`shell
    rsync -ah –progress source_file destination_file
    “`
    这将显示文件移动的进度,并显示传输的数据量以及传输速度。

    3. 使用watch命令:watch命令可以周期性地执行一个命令,并在终端上显示输出结果。我们可以使用watch命令来实现mv命令的进度显示。例如:
    “`shell
    watch -n 1 ls -lh destination_file
    “`
    这将每秒显示一次目标文件的大小,从而可以大致了解移动进度。

    4. 使用lsof命令:lsof命令可以列出系统当前打开的文件。我们可以在mv命令执行期间使用lsof命令来查看源文件和目标文件的大小变化,从而了解移动进度。例如:
    “`shell
    lsof | grep source_file
    lsof | grep destination_file
    “`
    这将列出所有正在使用源文件和目标文件的进程,并显示文件的当前大小。

    5. 使用cp命令:虽然mv命令没有直接显示进度的选项,但是cp命令可以显示进度。我们可以先使用cp命令复制文件到目标位置,然后使用rm命令删除源文件。这样就可以通过cp命令的进度显示来了解mv命令的进度。例如:
    “`shell
    cp -r source_file destination_file && rm -r source_file
    “`
    这将显示文件复制的进度以及删除源文件的进度,从而了解整个移动过程的进度。

    请注意,这些技巧只能提供大致的进度显示,并非精确的进度。另外,这些方法都需要在命令行中手动执行,并不是mv命令本身的功能。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,mv命令用于将文件或文件夹从一个位置移动到另一个位置。mv命令默认不会显示移动过程的进度条,但我们可以通过一些技巧来实现显示进度的效果。

    以下是一种简单的方法来显示mv命令的进度:

    1. 使用pv命令:pv是一个用于监测数据流的进度的实用程序。首先确保系统上已经安装了pv命令(如果没有安装,可以使用apt-get、yum等包管理工具进行安装)。

    2. 使用-p/–progress选项:在mv命令中使用-p/–progress选项可以显示文件移动进度。

    下面是具体的操作流程:

    1. 打开终端并登录到Linux系统。

    2. 使用mv命令移动文件或文件夹。例如,将文件file.txt从当前目录移动到目录destination中:

    “`
    mv file.txt destination/
    “`

    或者将文件夹folder从当前目录移动到目录destination中:

    “`
    mv folder destination/
    “`

    3. 在mv命令中使用pv命令和-p/–progress选项来显示进度。要实现这一点,我们可以使用管道符将mv命令的输出传递给pv命令。例如:

    “`
    mv file.txt destination/ | pv -pl -s $(du -sb file.txt | awk ‘{print $1}’)
    “`

    上述命令中,pv命令的选项说明如下:

    -p 或 –progress:显示进度条。

    -l:显示细节信息。

    -s:指定要移动的文件的大小。

    $(du -sb file.txt | awk ‘{print $1}’):通过du和awk命令获取文件大小,并将其传递给pv命令。

    4. 按Enter键执行mv命令和pv命令的组合。你将看到一个进度条,显示文件移动的进度。

    这种方法可以将mv命令的进度完整地显示出来,方便我们掌握文件移动的过程。请注意,由于pv命令会在终端中显示进度条,所以如果移动的文件很大或是移动过程耗时很长,可能会导致终端变得卡顿。因此,在移动大文件或文件夹时建议使用这种方法时谨慎使用。

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

400-800-1024

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

分享本页
返回顶部