Wikipedia

yes (Unix)

yes
Operating systemUnix and Unix-like
PlatformCross-platform
TypeCommand
Licensecoreutils: GPLv3+

yes is a command on Unix and Unix-like operating systems, which outputs an affirmative response, or a user-defined string of text, continuously until killed.

Overview

By itself, the yes command outputs 'y' or whatever is specified as an argument, followed by a newline repeatedly until stopped by the user or otherwise killed; when piped into a command, it will continue until the pipe breaks (i.e., the program completes its execution). However, if the user enters a string after 'yes,' yes will output the string the same as it would 'y,' similar to echo.

The version of yes bundled in GNU coreutils was written by David MacKenzie.[1]

The command is available as a separate package for Microsoft Windows as part of the GnuWin32 project[2] and the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities.[3]

Uses

yes can be used to send an affirmative (or negative; e.g. yes n) response to any command that would otherwise request one, thereby causing the command to run non-interactively.

Piping yes to a command with many user-confirmation prompts will automatically answer all of those prompts with "yes" (typing 'y' and pressing return).

The following commands

$ yes | sudo apt install foobar 

will answer the prompts for confirmation with y, effectively installing foobar with sudo apt without any prompts.

This usage may be obsolete today, as most commands that would request response from the user have either a 'force' option (e.g., rm -f) or an 'assume-yes' option (for example,apt -y).

As an example, the following:

$ rm -f *.txt 

is functionally equivalent to

$ yes | rm *.txt 

The yes command in conjunction with the head command can be used to generate large volume files for means of testing. For example, executing

$ yes 1234567 | head -1000 > file 

results in a file consisting of 1000 lines each consisting of eight characters (1, 2, 3, 4, 5, 6, 7 and newline).

yes can be used as an easy way of generating CPU load. In 2006, for example, the yes command received publicity for being a means to test whether or not a user's MacBook is affected by the "Intermittent Shutdown Syndrome" bug, where a MacBook would randomly shut off without any user input. By running the yes command indefinitely twice via Terminal under Mac OS X, users were able to max out their computer's CPU, and thus see if the failure was heat related.[4][5]

Implementation and performance

yes has been implemented with small differences between operating systems and different OS implementations perform different ranging from some MiB/s to dozens of GiB/s.[6][7]

References

  1. ^ yes(1) – Linux User Commands Manual
  2. ^ CoreUtils for Windows
  3. ^ Native Win32 ports of some GNU utilities
  4. ^ "Test for MacBook Random Shutdown Syndrome (RSS)". 2006-08-29. Retrieved 2012-05-09.
  5. ^ "Testing your MacBook for Random Shut Downs". the apple files. 2006-08-02. Archived from the original on 2007-02-10. Retrieved 2008-01-16.
  6. ^ https://matthias-endler.de/2017/yes/
  7. ^ "r/unix - How is GNU 'yes' so fast?". reddit. Retrieved 2020-04-26.

Further reading

External links

This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.