progress-information

如何在命令运行时读取命令的输出?
progress-information

如何在命令运行时读取命令的输出?

如果一个命令要输出一个实时更新的进度条,直到它停止,并且我想不断获取所述进度条的百分比并将其显示在 GUI(例如 zenity)中,那么我们将如何执行此操作。 我确实知道如何在命令结束时获取它,并将其存储在变量中。这是该网站上大多数问题提出的问题,但我想在命令运行时执行此操作。 我认为这是可能的,因为许多应用程序已经这样做了,例如许多游戏启动器、应用程序商店等。再一次,我将如何继续做同样的事情? ...

Admin

管道进度报告
progress-information

管道进度报告

假设我正在运行这样的管道: cat input.txt | foo | bar | baz | last_step > result.txt 有没有办法让 shell 在执行时将每个步骤打印到 stderr? 我知道如果命令foo等bar本身打印到 stderr 它将完成此操作。但是,我希望有一个不依赖于提供进度信息的管道步骤的通用解决方案。 ...

Admin

估计 cp -r 时间
progress-information

估计 cp -r 时间

对于/data具有千兆字节和数千个文件和子文件夹的类型文件夹,我经常会这样做 tar -cf data.tar data {it was a 102gb tar file} rsync -P data.tar /some_new_location cd /some_new_location tar -xf data.tar 我rsync -P喜欢,因为它在复制单个文件期间提供以下输出 # rsync -P rhel-8.6-x86_64-dvd.iso ~ rhel-8.6-x86_64-dvd.iso ...

Admin

如何用活动指示器包装流程?
progress-information

如何用活动指示器包装流程?

我有一个在终端会话中运行的进程。该过程不打印任何内容(或者可能打印很多垃圾,我将其重定向到某处),并且需要相当长的时间,例如几分钟。 现在,我想以某种方式包装它,以便在它运行时,我会得到某种视觉指示,表明它没有被卡住。它可能是一个旋转条(--> /-> |-> \-> -),或者在线上来回移动的某个点,或者最坏的情况甚至只是偶尔带有换行符的一些打印输出。 如果进程卡住并且其 CPU 使用率下降到 0 等,则该进度指示器变得“卡住”,则奖励积分。 ...

Admin

有没有任何方便的方法来跟踪多个管道命令的状态输出
progress-information

有没有任何方便的方法来跟踪多个管道命令的状态输出

假设我有一个带有块设备的 serverA,我想通过我正在作为中继使用的计算机将其内容移动到 serverB 的块设备。这对于管道、缓冲区、dd 和类似工具非常方便。 为了监视进度并识别任何瓶颈,我喜欢跟踪每个命令的单独状态输出的进度。 除了通过运行多个终端、后台 (&)、通过 FIFO 循环输出等使这一行变得复杂之外,还有什么方法可以方便地对状态输出进行排序吗? ssh serverA "sudo dd if=/dev/sdc status=progress | mbuffer" | mbuffer | ssh serverB "mbuffer | ...

Admin

如何在bash脚本中添加下载文件的进度状态
progress-information

如何在bash脚本中添加下载文件的进度状态

我想在我的电报机器人上显示(定期更新)文件的下载/上传进度。 我使用 aria2 进行下载,使用 rclone 进行上传。我使用的只是 bash/shell 脚本。 aria2c $url | text=$(grep '%') | curl -s "https://api.telegram.org/bot${TG_TOKEN}/editMessageText" --data "message_id=${msg_id}&text=DOWNLOADED-${text}&chat_id=${ch_id}&parse_mode=HTML&am...

Admin

进度条“对话框”显示基于函数命令执行的进度
progress-information

进度条“对话框”显示基于函数命令执行的进度

当从函数执行每个 echo 命令时,如何使“对话框”进度条增加计数器? 我有下面的代码作为示例,但我在执行函数命令时遇到捕获问题。我可以计算函数中“echo”的数量并将其设置为“items”,但是如何知道echo何时完成以及如何增加栏? #!/bin/bash function two() { echo "test2-1"; sleep 1; echo "test2-2"; sleep 1; echo "test2-3"; sleep 1; echo "test2-4"; sleep 1...

Admin

Rsync进度完成后等待很长时间
progress-information

Rsync进度完成后等待很长时间

当我运行rsync复制大文件时(在本地硬盘驱动器上的目录内) + rsync -P bigfile1.img bigfile2.img bigfile1.img 6,512,705,536 100% 413.76MB/s 0:00:15 (xfr#1, to-chk=0/1) 它首先显示进度达到 100%,然后等待大约相同的时间,没有任何更改,然后才退出。 这可能是由于一些缓存造成的。 我可以显示真实的进度吗? ...

Admin

如何显示目录达到一定大小的进度
progress-information

如何显示目录达到一定大小的进度

我有一台服务器,我正在向该服务器复制大量数据rsync,并且我想监视服务器上的进度,而不是客户端上的进度。 我知道,对于客户端上给定的源目录,需要传输多少数据,并且我还可以找到服务器上目标目录的当前大小。 考虑到这两条信息,有什么方法可以显示当前进度,例如使用pv? ...

Admin

显示 for 循环启动后的进度
progress-information

显示 for 循环启动后的进度

for我在交互式会话中开始循环bash。对于这个问题,我们可以假设循环是这样的 for i in dir/*; do program "$i" done > log 该命令花费的时间比预期长得多,但仍然运行。如何查看当前运行for循环的进度。 非解决方案: 看着log。 不起作用,因为: program预计会安静地运行。您可以将其视为program验证者。如果循环完成而没有任何输出,那么我很高兴。 停止循环。添加某种进度指示(例如echo "$i")。再次开始循环。 不起作用,因为:该循环已经运行了几个小时。我不想浪费当前投入的所有...

Admin

用于监控任意流程的进度和预计到达时间的工具
progress-information

用于监控任意流程的进度和预计到达时间的工具

我正在寻找一个带有两个参数的工具: 要执行的命令,以及 目标值 然后,该工具应连续运行该命令,在命令的输出中查找数字,并估计该数字达到目标值所需的时间。 (我已经知道pv和progress,但这些分别仅限于通过管道和 coreutil 工具传输的数据。我正在寻找更通用的东西。) 例子:假设我想跟踪scp文件传输。然后我会检查发送端的大小,并du -b在接收端持续运行。它看起来像这样: $ du -bs source_directory 5798324564 $ *sometool* 5798324564 "ssh someserver du -...

Admin

使用 unrar-free 和 unar(需要进度完成)和时间戳提取 .rar 文件
progress-information

使用 unrar-free 和 unar(需要进度完成)和时间戳提取 .rar 文件

我已经使用 .rar 文件有一段时间了。 我看到了 unrar-free 和 unar,两者似乎都有我需要的功能。我需要在 CLI 上使用完整路径提取 .rar 档案的工具,具有进度完成功能,但在创建 .rar 档案时尊重文件创建/修改时间。 unrar 和 unar 中我喜欢的部分 - 来自 unrar-free - x Extract files from archive with full path. 解压 - 1:0.0.1+cvs20140707-4 来自乌纳尔- -t, -copy-time ...

Admin

如何处理dd的实时进度?
progress-information

如何处理dd的实时进度?

我正在尝试处理 dd 的实时进度,通过管道感知,应该通过以下方式完成: gzcat "$input" | dd bs="$block_size" count="$count" of="$output" 2>&1 | awk '/copied/ {print $1}' gzcat "$input" | dd status=progress of="$output" 2>&1 | awk '/copied/ {print $1}' 但他们不会打印任何内容,直到最后打印一行。 我猜这是因为dd不打印任何换行符,因此 awk 不会...

Admin

进度命令不显示 mv 进度
progress-information

进度命令不显示 mv 进度

我安装的progress是brew install progress % progress -v progress version 0.13 当我使用mv我使用的命令时progress -w,它因错误的权限错误而失败。 progress -w No command currently running: cp, mv, dd, tar, cat, rsync, grep, fgrep, egrep, cut, sort, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, adb, ...

Admin

当目标是整个设备时如何检查 cp 进度
progress-information

当目标是整个设备时如何检查 cp 进度

要创建 debian 安装棒,请将 iso 复制到设备: cp debian-testing-amd64-DVD-1.iso /dev/sdb 每页: https://www.debian.org/releases/jessie/amd64/ch04s03.html.en 根据这个SE问题: 如何查看cp运行进度? 人们可以使用以下方式监控进度stat -c "%s" /dev/sdb 尽管 thmubdrive 上有指示灯闪烁,但stat正在报告0 我尝试过rsync,但rsync失败了,报告“设备上没有剩余空间” ...

Admin