1、find命令(一)

查找,沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作

参数 描述
-print find 命令将匹配的文件输出到标准输出
-exec find 命令对匹配的文件执行该参数所给出的 shell 命令
-name 按照文件名查找文件
-type 查找某一类型的文件
-prune 使用这一选项可以使 find 命令不在当前指定的目录中查找,如果同时使用 -depth 选项,那么 -prune 将被 find 命令忽略
-user 按照文件属主来查找文件
-group 按照文件所属的组来查找文件
-mtime -n +n 按照文件的更改时间来查找文件,-n 表示文件更改时间距现在小于 n 天,+n 表示文件更改时间距现在大于 n 天,find 命令还有 -atime 和 -ctime 选项

打印当前目录下的文件目录列表:find . -print

打印当前目录下所有以.txt 结尾的文件名:find . -name "*.txt" -print;-iname 选项跟-name 选项作用一样,不同的地方在于-iname 会忽略字母大小写

打印当前目录下所有以.txt 或.pdf 结尾的文件名:find . \( -name "*.pdf" -or -name "*.txt" \)

打印当前目录下所有不以.txt 结尾的文件名:find . ! -name "*.txt"

2、find 命令(二)

根据文件类型、权限、所有者及操作符来查找匹配文件

根据文件类型来查找文件,使用 -type 选项,常见 find 文件类型见下表:

根据文件权限查找文件,使用 -perm 选项。所有者使用 -user 选项

另外,find 命令可以通过逻辑操作符来创建更复杂的逻辑关系

打印当前目录下所有以 .txt 结尾的符号链接: find . -type l -name “*.txt” -print

打印当前目录下所有权限为 777 的 php 文件:find . -type f -name "*.php" -perm 777

打印当前目录下 root 用户拥有的所有文件:find . -type f -user root

打印当前目录下权限不是 777 和 664 的所有文件:find . -type f \( ! -perm 777 and ! -perm 664 \)

3、find 命令(三)

使用 find 命令的 -exec 选项来实现对查找到的文件执行指定的动作命令

找到当前目录下所有 php 文件,并显示其详细信息: find . -name "*.php" -exec ls -l {} \;

-exec 是 find 命令对找到的文件执行的动作,这个动作就是对找到的文件执行命令,上面的命令就是ls -l {}。在这里说明一下{}\;{}其实它就是一个占位符,在 find 命令的执行过程中会不断地替换成当前找到的文件,相当于”ls -l 找到的文件”。而\;是 -exec 命令结束的标记,因为规定 -exec 后面的命令必须以;结束,但;在 shell 中有特殊含义,必须要转义,所以写成\;

4、xargs 命令

可以用管道将一个命令的 stdout(标准输出)重定向到另一个命令的 stdin(标准输入)。但有些命令只能以命令行参数的形式接收数据,而无法通过 stdin 接收数据流。在这种情况下,无法通过管道将数据重定向给这些命令。

这时 xargs 就可以发挥它的作用了,xargs 命令可以从标准输入接收输入,并把输入转换为一个特定的参数列表。

参数 描述
-n 指定每行最大的参数数量
-d 指定分隔符

将多行输入转换为单行输出:cat a.txt | xargs

将单行输入转换为多行输出:echo "1 2 3 4 5 6 7" | xargs -n 3 ;-n 用于指定每行最大的参数数量值

将单行输入转换为多行输出,指定分隔符为 i:cat b.txt | xargs -d i -n 3

查找当前目录下所有 c 代码文件,统计总行数:find -type f --name "*.c" | xargs wc -l

Linux操作命令(五)1.find命令 2.xargs命令的更多相关文章

  1. linux包之findutils之find和xargs命令

    解释 [root@localhost ~]# rpm -qa|grep findfindutils-4.4.2-6.el6.x86_64 find 路径 测试 动作 三个步骤的处理过程查找一个或多个目 ...

  2. 【转】linux中的cut/tr/join/split/xargs命令

    1. cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field, ...

  3. Linux命令:xargs命令详解,xargs与管道的区别

    阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人 ...

  4. 每日linux命令学习-xargs命令

    xargs命令 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据 ...

  5. 【Linux常见命令】xargs命令

    xargs - build and execute command lines from standard input. 从标准输入< 方向获取数据,再创建和执行命令 xargs 是给命令传递参 ...

  6. xargs命令_Linux xargs命令:一个给其他命令传递参数的过滤器

    本文要为大家介绍的命令是 xargs,我们把它称为护花使者,因为它总是乐于协助其他的命令来完成一些事情.下面一起来看看它是如何护花的. xargs 是 execute arguments 的缩写,它的 ...

  7. linux操作命令 开发人员需要掌握的一些命令

    1.man 查看帮助 2.命令 --help 简单帮助 3.help cd 查看一些Linux 命令行的一些内置命令 4.cp  粘贴复制命令  eg:cp yum.log /root/ 5.find ...

  8. Linux--find命令和 xargs命令组合

    find 查找文件的命令,并可以做出相应的处理 命令格式: find filename [选项][-print -exec -ok ...] 选项参数: 1.-name :按照文件名称查找,可以提前c ...

  9. linux中exec和xargs命令的区别和优劣分析

    find的exec及ok命令 exec命令的格式为: exec command {} \; exec后面跟着的是操作命令,然后跟着{}表示每一个参数,然后空格,然后"\;".{}之 ...

  10. linux每天一小步---xargs命令详解

    1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs  [选项参数] commands 3 命令参数 -O 当标准输 ...

随机推荐

  1. 痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码). 痞子衡之前写过一篇文章 <J-Flash在Micron ...

  2. 【数据结构与算法】希尔排序 python和c++实现

    算法思路 每一次:固定间隔把数据分组,每一组进行排序 每次比上次选取更小的间隔分组,再每组排序,直到间隔为1 代码 c++:(越看越不明白了,后看) int gap = length;//length ...

  3. STM32基本定时器控制LED闪烁代码

    led.c #include "led.h" void LED_Config(void) { GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2P ...

  4. 构建SpringCloud网关服务

    搭建网关 导入maven包: <!--网关依赖--> <dependency> <groupId>org.springframework.cloud</gro ...

  5. TCP协议三握四挥、socket模块

    目录 传输层之TCP与UDP协议 应用层 socket模块 socket代码简介 代码优化 半连接池的概念 传输层之TCP与UDP协议 用于应用程序之间的通信 TCP与UDP都是用来规定通信方式的 ​ ...

  6. Python报SyntaxError: Missing parentheses in call to ‘print’. Did you mean print()

    SyntaxError: Missing parentheses in call to 'print'. Did you mean print()原因:python2.X版本与python3.X版本输 ...

  7. flutter系列之:移动端手势的具体使用

    目录 简介 赋予widget可以点击的功能 会动的组件 可删除的组件 总结 简介 之前我们介绍了GestureDetector的定义和其提供的一些基本的方法,GestureDetector的好处就是可 ...

  8. Python使用pipreqs生成requirements.txt

    当一个Python完成后,若要在新环境下运行,往往需要重新安装各种包依赖,这就需要记录当前环境下所用到的包.包的版本等,非常麻烦,这里介绍一种方法,可以较为快速便捷地生成requirements.tx ...

  9. [seaborn] seaborn学习笔记2-散点图Scatterplot

    2 散点图Scatterplot(代码下载) 散点图能够显示2个维度上2组数据的值.每个点代表一个观察点.X(水平)和Y(垂直)轴上的位置表示变量的值.研究这两个变量之间的关系是非常有用的.在seab ...

  10. GC耗时高,原因竟是服务流量小?

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 最近,我们系统配置了GC耗时的监控,但配置上之后,系统会偶尔出现GC耗时大于1s的报警,排查花了一些力气,故在这里 ...