ありyes
、基本的には無限に印刷し、UNIX / Linuxでのコマンドy
にはstdout
。それのポイントは何ですか、それはどのように便利ですか?
ありyes
、基本的には無限に印刷し、UNIX / Linuxでのコマンドy
にはstdout
。それのポイントは何ですか、それはどのように便利ですか?
回答:
yesは、そうでなければ要求するコマンドに対して肯定(または否定、たとえばyes n)応答を送信し、それによってコマンドを非対話的に実行するために使用できます。
yesコマンドをheadコマンドと組み合わせて使用して、テスト手段用の大容量ファイルを生成できます。
yesを使用すると、シングルプロセッサを搭載したシステムで100%のプロセッサ使用率が得られるため、システムが高負荷を処理する方法をテストするためにも使用できます(マルチプロセッサシステムの場合、プロセッサごとにプロセスを実行する必要があります)。これは、たとえば、プロセッサが100%で実行されているときにシステムの冷却システムが効果的かどうかを調査するのに役立ちます。
2006年、yesコマンドは、ユーザーのMacBookが断続的なシャットダウン症候群の影響を受けているかどうかをテストする手段として宣伝されました。Mac OS Xでターミナルを介してyesコマンドを2回実行することにより、ユーザーはコンピューターのCPUを最大限に活用でき、障害が熱に関連していたかどうかを確認できました。
ウィキペディア経由:http : //en.wikipedia.org/wiki/Yes_(Unix)
yes `yes yes`
これは議論の余地のある意見かもしれませんが、私の意見では、コマンドラインツールのユーザーインターフェースが悪い場合のい修正です。
一部のコマンドラインツールは、プロンプトでユーザーに質問し、非対話的に実行するオプションがありません。たとえば次のようなものを想像してください
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
質問への回答は標準入力から取得されるため、この問題に対する簡単な解決策は、文字列をy\n
継続的に出力するアプリケーションを使用することyes
です。Unix パイプを使用して、この出力を特定のコマンドへの入力として送信できます。
$ yes | frobnicate
このアプローチの問題の1つは、yes
回答している質問を確認する可能性がないことです。
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
よりよい解決策は、それが利用可能であるとき、など、非対話的に実行するための具体的なオプションですrm -f
かapt-get -y
。これにより、アプリケーションでより賢明な動作をコーディングできます。
ちょうどそれとは別の用途に出くわしました:単なるゼロとは異なるパターンでハードディスクを一掃するのが好きで(例:dd if = / dev / zero of = / dev / sdd bs = 1M)、「yes」を使用しました:
yes UUUUUUUUUUUUU > /dev/sdd
同僚がこれを斬新な方法で使用してパスワードを入力した
yes password | passwd
passwd
ユーザーがルートまたはスーパーユーザーではない場合、古いパスワードを最初に要求し、正しいパスワードが入力されない限り続行しません。そのため、ユーザーはrootであるかpassword
、古いパスワードでもあり、何も変更されません。
ps
またはtop
適切なタイミングで)すべてのローカルユーザーにパスワードが漏洩します。