了解watch命令和任务如何让您知道任务已完成或命令已执行。很多时候,您需要等待一些事情完成,例如:文件下载。创建或提取tar文件。一个Ansible的工作。其中一些流程有进度指示器,但有时流程是通过抽象层运行的,衡量进度的唯一方法是通过其副作用。其中一些可能是:正在下载的文件不断增长。从充满文件的tarball中提取的目录。Ansible作业构建一个容器。您可以使用如下命令查询它们:$ls-ldownloaded-file$find。|wc-l$podmanps$dockerps但是一遍又一遍地运行这些命令,即使有Bash历史记录和向上箭头的便利,也是乏味的。另一种方法是编写一个小的Bash脚本来自动为您执行这些命令:while:dodockerpssleep2done但是这样的脚本写起来也会很麻烦。您可以编写一个小的通用脚本并将其打包,以便您始终可以使用。幸运的是,其他开源开发者已经有了这样的经验和做法。那是监视命令。安装watchwatch命令是procps-ng包的一部分,所以如果你在Linux上,你已经安装了它。在macOS上,使用MacPorts或Homebrew安装watch。在Windows上,使用Chocolatey。使用watch命令定期运行命令并显示其输出。它有一些文本终端功能,所以只有最新的输出才会出现在屏幕上。最简单的用法是:watch。例如,在dockerps命令前加上watch就是这样做的:$watchdockerps使用watch命令和一些有创意的Unix命令行技巧来生成临时仪表板。例如,计算审计事件:$watch'grepaudit:/var/log/kern.log|wc-l'在最后一个例子中,如果有一个视觉指示表明审计事件的数量已经改变,这可能是有用。watch--differences如果预期会发生变化但您希望某些东西看起来“不同”,则效果很好。它可以突出显示与上一次运行的任何差异。如果您正在搜索多个文件,这将特别有用,因此您可以轻松查看哪个文件发生了更改。如果没有预期的变化,您可以使用watch--differences=permanent要求它们“永久”突出显示,以便您知道需要调查哪些变化。这通常更有用。控制频率最后,有时此命令可能会占用大量资源,因此不应过于频繁地运行。-n参数控制频率。watch默认使用2秒间隔,但watch-n10可能适用于资源密集型情况,例如在子目录中的任何文件中搜索模式:$watch-n10'find.-类型f|xargsgrepsuspicious-pattern'watchingacommandwithwatchwatch命令对于许多临时系统管理任务很有用,在这些任务中,您需要等待一些没有进度条的耗时步骤,然后才能继续下一步。虽然这种情况并不理想,但手表可以让事情稍微好一点。它让您有时间为工作做回顾性笔记!"。下载CheatSheet,让有用的语法和选项触手可及。