Pytanie:
Jak wytwarzać stałe dane wyjściowe w oknie terminala?
leymannx
2013-08-06 20:25:38 UTC
view on stackexchange narkive permalink

Na przykład, gdy wykonujesz brew install wget lub mysqld restart Chcę, aby niektóre linie informacji stale przepływały przez okno mojego terminala. Czy jest może coś, co mogę monitorować lub jakikolwiek strumień informacji, do którego mogę wskoczyć? Czy możliwe jest obserwowanie procesów monitorowania aktywności w terminalu?

Dlaczego miałbym to mieć? Ponieważ wygląda super fajnie, gdy na monitorze działa kod podobny do Matrixa. Mogę tego potrzebować do niektórych domowych scen filmowych.

Matrix-like (aka top down) lub podobny do napar (poziomo) to dwie różne rzeczy, czego dokładnie szukasz? A czy zapytałeś już potężnego Google o odpowiedź?
Zupełnie inaczej, masz rację! Teraz, gdy spojrzałem na to ponownie, coś podobnego do Matrix znacznie bardziej przypomina zabawkę lub wygaszacz ekranu niż wydajne działające narzędzie. Homebrew-like byłby znacznie lepszy. Znalazłem tutoriale dla dzieci na youtube o tym, jak pozwolić liczbom losowym biegać przez terminal, ale to nie wygląda zbyt profesjonalnie.
Pobierz kod źródłowy dużego programu i skompiluj go w swoim terminalu, który będzie "wyglądał" * profesjonalnie *, cokolwiek innego jest po prostu szumem, chyba że jest to przydatne wyjście, takie jak oglądanie niektórych dzienników (jak sugeruje @Matteo). Oczywiście kompilacja również pochłania duże zasoby.
Zobacz: http://unix.stackexchange.com/questions/21347/output-hollywood-hacker-scene-from-a-shell
Również powiązane [tutaj jest interesująca strona od jednego z facetów, którzy pracowali nad Tronem, gdzie mówi o tym, jak sprawili, że komputer wyglądał na materiał do filmu] (http://jtnimoy.net/workviewer.php?q=178).
Pięć odpowiedzi:
Ian C.
2013-08-06 22:44:23 UTC
view on stackexchange narkive permalink

Czerpiąc pomysły z unix.stackexchange.com Q&A na temat generowania danych wyjściowych terminala w stylu hollywood.

Slow Type

Ten skrypt tworzy opóźnione pisanie, jak w przypadku filmów. Gdzie komputer drukuje rzeczy w terminalu w naprawdę okropnym i wolnym tempie.

Zapisz poniższy fragment do pliku o nazwie hollywood:

  # ! / bin / bashwhile 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" == ""]]; następnie kontynuuj fi bol = 0 uśpij 0.05 gotowe if ((length == 0)); następnie uśpij 0. $ ((RANDOM% 3 + 2)) else uśpić 0. $ ((RANDOM% 7 + 3)) fi printf '\ n'done  

Ustaw uprawnienia wykonywania na plik hollywood:

  chmod + x hollywood  

A następnie potokuj do niego dane wyjściowe z dmesg aby nadać mu dużą porcję atrakcyjnie wyglądającego tekstu, który będzie powoli drukowany na ekranie:

  dmesg | hollywood  

Hex Dump

Zrzuca dane szesnastkowe na ekran. Wygląda imponująco, ale jest w dużej mierze niezrozumiały dla mas.

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

Matryca

Liczby. Wszędzie liczby.

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

Niestety z tym nie ma dobrego sposobu na kontrolowanie szybkości.

Istnieje lepsza wersja tego dostępnego widoku Homebrew o nazwie cmatrix. Możesz go zainstalować i uruchomić za pomocą:

  brew install cmatrixcmatrix  
Świetne rozwiązanie.Wiersz Hex Dump powinien kończyć się na „chociaż”.Próbowałem go edytować, ale Stackexchange spodziewa się zmiany co najmniej 6 znaków.Czemu?—Niestety "tr -c" [: digit:] "" "
@AlexIxeras dobry chwyt.naprawiony.
Dzięki.Masz jakiś pomysł, dlaczego "tr -c" [: digit:] "" "
@AlexIxeras ah, tak.`/ dev / urandom` wyświetla znaki inne niż ASCII.Poprawiłem przykładową linię, więc `tr` po prostu ignoruje znaki spoza ASCII i nie narzeka.
Matteo
2013-08-06 20:32:48 UTC
view on stackexchange narkive permalink

Jeśli masz jakieś rosnące pliki, możesz użyć tail -f . Na przykład

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

Istnieje kilka narzędzi terminalowych podobnych do monitora aktywności, na przykład top (dostarczane z OS X) i htop (będziesz musiał zainstalować go z MacPorts lub Homebrew).

Możesz także pobrać źródła dużego pakietu oprogramowania (np. gcc, OpenOffice), a następnie go skompilować. Zwykle generuje to dużo danych wyjściowych na konsoli.

Możesz także wygenerować ogromne listy katalogów

  $ ls -lRt  

lub find (drugi opóźni każdą linię o jedną sekundę)

  $ find. $ find. -print -exec sleep 1 \;  
`top` jest całkiem fajny, niektóre postacie ciągle się zmieniają. Ale na ekranie nie ma linii. Pobierając źródła, uważam, że to za dużo danych, żeby tylko się bawić.
Połącz `cat / var / log / system.log` z potokiem do wolnego skryptu typu poniżej, a uzyskasz ładny, ciągły przepływ danych wyjściowych Terminala.
dan
2013-08-06 22:38:39 UTC
view on stackexchange narkive permalink

komenda matrix :

  of -c / dev / random   Przeczytaj uważnie, w danym momencie zobaczysz tajny klucz. 
Doskonała odpowiedź!
nohillside
2013-08-06 21:26:31 UTC
view on stackexchange narkive permalink

Coś w rodzaju

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

może załatwić sprawę. Zmień długość uśpienia dla różnych prędkości i zamień * na cokolwiek chcesz (nawet $ ((RANDOM% 10)) dla różnych liczb).

Saaru Lindestøkke
2013-08-06 22:19:16 UTC
view on stackexchange narkive permalink

Możesz wypróbować tcpdump w Terminalu. Zawiera listę połączeń wykonywanych przez komputer za pośrednictwem aktywnych interfejsów sieciowych. Kiedy masz jakąkolwiek aktywność sieciową, na ekranie będą wyświetlane bieżące dane.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...