`Cat / dev / urandom` neden terminalinizi kırıyor?


Yanıtlar:


22

Bir terminalde ileri geri gönderilen normal, yazdırılabilir ASCII karakterleriniz varken, sistemin terminal ile iletişim kurması için kullanılan yazdırılamaz birçok karakter de vardır. Örneğin, bir program karakteri gönderirse 0x07("ASCII Bell karakteri"), terminalinizin bip sesi çıkarması gerekir.

Diğer özel diziler, görüntülenen metnin rengini, hangi yönde görüntülendiğini, pencerenin başlığını, pencerenin boyutunu vb. Değiştirmek için kullanılabilir.

Sen ne zaman

cat /dev/urandom

Bir grup rastgele karakter terminalinize dökülür ve terminal bunun gerçek kontrol kodları olmadığını söyleyemez.

Program terminale etkili bir şekilde rastgele komutlar gönderdiğinden, terminal rasgele, genellikle kullanılamaz durumda kalır.


5

Rastgele çıktının bazıları , imleci gizlemek veya alternatif yazı tipleri seçmek gibi eğlenceli şeyler yapabilen ANSI kaçış kodları ( http://en.wikipedia.org/wiki/ANSI_escape_code ) olacaktır . Başka bir olasılık unicode dizileridir: Rasgele bir bytestream geçerli UTF-8 olmayacaktır ve muhtemelen tüm unicode kullanan terminaller bunu zarif bir şekilde ele almaz.


1

cat /dev/urandom0ve 255bu değerlerin tümü geçerli metin karakterleri değil, arasında rastgele bir bayt akışı sağlar . Terminal penceresi geçersiz veri beslemesi olduğu için işlemesi hiç beklenmiyordu, terminal uygulamasını "bozuk" duruma getirebilirdi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.