टर्मिनल विंडो में निरंतर उत्पादन कैसे करें?


5

जैसे जब आप करते हैं brew install wgetया mysqld restartमैं चाहता हूं कि जानकारी की कुछ लाइनें लगातार मेरे टर्मिनल विंडो के माध्यम से चलती हैं। क्या ऐसी कोई चीज है जिसकी मैं निगरानी कर सकता हूं या जानकारी की कोई भी धारा जिसमें मैं कूद सकता हूं? क्या टर्मिनल में गतिविधि मॉनिटर प्रक्रियाओं को देखना संभव है?

मैं ऐसा क्यों करना चाहूंगा? क्योंकि यह सुपर कूल दिखता है जब आपके पास वह मैट्रिक्स जैसा कोड आपके मॉनीटर पर चलता है। और मुझे कुछ घरेलू फिल्म के दृश्यों की आवश्यकता हो सकती है।


मैट्रिक्स की तरह (उर्फ ऊपर नीचे) या काढ़ा (क्षैतिज) के समान दो अलग-अलग चीजें हैं, वास्तव में आप क्या देख रहे हैं? और क्या आपने पहले से ही शक्तिशाली Google से जवाब मांगा था?
nohillside

बिल्कुल अलग, आप सही हैं! अब जब मैंने इसे फिर से देखा, तो मैट्रिक्स जैसा दिखने वाला खिलौना या स्क्रीनसेवर चलाने वाले उत्पादक उपकरण की तुलना में बहुत अधिक दिखता है। Homebrew- की तरह बेहतर होगा। मुझे लगता है कि यादृच्छिक संख्याओं को टर्मिनल को चलाने की अनुमति देने के बारे में मुझे कुछ बच्चे के ट्यूटोरियल मिले हैं, लेकिन यह बहुत ही पेशेवर नहीं लगता है।
लीमैनएक्स

एक प्रमुख कार्यक्रम के स्रोत कोड को डाउनलोड करें और इसे अपने टर्मिनल में संकलित करें, जो " पेशेवर " दिखाई देगा , कुछ और बहुत अधिक शोर है जब तक कि यह कुछ लॉग देखने जैसा उपयोगी आउटपुट न हो (जैसा कि @Matteo से पता चलता है)। बेशक, संकलन भी प्रमुख संसाधन लेता है।
nerdwaller 16


जवाबों:


7

इस unix.stackexchange.com Q & A से विचारों को खींचना "हॉलीवुड" स्टाइल टर्मिनल आउटपुट उत्पन्न करने के बारे में

धीमी प्रकार

यह स्क्रिप्ट उस विलंबित टाइपिंग को उत्पन्न करती है जैसे आप फिल्मों में देखते हैं। जहां कंप्यूटर टर्मिनल में चीजों को कुछ बहुत ही भयानक और धीमी दर पर प्रिंट करता है।

निम्नलिखित फ़ाइल को नाम से सेव करें 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

फ़ाइल पर निष्पादन अनुमतियाँ सेट करें hollywood:

chmod +x hollywood

और फिर इसे आउटपुट से पाइप dmesgकरें ताकि स्नेज़ दिखने वाले टेक्स्ट का एक बड़ा हिस्सा धीरे-धीरे स्क्रीन पर प्रिंट हो सके:

dmesg | hollywood

हेक्स डंप

यह स्क्रीन पर हेक्स डेटा को डंप करता है। प्रभावशाली लग रहा है, लेकिन बड़े पैमाने पर जनता के लिए अजेय है।

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

साँचा

नंबर। हर जगह नंबर।

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

दुर्भाग्य से, उस गति को नियंत्रित करने का एक अच्छा तरीका नहीं है।

इस उपलब्ध दृश्य का एक बेहतर संस्करण है Homebrew जिसे cmatrix कहा जाता है । आप इसे स्थापित और चला सकते हैं:

brew install cmatrix
cmatrix

महान समाधान। हेक्स डंप लाइन को हालांकि 'पर समाप्त होना चाहिए। मैंने इसे संपादित करने की कोशिश की, लेकिन स्टैकएक्सचेंज को कम से कम 6 पात्रों को बदलने की उम्मीद है। क्यूं कर? - दुर्भाग्य से "tr -c" [: digit:] "" </ dev / urandom "OS X 10.11.6 पर मेरे लिए" tr: अवैध बाइट अनुक्रम "त्रुटि पैदा करता है।
एलेक्स Ixeras

@AlexIxeras की अच्छी पकड़। तय की।
इयान सी

धन्यवाद। कोई भी विचार क्यों "tr -c" [: digit:] "" </ dev / urandom "परिणाम में त्रुटि" tr: अवैध बाइट अनुक्रम "?
एलेक्स इक्सरस

@AlexIxeras आह, हाँ। /dev/urandomगैर- ASCII वर्ण आउटपुट कर रहा है। मैंने उदाहरण पंक्ति को ठीक किया है ताकि trगैर-ASCII वर्णों को अनदेखा करें और शिकायत न करें।
इयान सी

5

यदि आपके पास कुछ फाइलें हैं जो आप बढ़ रहे हैं, तो आप उपयोग कर सकते हैं tail -f। उदाहरण के लिए

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

गतिविधि मॉनिटर के समान कई टर्मिनल उपकरण हैं, उदाहरण के लिए शीर्ष (ओएस एक्स के साथ दिया गया) और हॉप्ट (आपको इसे मैकपोर्ट्स या होमब्रे के साथ स्थापित करना होगा)।

आप एक बड़े सॉफ़्टवेयर पैकेज (जैसे, जीसीसी, ओपनऑफ़िस) के स्रोत भी डाउनलोड कर सकते हैं और फिर उसे संकलित कर सकते हैं। यह आमतौर पर कंसोल पर बहुत अधिक आउटपुट उत्पन्न करेगा।

आप विशाल निर्देशिका लिस्टिंग भी उत्पन्न कर सकते हैं

$ ls -lRt

या find(दूसरा व्यक्ति प्रत्येक पंक्ति को एक सेकंड में देरी करेगा)

$ find .
$ find . -print -exec sleep 1 \;

topकाफी अच्छा है, कुछ अक्षर लगातार बदल रहे हैं। लेकिन स्क्रीन पर कोई रेखाएँ नहीं दौड़ रही हैं। सूत्रों को डाउनलोड करने पर, मुझे लगता है कि यह केवल मनोरंजन के लिए बहुत अधिक डेटा है।
16

1
cat /var/log/system.logएक पाइप के साथ धीमी प्रकार की स्क्रिप्ट के नीचे संयोजित करें और आपके पास टर्मिनल आउटपुट का एक अच्छा, निरंतर प्रवाह होगा।
इयान सी

3

matrix command:

od -c /dev/random

ध्यान से पढ़ें, निश्चित समय पर आपको गुप्त कुंजी दिखाई देगी।


2

कुछ इस तरह

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

चाल हो सकती है। अलग-अलग गति के लिए नींद की लंबाई बदलें और *जो चाहें (यहां तक $(( RANDOM % 10 ))कि अलग-अलग संख्याओं के लिए) के साथ बदलें ।


0

आप tcpdumpटर्मिनल में कोशिश कर सकते हैं । यह आपके कंप्यूटर द्वारा सक्रिय नेटवर्क इंटरफेस के माध्यम से किए गए कनेक्शनों को सूचीबद्ध करता है। जब आप कोई भी नेटवर्क गतिविधि कर रहे हों तो यह स्क्रीन पर रनिंग डेटा दिखाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.