Linux学习笔记_系统输入输出标准(重定向,>,>>,<,2>&1,xargs)

环境:centos7

需求:了解linux的输入输出标准,重定向使用方法,xargs含义


实践:

linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2。

0:标准输入,符号“<”

1:标准输出,符号“1>”,简写成“>”

2:错误输出,符号“2>”。


例:

ls /data

a b  // data路径下有a,b两个文件


cat a

test a


cat b

test b


-----------------------------------------------

cat a c >b 2>&1       // 将a文件和c文件(不存在)的内容重定向至b文件中(覆盖方式)

                                // 2>&1表示错误信息输出方式(路径)与标准输出方式(路径)相同

cat b

test a
cat: c: No such file or directory      //错误信息也重定向至b文件中


-----------------------------------------------

 cat a c >>b 2>&1          //使用>>的输出方式为追加内容,不会覆盖,2>&1写法不变。


cat b

test b

test a

cat: c: No such file or directory

-----------------------------------------------


xargs


xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。

xargs擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。

xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。

xargs的默认命令是echo,空格是默认定界符。

这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。

xargs是构建单行命令的重要组件之一。


例:

find  /data  -type  -f  -name  "*.txt"  |xargs  rm  -f    

//find命令的多行显示结果输出,经过xargs处理后变成单行输入作为rm命令的参数使用(推荐用此方法代替rm删除命令


cat test.txt 

a b c d 

e f g h i j k 

l m n 

o p q r s t u v 

w x y z


cat test.txt | xargs 

a b c d e f g h i j k l m n o p q r s t u v w x y z


cat test.txt | xargs -n3 

a b c 

d e f 

g h i 

j k l 

m n o 

p q r 

s t u 

v w x 

y z


引用\[1\]:ps -ef |grep nr-ue | grep -v grep|awk ‘{print $2}’|xargs sudo kill 2 >/dev/null 2>&1 1、ps -ef |grep nr-ue 。 引用\[2\]: 4.xargs 命令把前面的输出作为后面命令kill -9 的输入,也就是传左边命令截取的进程号给命令kill -9 ps -ef | grep keepalived | grep -v grep | awk '{print $2}' | xargs kill -9 。 引用\[3\]:1、检查Elasticsearch进程 此处按自己需要修改,如果需要匹配多个进程服务可是使用grep -E "Elasticsearch|NodeManager" ps -ef|grep "Elasticsearch" 匹配多个进程服务时可以使用如下命令: ps -ef|grep -E "Elasticsearch|NodeManager" 2、忽略grep进程(grep -v grep) ps -ef|grep "Elasticsearch"|grep -v grep 3、使用awk截取进程号 ps -ef|grep "Elasticsearch"|grep -v grep|awk '{print $2}' 4、xargs将管道前面的输出结果传递给kill -9作为输入 -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。 ps -ef|grep "Elasticsearch"|grep -v grep|awk '{print $2}'|xargs -r kill -9 xargs加-r和不加-r的区别,在进程不存在情况下,不加-r会有无关的错误输出 5、检查进程是否成功被kill掉了 ps -ef|grep "Elasticsearch"|grep -v grep 。 问题:ps auxf | grep dp_service|grep -v grep | awk '{print $2}'| xargs kill > /dev/null 2>&1 回答: 这个命令的作用是查找名为"dp_service"的进程,并将其进程号传递给kill命令进行终止。具体的步骤如下:首先使用ps auxf | grep dp_service命令查找包含"dp_service"关键字的进程,然后使用grep -v grep过滤掉grep进程本身,接着使用awk '{print $2}'截取进程号,最后使用xargs kill命令将进程号传递给kill命令进行终止。> /dev/null 2>&1是将命令的输出重定向到/dev/null,以避免输出到终端。 #### 引用[.reference_title] - *1* [ps -ef |grep nr-ue | grep -v grep|awk ‘{print $2}’|xargs sudo kill 2 >/dev/null 2>&1解析](https://blog.csdn.net/weixin_43951166/article/details/121245296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [实用的kill脚本(ps -ef | grep keepalived | grep -v grep | awk ‘{print $2}‘ | xargs kill -9)](https://blog.csdn.net/weixin_47658562/article/details/123503907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [万能的kill命令:ps -ef|grep Elasticsearch|grep -v grep|awk ‘{print $2}‘|xargs -r kill -9](https://blog.csdn.net/qq_43005694/article/details/128558780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值