首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供运行命令的进度指示符是违背linux精神的吗?

问提供运行命令的进度指示符是违背linux精神的吗?
EN

Unix & Linux用户
提问于 2012-10-08 22:14:28
回答 2查看 439关注 0票数 0

可能重复: 为什么cp没有像wget这样的进度条?

最近,我一直在处理Linux中相当大的文件。我经常使用诸如sed、cut、sort、uniq、awk和perl之类的命令来切片、骰子和查看这些大型文件的内容。我通常不确定这样的操作是否会在几秒钟、几个小时、几天内完成,还是“永远不会”。

其他平台,如Windows、Mac和Internet,可以快速地向用户显示进度条指示符,以显示工作或上传的进度,甚至还可以告诉用户还有多少时间。

使用以上大多数示例,通过积极考虑命令是如何修改文件的,然后检查磁盘上输出的当前大小,可以猜测当前的进度。或者通过观察磁盘上文件大小的变化速度。但是,对于sort -d -u big_file > output_file这样的命令,似乎没有可能知道操作将在一分钟内还是一年内完成。

这个缺失的特征是故意的吗?有linux的方法吗?这种需要通常只是被较小的文件排除了吗?

一个真正的haxor仅仅是通过直接从.pid文件中扫描值来直观地知道这些操作的进展吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2012-10-08 22:28:21

是的,这违背了UNIX的精神。作为一项规则,Unix命令在成功时不返回输出;它们只在错误时提供输出。这对自动化很有好处;脚本可以将命令中的任何输出作为错误报告处理,并将其记录下来或发送给sysadmin。这就是cron守护进程的工作方式。

请记住,Unix的设计是自动化的,而不是让sysadmin在控制台上盘旋,监视发生的一切。

尽管如此,许多实用程序都具有与-verbose (或-v )标志相当的功能,以提供更多的输出。例如,rsync有--进度标志。还有一些工具将检测它们是在交互会话中使用,还是在脚本中使用,并相应地调整输出。Wget为交互式会话提供了一种进度指示,为脚本提供了另一种,但可以完全沉默。

还有几种实用工具(例如bar、dbar、pv)被设计成用于数据传输中的管道,并表明进展情况。把他们加到需要的地方。

票数 3
EN

Unix & Linux用户

发布于 2012-10-08 22:21:04

pv是你的朋友。将它插入您想要看到进展的任何地方。

喜欢

代码语言:javascript
复制
pv big_file | sort ...
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/50279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档