Linux操作命令(五)1.find命令 2.xargs命令
1、find命令(一)
查找,沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作
| 参数 | 描述 |
|---|---|
| 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命令的更多相关文章
- linux包之findutils之find和xargs命令
解释 [root@localhost ~]# rpm -qa|grep findfindutils-4.4.2-6.el6.x86_64 find 路径 测试 动作 三个步骤的处理过程查找一个或多个目 ...
- 【转】linux中的cut/tr/join/split/xargs命令
1. cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field, ...
- Linux命令:xargs命令详解,xargs与管道的区别
阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人 ...
- 每日linux命令学习-xargs命令
xargs命令 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据 ...
- 【Linux常见命令】xargs命令
xargs - build and execute command lines from standard input. 从标准输入< 方向获取数据,再创建和执行命令 xargs 是给命令传递参 ...
- xargs命令_Linux xargs命令:一个给其他命令传递参数的过滤器
本文要为大家介绍的命令是 xargs,我们把它称为护花使者,因为它总是乐于协助其他的命令来完成一些事情.下面一起来看看它是如何护花的. xargs 是 execute arguments 的缩写,它的 ...
- linux操作命令 开发人员需要掌握的一些命令
1.man 查看帮助 2.命令 --help 简单帮助 3.help cd 查看一些Linux 命令行的一些内置命令 4.cp 粘贴复制命令 eg:cp yum.log /root/ 5.find ...
- Linux--find命令和 xargs命令组合
find 查找文件的命令,并可以做出相应的处理 命令格式: find filename [选项][-print -exec -ok ...] 选项参数: 1.-name :按照文件名称查找,可以提前c ...
- linux中exec和xargs命令的区别和优劣分析
find的exec及ok命令 exec命令的格式为: exec command {} \; exec后面跟着的是操作命令,然后跟着{}表示每一个参数,然后空格,然后"\;".{}之 ...
- linux每天一小步---xargs命令详解
1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs [选项参数] commands 3 命令参数 -O 当标准输 ...
随机推荐
- pickle兼容问题
1 import pickle 2 3 with open('a.pkl',mode='wb') as f: 4 # 一:在python3中执行的序列化操作如何兼容python2 5 # python ...
- GOCVHelper图像处理算法库实例整编
GOCVHelper主要包含图像处理.图像增强和基础文件处理三个部分.由于前两个部分较具有通用性,而且我在不同项目中都进行了反复使用,为了进一步说明类库内容,这里反过来从项目角度出发,对现有的 ...
- vsftp安装文档
vsftp安装文档 张京坤 20190325 ftp安装 安装环境:centOS7.6 安装vsfptd 在线安装:服务器联网状态下 检查是否安装了vsftpd:rpm -qa |grep vsftp ...
- CVE-2022-32532 Apache Shiro 身份认证绕过
漏洞名称 CVE-2022-32532 Apache Shiro 身份认证绕过 利用条件 Apache Shiro < 1.9.1 漏洞原理 使用RegexRequestMatcher进行权限配 ...
- day05-Spring管理Bean-IOC-03
Spring管理Bean-IOC-03 2.基于XML配置bean 2.15bean的生命周期 bean对象的创建是由JVM完成的,然后执行如下方法: 执行构造器 执行set相关方法 调用bean的初 ...
- AIGC 很火,想微调个自己的模型试试看?(不是卖课的)
去年,我们发布过一篇关于 DreamBooth 编程马拉松的活动通知,获得了全球社区的广泛关注和参与,中国社区的成员们也对这个活动有非常高的热情.同时我们也收到了后台留言反馈说参与活动需要使用的 Go ...
- 如何在现有的Vue项目中嵌入 Blazor项目?
目前官方只提供了angular和react俩种示例,所以本教程将来讲解如何在Vue的现有项目中使用,上期已经做好了react的教材! 准备流程 Vue 项目创建流程 使用Vue创建一个Demo项目 全 ...
- 你知道这个提高 Java 单元测试效率的 IDEA 插件吗
前言 2023年我们公司主抓代码质量,所以单元测试必不可少,而且都写到了年底的绩效目标中了.在考虑如何达成这个目标的过程中,我发现了一个关于单元测试的IDEA插件--SquareTest,它可以帮助我 ...
- angular---路由传参后点击获取详情点开自动加载详情
- angular小练习--手写弹出窗口以及文件上传或者复制粘贴,后读取打印文件内容
实现代码如下 <page-header> <ng-template> </ng-template> </page-header> <div> ...