linux 常用命令ppt(xargs命令的使用场景)
linux 常用命令ppt(xargs命令的使用场景)
2024-11-22 08:05:18  作者:抱琴问知音  网址:https://m.xinb2b.cn/life/cdv335168.html

man xargs是这样描述xargs的用途:

xargs is used to build and execute command lines from standard input.

中文意思大致是,xargs是基于标准输入构建和执行命令行。

Linux系统中一个命令的语法是: 命令名称 [命令选项] [命令参数]。其中,命令选项是以-或--开头的,命令选项的数量有时不止一个,可以有多个;命令参数是命令的操作对象,通常为文件名或目录名等,命令参数的数量有时不止一个,可以有多个。

xargs的语法是: xargs [xargs的命令选项] 其他命令的名称 [其他命令的命令选项] [其他命令的命令参数]。

xargs为它后面出现的其他命令构建一个或多个命令参数,或者说,xargs为它后面出现的其他命令构建标准输入(stdin)。

xargs的英文全称是executable arguments,指可执行的命令参数。或许这样理解更好一些,xargs is used to build executable arguments for a command from standard input。

例子1: xargs的标准输出是什么?xargs的标准输出默认是一行命令参数

xargs命令,是将标准输入拆分成多个命令参数。既然是拆分,就需要有分隔符去分隔标准输入,这个默认的分隔符就是空格或换行符。

默认时,xargs命令是将标准输入转换为一行命令参数(注意: 是一行而不是多行),这行命令参数是为其他命令构建好的一个或多个命令参数,每个命令参数之间以一个空格间隔开。

一行命令参数 = 命令参数1 命令参数2 命令参数3 .. 命令参数N。

root@hgdm:~/examples# find ~/examples/ -name '*data*'/root/examples/cut_data.txt/root/examples/data333.txt/root/examples/data555.txt/root/examples/xargs_data.txt/root/examples/data1.txt/root/examples/sed_data.txt/root/examples/data2.txt/root/examples/data22.txt/root/examples/user_data.txt/root/examples/data111.txt/root/examples/data55.txt/root/examples/data444.txt/root/examples/data3.txt/root/examples/data11.txt/root/examples/sed_data2.txt/root/examples/sed_data_new.txt/root/examples/data4.txt/root/examples/data5.txt/root/examples/data44.txt/root/examples/data33.txt/root/examples/data222.txt# xargs命令把标准输入的数据(find命令的输出数据)转换成了一行数据,这行数据每个命令参数之间以一个空格分隔开root@hgdm:~/examples# find ~/examples/ -name '*data*' | xargs/root/examples/cut_data.txt /root/examples/data333.txt /root/examples/data555.txt /root/examples/xargs_data.txt /root/examples/data1.txt /root/examples/sed_data.txt /root/examples/data2.txt /root/examples/data22.txt /root/examples/user_data.txt /root/examples/data111.txt /root/examples/data55.txt /root/examples/data444.txt /root/examples/data3.txt /root/examples/data11.txt /root/examples/sed_data2.txt /root/examples/sed_data_new.txt /root/examples/data4.txt /root/examples/data5.txt /root/examples/data44.txt /root/examples/data33.txt /root/examples/data222.txt

例子2: xargs命令为grep命令构建标准输入(命令参数)

root@hgdm:~/examples# cat xargs_data.txt If there is any one secret of effectiveness, it is concentration. Effective executives do first things first and they do one thing at a time. (Peter Drucker)Do first things first, and second things not at all. (Peter Drucker)Intelligence is not the ability to store information, but to know where to find it. (Albert Einstein)When you make a mistake, there are only three things you should ever do about it: admit it, learn from it, and don't repeat it. (Bear Bryant)# 此时,grep命令的标准输入是'xargs_data.txt'这个字符串root@hgdm:~/examples# echo 'xargs_data.txt' | grep 'data'xargs_data.txt# 此时,grep命令的标准输入是'xargs_data.txt'这个字符串,而first things first不在这个字符串里,所以找不到内容root@hgdm:~/examples# echo 'xargs_data.txt' | grep 'first things first'root@hgdm:~/examples# # 此时,grep命令为grep命令构建了标准输入,把字符串'xargs_data.txt'转换为文件xargs_data.txt# 所以,这里grep命令的标准输入是xargs_data.txt这个文件,而不是'xargs_data.txt'这个字符串root@hgdm:~/examples# echo 'xargs_data.txt' | xargs grep 'first things first'If there is any one secret of effectiveness, it is concentration. Effective executives do first things first and they do one thing at a time. (Peter Drucker)Do first things first, and second things not at all. (Peter Drucker)


xargs为grep构建标准输入

例子3: xargs命令为cat命令构建标准输入(命令参数)

root@hgdm:~/examples# cat xargs_data.txt If there is any one secret of effectiveness, it is concentration. Effective executives do first things first and they do one thing at a time. (Peter Drucker)Do first things first, and second things not at all. (Peter Drucker)Intelligence is not the ability to store information, but to know where to find it. (Albert Einstein)When you make a mistake, there are only three things you should ever do about it: admit it, learn from it, and don't repeat it. (Bear Bryant)# 此时,cat命令的标准输入是'xargs_data.txt'这个字符串root@hgdm:~/examples# echo 'xargs_data.txt' | catxargs_data.txt# 此时,xargs命令为cat命令构建了标准输入,把字符串'xargs_data.txt'转换为文件xargs_data.txt# 所以,这里cat命令的标准输入是xargs_data.txt这个文件root@hgdm:~/examples# echo 'xargs_data.txt' | xargs catIf there is any one secret of effectiveness, it is concentration. Effective executives do first things first and they do one thing at a time. (Peter Drucker)Do first things first, and second things not at all. (Peter Drucker)Intelligence is not the ability to store information, but to know where to find it. (Albert Einstein)When you make a mistake, there are only three things you should ever do about it: admit it, learn from it, and don't repeat it. (Bear Bryant)


xargs为cat构建标准输入

例子4: xargs命令为wc命令构建标准输入(命令参数)

wc -l命令是用于统计一个标准输入里有几行数据。

root@hgdm:~/examples# cat xargs_data.txt If there is any one secret of effectiveness, it is concentration. Effective executives do first things first and they do one thing at a time. (Peter Drucker)Do first things first, and second things not at all. (Peter Drucker)Intelligence is not the ability to store information, but to know where to find it. (Albert Einstein)When you make a mistake, there are only three things you should ever do about it: admit it, learn from it, and don't repeat it. (Bear Bryant)# wc的标准输入是'xargs_data.txt'这个字符串,只有一行数据,因此输出1root@hgdm:~/examples# echo 'xargs_data.txt' | wc -l1# xargs命令为wc命令构建了标准输入,把字符串'xargs_data.txt'转换为文件xargs_data.txt# 所以,这里wc命令的标准输入是xargs_data.txt这个文件,而xargs_data.txt里有4行数据,因此输出4root@hgdm:~/examples# echo 'xargs_data.txt' | xargs wc -l 4 xargs_data.txtroot@hgdm:~/examples#


xargs为wc构建标准输入

例子5:xargs -d -n-d命令选项,用于指定xargs标准输入(stdin)的每个参数之间的分隔符,默认的分隔符为空格或换行符(\n)。-n命令选项,用于指定xargs标准输出(stdout)的每行最多含几个参数。不使用-n,默认情况下,xargs的标准输出是一行命令参数,这行命令参数里每个参数之间以一个空格分隔开。

root@hgdm:~/examples# echo '孤:舟:蓑:笠:翁:独:钓:寒:江:雪' | xargs -d :孤 舟 蓑 笠 翁 独 钓 寒 江 雪root@hgdm:~/examples# echo '孤:舟:蓑:笠:翁:独:钓:寒:江:雪' | xargs -d : -n 2孤 舟蓑 笠翁 独钓 寒江 雪root@hgdm:~/examples#


xargs -d -n

例子6:xargs -0

-0这个命令选项用于指定标准输入(stdin)的参数分隔符为null字符,而不是使用默认空格或换行符作为参数分隔符。当标准输入的参数里包含空格、换行符、引号或反斜杠时,-0是非常有用的。

比较以下两个命令的区别

# 这个find命令输出的每个目录或文件是以null字符作为分隔符的,# 假若find输出的目录名或文件名含有空格或换行符,# 那么,xargs -0为rm构造标准输入时也能准确区分这些含空格或换行符的目录或文件,# 执行rm时不会出现删错的情况。find ~/examples/ -name '*data*' -print0 | xargs -0 rm -rf

# 这个find命令输出的每个目录或文件是以换行符作为分隔符,# 假若find输出的目录名或文件名含有空格或换行符,# 那么xargs为rm构造标准输入时,就不能准确区分这些含空格或换行符的目录或文件,把含空格或换行符的目录名或文件名也拆分成命令参数,# 执行rm时可能会出现删错的情况。find ~/examples/ -name '*data*' -print | xargs rm -rf

  • 浦东育华学校点心(宝山各校掀起新)
  • 2024-11-22宝山各校掀起新一粒米饭不剩的餐盘、倡导“节约粮食”的手抄报、对“光盘行动”的倡议与号召……近日,在宝山校园里,“节约粮食”的热潮依旧,宝山学子纷纷接力“光盘行动”,共同打造一个勤俭节约的“食”尚校园让我们一起来看看。
  • 面粉发糕怎么做(用普通面粉怎么做发糕)
  • 2024-11-22用普通面粉怎么做发糕面粉150克,鸡蛋2个,酵母2克,白糖30克,常温牛奶70克,红枣1小把红枣清洗干净后,剔除枣核,用刀切成小方块备用准备一个无水无油的碗,先磕入2个鸡蛋,2克酵母,30克白糖,再倒入70克常温牛奶,用。
  • 碧螺春有几种茶形(碧螺春是款什么茶)
  • 2024-11-22碧螺春是款什么茶茶在任何地方都很受欢迎,我国栽种茶历史悠久,现在已经产出很有出名优质的茶,如碧螺春就是中国十大名茶之一,对于碧螺春很多人不是很清楚!正宗碧螺春产于江苏省苏州市吴中区太湖的东洞庭山及西洞庭山,又名洞庭碧。
  • 迷你世界种树的方法(迷你世界刷树苗攻略分享)
  • 2024-11-22迷你世界刷树苗攻略分享迷你世界中的树苗可以通过挖树木的树叶获得,但有的时候我们想植树造林,需要大量的树苗,一直去挖树叶可能就有点麻烦了,那么今天小编就来教大家怎么刷树苗吧~首先需要准备的物品有:树苗、铲子、动物肥料首先用铲。
  • 京剧老生吊嗓子教学(京剧练唱与吊嗓)
  • 2024-11-22京剧练唱与吊嗓接下来说的是快板,是最为吃功的,吊快板节奏要与琴师说好尺寸,既不能拖,亦不能慢,嘴里得有字又得有味,马虎不得,快板顾名思议就是要唱的快,稳而不乱,稳而有字,稳而有味,要达到快板字字清晰,是基于在其它板。
  • 华为手机新功能小技巧(华为手机这两个键一起按下)
  • 2024-11-22华为手机这两个键一起按下华为手机这两个键一起按下,能唤出5个实用功能,用了3年才知道相信大部分华为手机用户,手机上都有音量键和电源键这2个物理按钮,其实这两个按钮不仅可以用来开关屏幕和调节音量,还隐藏很多实用功能一起来学一下。
  • 正确的蜂蜜水减肥法(让你瘦成一道闪电的蜂蜜水减肥法)
  • 2024-11-22让你瘦成一道闪电的蜂蜜水减肥法蜂蜜一直是大家喜欢的食物,不仅口感好,功效也是很多蜂蜜对我们的皮肤很好,养颜美容,还可以滋润我们的身体但是大家知道蜂蜜可以减肥吗?今天小编就教大家蜂蜜水减肥法,喝蜂蜜水对健康减肥好处多多哦!蜂蜜减肥的。
  • 现代悦纳换代时间(复制全新伊兰特设计理念)
  • 2024-11-22复制全新伊兰特设计理念近日,网络上曝光出一组全新的现代悦纳(海外称Accent/Verna)车型的测试谍照,虽然严格来讲,现款悦纳车型是北京现代独立设计的特供车型,但这并不妨碍全新一代车型引进后的继承关系,主要的悬念可能只。
  • 冬至将至唯美诗句(诗词鉴赏冬月至)
  • 2024-11-22诗词鉴赏冬月至农历十一月为“冬月”,又称辜月、畅月、后十月、仲冬一年十二月用十二地支来表示的话,又称“子月”称“建子”据《封禅书》载:“黄帝得宝鼎神策,是岁己酉,朔旦冬至,得天之纪,终而复始”这就是说在黄帝时便以冬。
  • 股票入门基础知识(股票有基础知识介绍)
  • 2024-11-22股票有基础知识介绍开盘价:以竞价阶段第一笔交易价格为开盘价,如果没有成交,以前一日收盘价为开盘价收盘价:指每天成交中最后一笔股票的价格,也就是收盘价格最高价:是指当日所成交的价格中的最高价位有时最高价只有一笔,有时也不。