管道符和xargs

2023-11-18

先看一个例子

今天上了一门Linux课,其中有一道题是这样的:

  • 将文件/lib/目录下所有以包含.so的文件复制到cmd_test目录下

一开始看到这个题,想法是先用find命令找出包含.so的文件,然后使用管道符cp

如下:

find /lib -name "*.so*" | cp ./cmd_test

然而上面的命令是错误的,cp命令是不支持 | 管道来传递参数的。

后来搜集资料,找到了xargs命令,它可以将标准输入数据转换成命令行参数,正确的命令应该是下面的样子:

find /lib -name "*.so*" | xargs -i cp {} ./cmd_test

(-i 选项表示可以指定一个替换字符串{},当 -i 与 xargs 结合使用时,每一个参数命令都会被执行一次)

xargs和管道

所以两者到底有什么不同呢?

执行下面两个命令:

echo "--help"|cat

echo "--help"|xargs cat

会得到下面的不同结果:

你品,你细品。如果你直接在命令行输入cat后回车,而不输入命令参数,这时cat会等待标准输入,你通过键盘输入内容并按回车,cat进程会读取输入并原样返回。所以如果此时你输入–help,那么cat程序会在标准输出上输出–help,这就是使用管道符时的情况,然而使用 |xargs 时,就相当于直接将 --help 作为了 cat 命令的参数,执行了cat --help命令。

上述内容来自:https://www.cnblogs.com/lexiaofei/p/7422826.html

对于管道符:| 后的命令接收的并不是命令所执行的参数,而是将 | 前面的标准输出作为 | 后面的标准输入。
对于 xargs:xargs 后的命令可以将前面的命令的输出作为执行的参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

管道符和xargs 的相关文章

  • vue3+ts实现todolist功能

    先看一下实现效果 可以看到内部实现的内容有enter输入 单项删除 全选 以及删除选中项等功能 具体在实现前需要常见有ts的vue3项目 项目创建 具体项目创建 就是 vue create 项目名称 在创建后 选择的时候有vue2和vue3
  • CUDA10.0官方文档的翻译与学习之介绍

    背景 从这次开始 我将用数篇博客来分享前一阵我对CUDA10 0官方文档之编程指南的翻译与学习的笔记 由于内容非常多 我将每一章单独分享出来 可能有地方翻译得词不达意 所以建议大家参考原文 https docs nvidia com cud
  • 多线程实现事务回滚

    多线程实现事务回滚 特别说明CountDownLatch CountDownLatch的用法 CountDownLatch num 简单说明 主线程 mainThreadLatch await 和mainThreadLatch countD
  • 剑指 offer第62题-圆圈中最后剩下的数

    让小朋友们围成一个大圈 然后 随机指定一个数 m 让编号为 0 的小朋友开始报数 每次喊到 m 1 的那个小朋友要出列唱首歌 然后可以在礼品箱中任意的挑选礼物 并且不再回到圈中 从他的下一个小朋友开始 继续 0 m 1 报数 这样下去 直到
  • Proc批量处理需要注意的问题

    ProC中批量读取游标中的数据的时候 需要注意 最后一次批量读取游标中的数据的时候 数据被取到HostArray中 同时sqlca sqlcode被置为1403 NO DATA FOUND 如果在fetch后立即判断sqlca sqlcod
  • 隐藏selenium的特征

    1 chromedriver exe中的 cdc asdjflasutopfhvcZLmcfl 特征 cdc 是chromedriver exe的一个特征之一 很多网站会通过检测是否有这个特征来判断是否是selenium 解决方案 wind
  • centos7安装mate

    http www 45drives com wiki index php Installing MATE on CentOS 7 Note This guide assumes you have a CentOS 7 minimal ins
  • Python基础知识之5

    Python基础知识之5 文件操作 1 文件的打开与关闭 文件打开 在python 使用open函数 可以打开一个已经存在的文件 或者创建一个新文件 基本格式 open 文件名 访问模式 实例如下 f open test txt w 文件关
  • 关于soot静态分析的学习(一)

    本文中关于soot的研究使用 仅代表本人理解程度 因本人为0基础 所以如有出错 欢迎指出 一 soot是什么 Soot Java静态分析框架 其实Soot最开始设计的时候 主要目的就是为了对Java字节码程序进行优化 这里的优化就是指执行效
  • 【Qt】Qt事件系统

    00 目录 文章目录 00 目录 01 Qt事件系统概述 02 事件如何传递 03 事件类型 04 事件处理 05 事件过滤器 06 事件发送 附录 01 Qt事件系统概述 Qt 5 12 Qt Core The Event System
  • vb和asp如何用remote访问远程数据库

    访问远程数据库的情况有以下几种 1 访问远程数据库的access数据库2 访问远程mssql数据库或oracle等其他关系数据库 但是数据库通信端口被防火墙阻挡或其他网络原因造成无法使用该端口 本文仅在windows2000 advance
  • Sort List

    Sort a linked list in O n log n time using constant space complexity 题目要求用 O n log n 的时间复杂度和常数的空间复杂度来进行链表排序 O nlogn 的排序算
  • 怎么画出好看的神经网络图,神经元怎么画简笔画

    神经网络具体是什么 神经网络由大量的神经元相互连接而成 每个神经元接受线性组合的输入后 最开始只是简单的线性加权 后来给每个神经元加上了非线性的激活函数 从而进行非线性变换后输出 每两个神经元之间的连接代表加权值 称之为权重 weight
  • 使用AFNetworking(二)

    文章目录 HIHTTPSessionManager HIHTTPRequestManager HIHTTPRequest 注意事项 写代码没有什么具体的规范和方式 只是哪个更加合理罢了 老的项目HTTP请求使用的是AFNetworking找
  • python封装c++接口_第13篇:Cython封装C++类接口

    本篇我们将详细讲解Cython封装C 代码 并如何调用它们 在进行这个主题前 我们需要需要先讲解一下这些概念定义文件 实现文件 cimport 和import语句的区别 Cython还允许我们将项目分解为几个模块 它完全支持import语句
  • 大数据毕设选题 - 大数据招聘职业数据分析可视化系统(python 爬虫)

    文章目录 0 前言 1 课题背景 2 实现效果 3 Flask框架 4 数据爬虫 5 最后 0 前言 Hi 大家好 这里是丹成学长的毕设系列文章 对毕设有任何疑问都可以问学长哦 这两年开始 各个学校对毕设的要求越来越高 难度也越来越大 毕业
  • maven项目pom.xml中parent标签的使用

    本文来说下maven项目pom xml中parent标签的使用 文章目录 parent标签 parent标签由来 依赖排除 本文小结 parent标签 parent标签使用例子
  • HTML5编程简介及示例代码

    HTML5是一种用于构建网页和Web应用程序的标准 它引入了许多新的元素 属性和API 为开发者提供了更多的功能和灵活性 在本文中 我们将探讨HTML5编程的一些不同方面 并提供相应的示例代码 标题 Headings HTML5引入了新的标
  • 网络存储ISCSI实战

    1 网络存储iSCSI SCSI small computer system interface 小型计障机系统接口 SCSI以目前的定义来说就是一个硬盘的接口标准 你硬盘通过SCSI口插上 就可以使用SCSI的协议来对磁盘进行读写 iSC
  • 理解Servlet和Servlet容器、Web服务器等概念

    转载自http blog csdn net iAm333 之前在开源中国看到一篇文章 初学 Java Web 开发 请远离各种框架 从 Servlet 开发 觉得很不错 想到自己之前一直对各种框架执迷不悟 顿感惭愧 于是 看了孙鑫的 Ser

随机推荐

  • 递归与开根号运算

    include
  • 19功能之C++中调用C的函数要添加extern声明

    19功能之C 中调用C的函数要添加extern声明 因为C 支持重载 如果不添加extern声明的话 那么C 编译后的名字是与C的不一样 当执行时 去C库中找 会找不到该函数名
  • 电力系统的虚假数据注入攻击和MTD系统研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 智能电网的深度融合 提升了电网的整体调度能
  • 【代码】python调用api示例

    调用api的基本步骤如下 1 导入requests库 这是一个常用的发送和处理http请求的库 2 创建一个请求对象 指定请求的url 方法 参数 头部等信息 3 发送请求 获取响应对象 4 检查响应的状态码 内容 格式等信息 5 如果响应
  • linux下gz和tar.gz、zip压缩解压

    文章目录 说明 分享 tar gz 常用命令 gz 常用命令 zip 常用命令 总结 说明 本博客每周五更新一次 日常数据处理中 经常需要压缩数据文件 减小传输带宽 方便分享和存储 整理gz tar gz zip三种格式 一般场景中的压缩解
  • niginx 配置代理websokcet

    server listen 80 server name xxx xxx cn client max body size 20m location proxy redirect off proxy set header Host host
  • C++写csv文件

    代码如下 include
  • ubuntu 如何放开端口

    在 Ubuntu 上放开端口 可以通过以下步骤进行操作 使用 root 用户或具有管理员权限的用户登录到 Ubuntu 系统 使用防火墙工具 如ufw 放开特定的端口 ufw 是 Ubuntu 上的一个简化的防火墙配置工具 可以轻松管理端口
  • JS阻止事件冒泡的3种方法

    什么是JS事件冒泡 在一个对象上触发某类事件 比如单击onclick事件 如果此对象定义了此事件的处理程序 那么此事件就会调用这个处理程序 如果没有定义此事件处理程序或者事件返回true 那么这个事件会向这个对象的父级对象传播 从里到外 直
  • 小技巧粗讲 - 用栈实现括号匹配的判断

    Codeforces上有一道我曾经讲过的题 买看过的小伙伴看这个链接 https blog csdn net ericgipsy article details 79980874 然后再来一道题 http www fjutacm com P
  • 2021年11月6日-11月12日(ogre抄写+ue4视频,本周35小时,共1035小时,剩8965小时。)

    这周还不错 不但完成了本周学习任务 还完成了本月学习任务 方法就是 拼命抄源码 抄到吐时就再看看Ue4视频教程 内外兼修 可以在未来的日子里这么进行 每天5小时学习 还是进入状态的 5 7 35小时 共1035小时 剩8965小时 另外 去
  • [HBZ分享] 小米手机如何解BL锁

    第一步 进入 设置 gt 我的设备 gt 全部参数 gt 连续疯狂的点MIUI版本那一行 第二步 进入 更多设置 gt 开发者模式 打开USB调试 与 USB安装 第三步 进入 更多设置 gt 开发者模式 进入 设别解锁状态 在下方有一个
  • 利用PostMan 模拟上传/下载文件

    我们经常用postman模拟各种http请求 但是有时候因为业务需要 我们需要测试上传下载功能 其实postman也是很好支持这两种操作的 一 上传文件 1 打开postman 选择对应request类型 以及url 2 选择body 单击
  • OkHttp3封装网络请求框架

    网络请求是开发中最基础的功能 框架原生API不便于复用 今天在这里分享慕课一位老师基于OkHttp封装的一个思路 希望对大家有帮助 首先 我们看一下Okhttp的基本使用 发送异步GET请求 1 new OkHttpClient 2 构造R
  • apt、apt-get、apt-cache使用详解

    文章目录 1 概述 2 搜索软件 查看软件信息 依赖关系 3 查看已安装软件 4 安装 升级软件 5 删除 6 清理 检查 7 忽略更新 8 apt get参数 9 参考文档 1 概述 apt apt get apt cache是三个软件
  • js修改数组中对象的key值

    不删除旧的key和value var data name 路口1 count 30 name 路口2 count 20 name 路口3 count 10 data data map item gt item value item coun
  • vue-router传参的四种方式超详细

    vue路由传参的四种方式 一 router link路由导航方式传参 父组件
  • 微服务优点缺点

    微服务架构采用Scale Cube方法设计应用架构 将应用服务按功能拆分成一组相互协作的服务 每个服务负责一组特定 相关的功能 每个服务可以有自己独立的数据库 从而保证与其他服务解耦 耦合是指两个或两个以上的体系或两种运动形式间通过相互作用
  • 移动端按设计图1:1布局方法

    1 为什么要写这篇教程 移动端布局大多数前端工程师使用的是百分比布局 然而百分比布局造成了很多问题 比如图片在不同分辨率下会有变形的问题 高度需要按照分辨率去兼容适配等等 今天给大家分享的这种布局方式 可以摈弃百分比布局 直接根据设计图1
  • 管道符和xargs

    先看一个例子 今天上了一门Linux课 其中有一道题是这样的 将文件 lib 目录下所有以包含 so的文件复制到cmd test目录下 一开始看到这个题 想法是先用find命令找出包含 so的文件 然后使用管道符cp 如下 find lib