“Evet” komutunun amacı nedir?


39

Bir Orada yestemelde sonsuz yazdırır unix / linux komut yiçin stdout. Bunun amacı nedir ve nasıl yararlıdır?


Burada birkaç ekstra olasılık var .

1
olası yinelenen `yes` komuta noktası nedir? ... (Bunu yinelenen olarak işaretleme çünkü diğer yeni soru daha iyi sorulur ve daha iyi cevaplanır).
Aditya


Yanıtlar:


41

evet, aksi halde talep edilmek istenen herhangi bir komuta cevap vermek için kullanılabilir (veya negatif; örneğin evet n), böylece komutun etkileşimli olarak çalışmamasına neden olur.

Yes komutu, head komutu ile birlikte sınama amacıyla büyük hacimli dosyalar üretmek için kullanılabilir.

Bir sistemin yüksek yükleri ne kadar iyi idare ettiğini test etmek için de kullanılabilir, çünkü evet kullanımı,% 100 işlemci kullanımıyla sonuçlanır, tek işlemcili sistemler için (çok işlemcili bir sistem için her işlem için bir işlem yapılması gerekir). Bu, örneğin, bir işlemcinin% 100 hızında çalışırken bir sistemin soğutma sisteminin etkili olup olmayacağını araştırmak için yararlı olabilir.

2006'da, evet komutu, bir kullanıcının MacBook'unun Aralıklı Kapanma Sendromundan etkilenip etkilenmediğini test etmek için bir araç olduğu için tanıtım aldı. Yes komutunu Mac OS X altında Terminal aracılığıyla iki kez çalıştırarak, kullanıcılar bilgisayarlarının işlemcisini azami düzeye çıkarmayı başardılar ve böylece hatanın ısıyla ilgili olup olmadığını görebildiler.

wikipedia ile: http://en.wikipedia.org/wiki/Yes_(Unix)


9
Ekstra hasar için, deneyinyes `yes yes`
sendmoreinfo

3
@sendmoreinfo Evil
Tobias Kienzler

ohh, bu güzel bir stres testi. az önce denedim, sonra yeni bir vm xD isteyen meslektaşımın yanına koştum
Toastgeraet

17

Bu tartışmalı bir fikir olabilir, ama benim görüşüme göre komut satırı araçlarındaki kötü kullanıcı arayüzü için çirkin bir düzeltmedir .

Bazı komut satırı araçları, kullanıcıya bir bilgi istemi ile sorular sorar ve etkileşimli olmayan çalıştırma seçeneğine sahip değildir; örneğin bir şey hayal et

$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...

Sorunun cevabı standart girdiden alındığından, bu sorunun hızlı bir şekilde düzeltilmesi, dizenin y\nsürekli çıktısını alan bir uygulamaya sahip olmaktır yes. Bu çıktıyı verilen bir komuta girdi olarak göndermek için Unix boruları kullanılabilir.

$ yes | frobnicate

Bu yaklaşımla ilgili konulardan biri yes, cevap verdiği soruyu kontrol etme imkanının bulunmamasıdır:

frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y

Kullanılabilir olduğunda daha iyi bir çözüm, rm -fveya gibi etkileşimli olmayan bir şekilde çalışmanın özel bir seçenektir apt-get -y. Bu uygulamada daha mantıklı davranış kodlama sağlar.


1
Diğer tüm cevapları okudum. Bilgisayarınızın yüksek cpu yüklerine verdiği yanıtı test etmek için geçerli bir kullanımı olsa da , tamamen çirkin bir çözümle sizinkilerle aynı fikirdeyim .
Wildcard

6
Elbette, yüksek cpu yüklerine karşı bilgisayar tepkisini test etmek için tescilli yazılımı "Microsoft Windows" kullanabilirsiniz, ancak "evet" açık kaynaktır.
Joker

1
Gerçi en güzel çirkin düzeltmelerden biri
Jezzamon

4

yesHepsini aynı ada sahip aynı dosyayı içeren birden fazla .zip dosyasını açtığımda kullanmaktan hoşlanıyorum ve her durumda ne yapacağımı sordum (örneğin bir lisans sözleşmesi).

yes | for z in *.zip; do unzip "$z"; done 

2

Sadece başka bir kullanımla karşılaştı: sadece bir sıfırdan farklı bir desene sahip bir sabit diski silmek ister (örneğin: dd if = / dev / zero = / dev / sdd bs = 1M) ve bunun için 'yes' kullanılır:

yes UUUUUUUUUUUUU > /dev/sdd


1

Bir iş arkadaşı bunu şifre girmek için yeni bir yöntemle kullandı.

yes password | passwd

passwdilk önce eski parolayı soracak, kullanıcı root veya superuser değilse ve doğru parola girilmeden devam etmeyecektir. Yani kullanıcı root veya passwordeski şifredir ve hiçbir şey değişmez.
Michael Konietzka,

@MichaelKonietzka gerçekten. Ancak bahsettiğiniz şartlarla, hala yararlı bir kullanım durumudur.
frogstarr78

3
Bunun dışında düz metin olarak tarihe devam edecektir. Crazeyyy.
Gleno

3
@ Bash gleno, kaydedilmesini önlemek için bir boşluk ile önce gelebilir ( stackoverflow.com/q/640403/118153 )
Iiridayn

2
Ayrıca, işlem listesindeki ( psveya topdoğru zamanda) tüm yerel kullanıcılara şifre sızdırıyor .
Federico Poloni
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.