yes(Unix)

本頁使用了標題手工轉換,涉及首字符小寫
求聞百科,共筆求聞

yes是一個Unix命令,這一程序不斷輸出表示肯定的回應(或是用戶指定的字符串)直到程序被結束。

描述

yes先輸出'y'或者任意用戶以命令行參數形式給出的字符串,再輸出一個換行,並反覆這個過程直到用戶終止或程序被殺死。當作為管道接入其他命令時,程序在管道斷開時結束(例如當另一程序完成執行時)。

這一命令也用於測試系統處理高負載的能力,因為使用yes將對單處理器系統導致100%的處理器使用率(對於多核心系統,進程必須為每個處理器執行)。因此,這個命令可以用於調查系統的冷卻系統是否可以在處理器負載保持在100%時有效運作。

使用

yes可對一些需要用戶應答的程序輸出表示確定的回應(也可以輸出否認的回應,如命令:"yes n"),這樣就可以使一些需要用戶交互的命令以非交互的形式運行。

這種用法或許在今天已經過時,因為大多詢問用戶回應的命令都有『force’參數(例如:"rm -f"),或者是『assume-yes』參數(例如:Debian及其衍生系統中的"apt-get -y")

例如,下列命令:

   % rm -f *.txt

與下列命令:

   % yes | rm *.txt

的效果是一樣的。

yes命令也常與head命令配合使用,產生體積較大的文件供一些測試工作使用。例如,執行命令:

   % yes 1234567 | head -1000 > file

將產生一個包含1000行的文件,其中的每一行都包含8個字符(1, 2, 3, 4, 5, 6, 7 與換行)

2006年,yes命令因為用於測試用戶的MacBook是否受到了間歇性關機問題的影響而獲得了一些知名度。在Mac OS X下通過在Terminal執行兩次yes命令,用戶可以將他們計算機的CPU負載提升到最大,這樣就可以檢查間歇性關機錯誤是否是由於散熱相關問題造成的。[1][2]

參考資料

  1. Test for MacBook Random Shutdown Syndrome (RSS). 2006-08-29 [2012-05-09]. 
  2. Testing your MacBook for Random Shut Downs. the apple files. 2006-08-02 [2008-01-16]. 

外部連結