linux 常用命令ppt(xargs命令的使用场景)
linux 常用命令ppt(xargs命令的使用场景)
2024-11-22 07:47:07  作者:抱琴问知音  网址:https://m.xinb2b.cn/know/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集齐刘青云古天乐由刘国昌执导,刘青云、古天乐、张晋、林家栋主演的电影《毒诫》宣布将于5月12日上映这部电影是根据一位真实的黑帮人物“陈慎芝”的生平改编而来又是一部类似《树大招风》一样根据真实人物改编而来的电影在电影中。
  • 镇巴对比西乡(还有哪些魅力让人流连忘返)
  • 2024-11-22还有哪些魅力让人流连忘返汉中镇巴镇巴云海久居闹市的人,对大山有一种诗意的向往,更多的城里人,对云海更是怀有一种神秘、一种冲动,渴望走进云海,走进绚丽多彩而又宁静的大自然,放牧心灵第一次看见汉中镇巴云中草原——草坝生态景区拍回。
  • 热电偶六大要素(常见热电偶大集合)
  • 2024-11-22常见热电偶大集合温度是工业自动化中的一个重要参数,温度仪表一般分接触式测量仪表与非接触式测量仪表,现代接触式温度仪表又以热电阻和热电偶为主,热电阻和热电偶分类方法很多,不过一般以材质进行分类,今天我们就来看一下常见热。
  • 为什么内心变得越来越敏感(都养成了反敏感体质)
  • 2024-11-22都养成了反敏感体质作者:洞见ADC强者习惯性自愈,弱者持续性敏感你有没有过这样的经历:害怕去人多的场合,一旦被人注视,就忐忑不安;和人相处时,总担心自己说错话做错事;常常因为朋友之间的一点小事,就胡思乱想;甚至同事聚会。
  • 硬盘为什么有7m多无法分配(硬盘分配到Z之后怎么办)
  • 2024-11-22硬盘分配到Z之后怎么办我们使用的Windows系统盘符现在一般从C开始,如果这里有疑问可参考作者这篇文章:为啥电脑盘符是从C盘开始的?A盘B盘哪去了?那么如果我们把A~Z的盘符都分配了,或者说建立了26个以上的硬盘分区,会。
  • 皮带女款女主播同款(女主播同款发)
  • 2024-11-22女主播同款发冷嗖嗖的冬天围上一条暖暖的围巾短发也迎来新一轮流行趋势剪个女主播”短发快来换一款变美吧利用层次感的偏分来起到良好的修颜效果不想太麻烦的妹子不妨试试这款直发齐肩造型只需染个清新色调就能让美感爆棚而且清。
  • 简单好吃的各种饼的做法(爱吃饼的可以收藏啦)
  • 2024-11-22爱吃饼的可以收藏啦面食是指主要以面粉制成的食物,在世界各地均有不同种类的面食在中国面食的历史更为悠久,风格各异且品种繁多,不同的饮食习惯造就了面食不同的形态,有的是面食作为日常的主食,有的是作为早餐,但是不管是作为哪种。
  • 再谈雨天行车安全事项(雨天行车需谨慎)
  • 2024-11-22雨天行车需谨慎上海已于6月12日入梅虽然每年都有梅雨但每一年的梅雨却不那么千篇一律今年梅雨前期雨带不稳定呈南北摆动也就是说不是从早到晚绵绵无期地连续降雨中间还会有几天多云天气但是也不要放松梅雨季的阵雨雷雨变得很繁忙。
  • 楚乔传楚乔是洛河之女(楚乔传8大男神现代装谁最帅)
  • 2024-11-22楚乔传8大男神现代装谁最帅《楚乔传》已经大结局了,然而热度不减,剧中8大男神仍然是网友们讨论的焦点,那么这8大男神究竟谁最帅呢?下面让我们一起来看看吧!第8名:第7名第6名第5名第3名第2名第1名对于这个排名你们满意吗?小编觉。
  • 光芒怀孕是哪一集(三集升职五集结婚)
  • 2024-11-22三集升职五集结婚这个9月,国产剧市场一片惨淡,可要说最惨的,还是张新成的新剧《光芒》原本被观众寄予厚望《余生请多指教》临时撤档,《光芒》空降开播,几乎零宣发,播出当晚毫无关注度紧急开播后,又因为湖南卫视的排播原因,播。
  • 士官学校毕业能拿本科毕业证吗(士官学校的毕业证书有用吗)
  • 2024-11-22士官学校的毕业证书有用吗这里所说的士官学校指的是从担负士官培养任务的学校士官院校高等教育,招收高中以上文化程度的优秀士兵也就是说,士官学校只从部队士兵中招收学员,不面向社会招生比如火箭军青州士官学校、海军蚌埠士官学校和武警杭。