linux - 限制所有 Linux 命令的输出

标签 linux bash

我正在寻找一种方法来限制 Linux 中所有命令行程序产生的输出量,最好在限制时告诉我。

我正在处理显示延迟的服务器。有时我会不小心运行一个向终端输出大量文本的命令,例如在大文件上使用 cat 或在包含许多文件的目录上使用 ls。然后我必须等待一段时间才能将所有输出打印到终端。

那么有没有一种方法可以自动将所有输出传输到 headwc 之类的命令中,以防止必须将太多输出打印到终端?

最佳答案

我不知道一般情况,但对于每个众所周知的命令(cat、ls、find?) 您可以执行以下操作:

  • 将副本硬链接(hard link)到现有实用程序
  • 编写一个小的 bash 函数调用实用程序和管道到 head(或 wc,或其他)
  • 别名调用您的函数的实用程序的名称。

所以沿着这些思路(完全未经测试):

$ ln `which cat` ~/bin/old_cat

function trunc_cat () {
   `old_cat $@ | head -n 100`
}

alias cat=trunc_cat

关于linux - 限制所有 Linux 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335425/

相关文章:

运行守护进程后找不到守护进程日志

linux - epoll_wait返回EPOLLERR时如何获取errno?

linux - 获取每个核心使用 BASH

wordpress - 如何从Shell脚本向docker运行函数和变量?

c++ - Linux/Ubuntu 中的 OpenCV 安装

linux - 在 Ubuntu Bash Shell 上使用 read -d 选项

linux - 根据文件名对文件进行排序

bash - 将输出重定向到 bash 数组

linux - 如何将输出分配给两个 bash 数组变量

linux - 循环 bash 脚本