在 UNIX shell 下,如何获得与watch命令类似的效果,但使用分页功能,以便在输出超过一个屏幕时可以滚动显示?
换句话说,我想要一个程序是watch什么less是cat.
例如,假设我想观看 的输出qstat,我可以使用
watch qstat
Run Code Online (Sandbox Code Playgroud)
观看qstat的输出,但这只能显示第一个屏幕。
使用 的分页版本watch,我将能够在输出中移动,因为它仍由watch. 目前有没有办法使用现有的实用程序来做到这一点?
我最近在 Debian(和 Ubuntu)中发现了“moreutils”包。它是一组方便的 unix 工具。
命令之一是“小便”。手册页说:
小便就像三通,但用于管道。
然而,这是一个简短的手册页,我已经提交了一个关于它的错误。有谁知道它的作用,如何使用它,为什么要使用它?
我正在设置一个 mongoDB 副本集,我想做的第一件事就是关闭文件系统上的 atime。经过一番研究,我不反对这样做,但我不得不问,atime有什么用?我搜索了互联网,发现很少有“这个应用程序或这个过程使用时间,如果你把它关掉你会很愚蠢”这样的警告,但是作为一个天生偏执的人,我不得不怀疑。
那么,什么使用 atime,如果我将其关闭,会破坏什么?
我有一个程序,如果它在“sudo”下运行,它的行为应该有所不同。有没有办法确定它是否在 sudo 下运行?
更新:有人问我为什么要这样做。在这种情况下,在使用 MacPorts 的 Mac 上有输出告诉您剪切和粘贴特定命令。如果 MacPorts 命令使用“sudo”运行,它应该在示例命令中包含 sudo:
$ sudo port selfupdate
---> Updating MacPorts base sources using rsync
MacPorts base version 2.2.1 installed,
MacPorts base version 2.2.1 downloaded.
---> Updating the ports tree
---> MacPorts base is already the latest version
The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated
^^^^^^^^^ it would be really sweet if it output "sudo port upgrade outdated" instead. It would be …Run Code Online (Sandbox Code Playgroud) 所以我做了一个chmod -x chmod. 我该如何解决这个问题?如何将执行权限返回给 chmod?
我不清楚的最佳顺序是同时捕获什么STDERR,并STDOUT使用相同的文件tee。我知道如果我想通过管道传输到文件,我必须在重定向后映射文件句柄,即
find . >/tmp/output.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
这指示外壳发送STDOUT到/tmp/output.txt然后发送STDERR到STDOUT(现在正在发送到/tmp/output.txt)。
尝试2>&1在重定向文件之前执行不会有预期的效果。
但是,当我想管道使用时,tee应该是:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
Run Code Online (Sandbox Code Playgroud) 我使用Daemontools提供了一种简单可靠的方法来监督我服务器上的 Unix 服务。它运作良好,但它需要不同的思维方式(DJB 方式),一些常见的抱怨是:
我记得大约两年前,一些类似的“主管/看门狗”守护进程正在开发中,但有些仍然有点粗糙。
如果你已经从 Daemontools 切换到其他东西,你选择了什么并且它对你来说效果很好?默认情况下,RedHat 或 Ubuntu 是否带有任何进程管理器实用程序?
在 nagios 中定义和测试新服务时,我一直在重新启动 nagios,然后单击该服务,并尽快重新安排检查,然后等待检查发生。
有没有更有效的方法来做到这一点?我想使用命令行运行该特定检查并获取输出。
如何在不通过管道传输标准输出流的情况下传输标准错误流?
我知道这个命令有效,但它也会写出标准。
Command 2>&1 | tee -a $LOG
Run Code Online (Sandbox Code Playgroud)
我如何得到标准错误?
注意:我想要的是将 stderr 流写入日志并将 stderr 和 stdout 写入控制台。
我有以下树
# upper letters = directory
# lower letters = files
A
|-- B
|-- C
|-- D
|-- e <= file
|-- F
|-- G
Run Code Online (Sandbox Code Playgroud)
我需要将此树复制到另一个目的地,递归地忽略所有空目录。所以目的地最终看起来像:
C
|-- e
Run Code Online (Sandbox Code Playgroud)
你会如何用 unix、rsync 等来做到这一点?