📜  带有示例的 Linux 中的 yes 命令(1)

📅  最后修改于: 2023-12-03 14:54:04.304000             🧑  作者: Mango

Linux 中的 yes 命令

在 Linux 系统中,yes 命令是一个非常有用的工具,它会不断地重复打印出指定的字符串,或者默认打印出 "y",从而可以方便地进行测试、调试或者垃圾数据生成等操作。

命令格式
yes [STRING...]
命令用法

如果不指定任何参数,则 yes 命令会默认打印出 "y",并且不断地重复打印。

$ yes
y
y
y
y
...

如果指定了一个或多个字符串作为参数,则 yes 命令会不断地重复打印出这些字符串。每个字符串之间用空格隔开。

$ yes "hello world"
hello world
hello world
hello world
hello world
...
解决问题
  1. 快速回答 y/n 的询问;
  2. 用于管道输入,向命令不停地输入 y 确认;
  3. 生成大量重复数据测试使用;
  4. 在调试和开发中测试代码结果,生成包含指定字符串的数据。
实际场景
用于管道输入

在执行某些命令时,系统会要求确认,以确定操作是否正确。这时,可以使用 yes 命令向该命令输入 y 确认。

例如,当创建一个文件夹时,系统会询问是否要创建该文件夹,这时可以使用 yes 命令向系统输入 y 确认。

$ yes | mkdir newdir
生成重复数据

在某些情况下,我们需要简单的、重复的数据来测试某个程序或算法。可以使用 yes 命令生成这些数据。

例如,如果想要生成一百万行重复的字符串数据:

$ yes "hello world" | head -n 1000000 > data.txt
调试和开发

在调试和开发代码时,我们需要测试某个程序或者算法的结果,这时可以使用 yes 命令生成包含指定字符串的数据。

例如,猜数字游戏。假定程序随机生成一个 1 到 100 的整数,用户需要猜测该数字,程序会根据用户猜测的数字,返回比较的结果。

可以使用 yes 命令来生成包含数字的猜测数列,从而方便测试程序的运行结果。

$ yes 50 | head -n 100
50
50
50
50
...
总结

在 Linux 中,yes 命令是一个非常实用的工具。它可以方便地生成大量的重复数据,用于测试、调试和开发。此外,还可以用于自动向某些命令输入 y 确认。我们建议你试着多使用一下,熟悉它的使用方法和使用场景,提高你的工作效率。