Come produrre output costante in una finestra di Terminale?

5

Come quando fai brew install wget o mysqld restart Voglio che alcune linee di informazione scorrano costantemente attraverso la mia finestra di terminale. C'è forse qualcosa che posso monitorare o qualsiasi flusso di informazioni in cui posso saltare? È forse possibile osservare i processi di monitoraggio delle attività nel terminale?

Perché dovrei averlo? Perché sembra fantastico quando hai quel codice simile a Matrix che gira sul tuo monitor. E potrei averne bisogno per alcune scene di home movie.

    
posta leymannx 06.08.2013 - 17:25
fonte

5 risposte

7

Trarre idee da questo unix.stackexchange.com Q & A a proposito generazione di output di terminale stile "hollywood" .

Il tipo lento

Questo script produce quella digitata in ritardo come l'effetto che vedi nei film. Dove il computer stampa le cose nel terminale ad un ritmo davvero terribile e lento.

Salva quanto segue in un file chiamato hollywood :

#!/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

Imposta le autorizzazioni di esecuzione sul file hollywood :

chmod +x hollywood

E poi conduci l'output da dmesg per dargli una grossa porzione di testo dall'aspetto sgargiante per stampare lentamente sullo schermo:

dmesg | hollywood

The Hex Dump

Questo scarica i dati esadecimali sullo schermo. Sembra impressionante ma è in gran parte incomprensibile per le masse.

hexdump -C /dev/urandom | GREP_COLOR='1;32' grep --color=auto 'ca fe'

The Matrix

Numbers. Numeri ovunque.

LC_CTYPE=C tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"

Sfortunatamente, con quello non c'è un buon modo per controllare la velocità.

C'è una versione migliore di questa vista disponibile Homebrew chiamata cmatrix . Puoi installarlo ed eseguirlo con:

brew install cmatrix
cmatrix
    
risposta data 06.08.2013 - 19:44
fonte
5

Se hai alcuni file in crescita, puoi utilizzare tail -f . Ad esempio

 $ tail -f /var/log/system.log

Ci sono diversi strumenti terminali simili al monitor delle attività, per esempio top (fornito con OS X) e htop (dovrai installarlo con MacPorts o Homebrew).

Puoi anche scaricare i sorgenti di un grande pacchetto software (ad es. gcc, OpenOffice) e poi compilarlo. Questo di solito genera molto output sulla console.

Potresti anche generare enormi elenchi di directory

$ ls -lRt

o find (il secondo ritarderà ogni riga di un secondo)

$ find .
$ find . -print -exec sleep 1 \;
    
risposta data 06.08.2013 - 17:32
fonte
3

matrix command :

od -c /dev/random

Leggi attentamente, in un dato momento vedrai la chiave segreta.

    
risposta data 06.08.2013 - 19:38
fonte
2

Qualcosa come

while sleep 1; do
    t=$(( RANDOM % 80 ))
    for ((i=0; i < $t; i++)); do
        echo -n '*'
        sleep 1
    done
    echo
done

potrebbe fare il trucco. Cambia la lunghezza dei posti letto per diverse velocità e sostituisci * con quello che vuoi (anche $(( RANDOM % 10 )) per numeri diversi).

    
risposta data 06.08.2013 - 18:26
fonte
0

Puoi provare tcpdump in Terminale. Elenca le connessioni che il tuo computer effettua attraverso le interfacce di rete attive. Quando hai un'attività di rete mostrerà i dati in esecuzione sullo schermo.

    
risposta data 06.08.2013 - 19:19
fonte

Leggi altre domande sui tag