从 shell 输出“好莱坞黑客场景”

Xer*_*bee 36 shell

这似乎是一个奇怪的问题,但是您会用什么来创建典型的好莱坞黑客场景?

我从朋友那里得到了这个请求,我的大脑一片空白。我能想到的只有《黑客帝国》等电影中的所有 nmap 场景。

但这需要在带有默认 OSX 的 Mac 上完成,我认为这是 *nix 的某种风格,对吧?他们无法访问互联网,因此不可能使用外部工具进行准备。

我正在考虑将相当于 /var/log/messages 的内容写到屏幕上......

Chr*_*own 34

如果您询问如何一次将一个字符打印到屏幕上(好莱坞电影中常见的“黑客”风格),以下脚本就足够了(它需要来自 的输入stdin)。

bash

#!/bin/bash

while IFS= read -r line; do
    length="${#line}"
    bol=1
    for (( offset = 0 ; offset < length ; offset++ )); do
        char="${line:offset:1}"
        printf '%s' "$char"
        if (( bol )) && [[ "$char" == " " ]]; then
            continue
        fi
        bol=0
        sleep 0.05
    done

    if (( length == 0 )); then
        sleep 0.$(( RANDOM % 3 + 2 ))
    else
        sleep 0.$(( RANDOM % 7 + 3 ))
    fi

    printf '\n'
done
Run Code Online (Sandbox Code Playgroud)

或者,一个更简单的 C 版本:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {
    char buf[1];
    int len;

    while ((len = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
        if (write(STDOUT_FILENO, buf, len) != len) {
            perror("write");
            return EXIT_FAILURE;
        }
        usleep(50000);
    }
    if (len != 0) {
        perror("read");
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

如果您想dmesg用作输入,例如:

dmesg | hollywood
Run Code Online (Sandbox Code Playgroud)

  • 在计时中添加一些 `$RANDOM` 延迟也可能很有趣:-) (2认同)
  • 这很可笑。绝对是“hacky”输出的赢家...... (2认同)

Wie*_*err 14

export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"
Run Code Online (Sandbox Code Playgroud)

这(以及来自http://www.commandlinefu.com/commands/view/6663/pretend-to-be-busy-in-office-to-enjoy-a-cup-of-coffee 的其他命令)也似乎非常, ,hackish'' 并让大多数在特定时刻盯着终端的人感到困惑;)

  • 无需导出 GREP_COLOR,也无需使用 cat。只需使用`hexdump -C /dev/urandom | GREP_COLOR='1;32' grep --color=auto 'ca fe'` (6认同)

pol*_*mon 6

  1. 将 Compiz 与 Wall、Expose、部分透明的窗口等一起使用。
  2. 至少在一个屏幕上使用 tcpdump。
  3. 使用 IRC 和 Irssi 与另一个屏幕上的其他“黑客”交谈。
  4. 编译内核。你不需要安装它,只需编译它,制作模块,然后通过清理编译对象并重新启动编译来重新开始。使用 GCC 颜色来增强效果。
  5. 在一个屏幕上启动 OpenBSD,如果您没有备用机器,您可以使用虚拟机来实现。
  6. 的逐行打印dmesg
  7. 在 Gvim 中打开一些源代码文件,并使用 Cobald 颜色方案或我的.
  8. 修改 xscreensaver "phosphor" 并在窗口中启动它。它可以一个字符一个字符地打印东西。我已经使用它几次来获得视觉效果。
  9. 将 mplayer 与 aal​​ib 或 cacalib 一起使用。有一个矩阵过滤器,但这似乎是一个廉价的剽窃。
  10. 我建议使用 zsh,带有彩色 ls 输出(dircolor),以及漂亮的外壳。