Linux命令之yes

在删除文件或进行一些乱七八糟的危险操作时总需要用户手动输入一个"y"来确定一下,但是如果数量很多的话手动输入就是个灾难啊,yes最初就是为了解决这个问题产生的,比如这种形式:

yes | rm a*

当然我们可以指定-f静默选项不进行确认询问,呃,就当我举了个不太恰当的例子吧,毕竟我删除文件从来都是-f选项,而借助yes的话太麻烦了。

不过它的另一个用法可能大多数人都不知道,就是可以指定一行字符串然后不断将这行字符串送到标准输出,实际上yes本来的作用就是接收一行字符串然后不断将它输出,如果未指定的话默认就是y,这个是写在手册里的:

Repeatedly output a line with all specified STRING(s), or ‘y‘.

所以没事啃下手册还是有些用处的,这个特性可以将yes当做“crazy-repeat”使用(我瞎取的名字,不过还挺形象的),即将一行字符串不断的重复输出到标准输出:

yes "foobar"

在某些情况下可以用来模拟数据产生的过程,比如模拟日志疯狂产生的过程:

yes "[2018-08-08 18:30:17] Thread-10 : foo bar"

总结:

1. yes用来将指定字符串不断送到标准输出,如果未指定字符串的话默认就是y,如果进程不被杀掉会一直发送直到天荒地老。

2. 在某些情况下可以用来模拟不断产生的数据,优点是实现简单,缺点是每行数据都是一样的不会变,不如写个脚本模拟。

最后附上文档man yes:

YES(1)                                                            User Commands                                                           YES(1)

NAME
       yes - output a string repeatedly until killed

SYNOPSIS
       yes [STRING]...
       yes OPTION

DESCRIPTION
       Repeatedly output a line with all specified STRING(s), or ‘y‘.

       --help display this help and exit

       --version
              output version information and exit

       GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report yes translation bugs to <http://translationproject.org/team/>

AUTHOR
       Written by David MacKenzie.

COPYRIGHT
       Copyright ? 2013 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
       The  full documentation for yes is maintained as a Texinfo manual.  If the info and yes programs are properly installed at your site, the
       command

              info coreutils ‘yes invocation‘

       should give you access to the complete manual.

GNU coreutils 8.22                                                 April 2018                                                             YES(1)

.

原文地址:https://www.cnblogs.com/cc11001100/p/9539623.html

时间: 2024-10-15 19:06:18

Linux命令之yes的相关文章

linux命令格式,获取帮助及其目录结构简要理解

我们都知道,一台计算机要是没通电,和一堆废铁没什么区别.那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种: GUI:图形用户接口.如我们平时使用的Windows  ,linux的X window,有KDE和GOME. CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等. 例如:[[email protected] ~]# commandbin root:当前登录的用户名. dxlcentOS:当前主机的主机名.@是一个分隔

linux 命令 及学习进度综合整理

linux  命令  及学习进度综合整理 pwd 查看当前所在位置 cd  跳转到什么什么目录 ls  显示所有文件和目录 ls -l  显示目录详细信息 cd ..  返回上一级 vi  lnany.txt  创建一个文件 vi  .lnany.txt    创建一个隐藏文件 vim 是 vi 的升级版 功能更多 出现 -bash: vim: command not found 的解决办法 i. 那么如何安裝 vim 呢?输入rpm -qa|grep vim 命令, 如果 vim 已经正确安裝

9个使用时必须时刻警惕的Linux命令

Linux shell/terminal命令非常强大,即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除.为了避免这样的事情发生,我们应该时刻注意PHP代码&命令,今天为大家带来9个必须时刻警惕的Linux命令&代码. Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除. 在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息. 一般来说在 Web 上推荐新的 Linux 用户执行这些命

Linux命令之scp

Linux命令之scp 功能说明 scp 是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且 scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来.另 外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了.虽然 rsync比scp会快一点,但当小文件众多的情况 下,rsync会导致硬盘I/O非常高

linux命令--top命令&free命令

top命令是用来查看系统性能的工具,能够实时显示各个进程的状况,包括进程ID.内存占用率.CPU占用率等. top - 23:12:04 up 79 days,  8:14,  1 user,  load average: 0.00, 0.01, 0.05 Tasks: 573 total,   2 running, 571 sleeping,   0 stopped,   0 zombie Cpu(s):  0.2%us,  0.4%sy,  0.0%ni, 99.5%id,  0.0%wa,

linux命令学习笔记

操作文件和目录: copy: $ cp file1 file2 $ cp -r dir1 dir2 move: $ mv file .. $ mv file dir/ rename: $ mv file1 file2 $ mv dir1 dir2 # dir2如果存在,则为移动操作 remove: $ rm file $ rm -r dir 创建文件: $ touch a.txt $ >a.txt 创建目录: $ mkdir dir 查看文件: #一般 $ cat file #查看文件类型: $

cv:显示Linux命令运行进度

cv: 显示 cp.mv 等命令的进度 2014-07-14 By toy Posted in Apps Edit on GitHub 在 Linux 系统中 , 大多数命令从来都是信奉 “ 沉默是金 ” 的准则 , 所以当我们利用 cp 复制文件的时候并不能看到所谓的进度条 . 如果你在意这一点 , 那么不妨来用用 cv. cv 是 Coreutils Viewer, 它能够显示传输数据的进度 , 包括百分比 . 大小 . 以及速率等信息 .cv 支持 coreutils 中的基本命令 , 比

三个网站让你成为Linux命令行高手

[转载自http://www.linuxeden.com/html/news/20091119/69183.html] Linux的命令行是通向Linux高级应用的必经之路,Linux系统管理员.开发者都是学习对象.Susan Linton向我们推荐了三个学习Linux命令行的网站,现在介绍给大家: 1. LinuxCommand LinuxCommand是一个学习Linux命令行最好的网站之一.网站分为:学习Shell.写Shell脚本.脚本库.超级MAN页面. 2. O'Reilly的Lin

linux 命令解析2

基本命令  uname -a -s hostname显示主机名若是要永久生效,则编辑以下文件  #vim /etc/sysconfig/network    ssh远程登录#ssh 10.1.1.54 (是以root用户登录的)  #ssh [email protected](是以tom身份登录)  #ssh -Y 10.1.1.54(可以启动图形界面的远程登陆) scp远程拷贝  #scp 10.1.1.54:/etc/passwd /tmp/test(将目的地址10.1.1.54上的/etc

Windows下使用linux命令

我参阅了这份文章: 让windows cmd也用上linux命令 原文时间有点久了,Cygwin也更新了... 所以我的做法简单了很多... 到Cygwin官网下载安装包:https://cygwin.com/install.html 一路安装下去... 假如安装路径是:C:\cygwin64 那么就在环境变量Path后面加上C:\cygwin64\bin 好了,完成了,没别的了 觉得太简单了?那我补充下,Cygwin官网下载下来的不能叫安装包,叫引导程序比较合适.英文好的可以看该页面的Q&A,