是否可以确定 rm 命令的进度?

Joh*_*ohn 30 rm

使用rm -rf LargeDirectory删除大目录可能需要很长时间才能完成,具体取决于目录的大小。

是否有可能获得状态更新或以某种方式监视此删除的进度以粗略估计命令在过程中的位置?

sim*_*ozz 31

man rm 
Run Code Online (Sandbox Code Playgroud)

使用 -v 选项:

-v, --verbose
explain what is being done
Run Code Online (Sandbox Code Playgroud)

  • 这不是进步。“现在删除 foo/bar”如何帮助你确定完整的东西有多远? (8认同)
  • @flyingsheep 相信它会按字母顺序删除所有内容,至少在 OSX 中是这样,所以它确实在某种程度上有所帮助。 (2认同)

小智 18

我看到这个问题很老了。我想分享对我有用的东西,也许可以帮助其他人。

我使用pv命令行管道查看器获取进度条

这是命令

rm -rv DIR_OR_FILE_NAME | pv -l -s $( du -a DIR_OR_FILE_NAME | wc -l ) > /dev/null

如果您需要 root 权限来删除目录或文件,

sudo rm -rv DIR_OR_FILE_NAME | pv -l -s $( sudo du -a DIR_OR_FILE_NAME | wc -l ) > /dev/null
  • rm -rv:-r递归删除目录和文件。-v详细它列出了要删除的所有文件和目录。

  • pv -l -s:-l计算行数而不是字节数。-s设置要删除的总行数。

  • $( du -a <dir_or_file> | wc -l ):du -a返回指定目录中所有文件和目录的列表。wc -l返回 输出的行数du -a

  • > /dev/null: 将输出发送rm -rv到任何地方。


Ash*_*lax 5

您可以使用 Coreutils Progress Viewer( cv)查看任何当前正在运行的命令的进度。这不像发出一个单一的命令,但你可以看到它的进展。

正在使用的简历示例

我相信有人可以想出一个别名来使用命令运行它。它也适用于cp, mv, dd, tar, gzip/gunzip, cat, etc.. 有关它的更多详细信息,请访问

gitthub Xfennec/进度

  • 由于进度(现在称为“cv”)跟踪打开的文件,而 rm 不会打开它删除的文件,因此这实际上可能不是很有用。 (3认同)
  • @dhag 你的权利,我认为这对 rm 有用。现在我正在争论是否删除答案。唔 (2认同)