find 小案例
说明:前几天对生产环境的一些重要数据进行备份时用到了find,查找特定符合条件的文件名后拷贝至指定目录,但是只拷贝了部分匹配到的文件
小案例模拟还原:
[root@centos- ~]# ll /test
total
[root@centos- ~]# ll
total
-rw-r--r-- root root Nov : .log
-rw-r--r-- root root Nov : .log
-rw-r--r-- root root Nov : .log
-rw-------. root root Apr anaconda-ks.cfg
-rw-r--r-- root root Nov : a.py
-rw-r--r-- root root Nov : b.py
-rw-r--r-- root root Nov : c.py
-rw-r--r-- root root Jun : epel.repo
-rw-r--r-- root root Nov : e.txt
-rw-r--r-- root root Nov : f.txt
-rw-r--r-- root root Nov : g.txt
[root@centos- ~]# find ./ -type f -name "*txt" -o -name "*py"
./a.py
./b.py
./c.py
./e.txt
./f.txt
./g.txt
[root@centos- ~]# find ./ -type f -name "*txt" -o -name "*py" -exec cp {} /test \;
[root@centos- ~]# ll /test
total
-rw-r--r-- root root Nov : a.py
-rw-r--r-- root root Nov : b.py
-rw-r--r-- root root Nov : c.py
都能匹配到,但是为啥只拷贝了 -name "*py" 匹配到的文件,于是把两个 -name 的顺序换一下,看下什么情况?
[root@centos- ~]# rm -f /test/*
[root@centos-7 ~]# ll /test
total 0
[root@centos-7 ~]# find ./ -type f -name "*py" -o -name "*txt" -exec cp {} /test \;
[root@centos-7 ~]# ll /test
total 0
-rw-r--r-- 1 root root 0 Nov 20 11:37 e.txt
-rw-r--r-- 1 root root 0 Nov 20 11:37 f.txt
-rw-r--r-- 1 root root 0 Nov 20 11:37 g.txt
看来只会拷贝最后面一个 -name 匹配到的文件,于是改写下条件表达式
[root@centos- ~]# rm -f /test/*
[root@centos-7 ~]# ll /test
total 0
[root@centos-7 ~]# find ./ -type f \( -name "*py" -o -name "*txt" \) -exec cp {} /test \;
[root@centos-7 ~]# ll /test/
total 0
-rw-r--r-- 1 root root 0 Nov 20 11:38 a.py
-rw-r--r-- 1 root root 0 Nov 20 11:38 b.py
-rw-r--r-- 1 root root 0 Nov 20 11:38 c.py
-rw-r--r-- 1 root root 0 Nov 20 11:38 e.txt
-rw-r--r-- 1 root root 0 Nov 20 11:38 f.txt
-rw-r--r-- 1 root root 0 Nov 20 11:38 g.txt
find 小案例的更多相关文章
- 机械表小案例之transform的应用
这个小案例主要是对transform的应用. 时钟的3个表针分别是3个png图片,通过setInterval来让图片转动.时,分,秒的转动角度分别是30,6,6度. 首先,通过new Date函数获取 ...
- shell讲解-小案例
shell讲解-小案例 一.文件拷贝输出检查 下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息.注意错误信息中basename $0打印脚本名.如 ...
- [jQuery学习系列六]6-jQuery实际操作小案例
前言最后在这里po上jQuery的几个小案例. Jquery例子1_占位符使用需求: 点击第一个按钮后 自动去check 后面是否有按钮没有选中, 如有则提示错误消息. <html> &l ...
- 02SpringMvc_springmvc快速入门小案例(XML版本)
这篇文章中,我们要写一个入门案例,去整体了解整个SpringMVC. 先给出整个项目的结构图:
- React.js入门小案例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...
- SqlDependency缓存数据库表小案例
SqlDependency的简介: SqlDependency是outputcache网页缓存的一个参数,它的作用是指定缓存失效的数据库依赖项,可以具体到数据库和表. SqlDependency能解决 ...
- JavaScript apply函数小案例
//回调函数1 function callback(a,b,c) { alert(a+b+c); } //回调函数2 function callback2(a,b) { alert(a+b); } / ...
- Session小案例------完成用户登录
Session小案例------完成用户登录 在项目开发中,用户登陆功能再平常只是啦,当用户完毕username和password校验后.进入主界面,须要在主界面中显示用户的信息,此时用ses ...
- ch1-vuejs基础入门(hw v-bind v-if v-for v-on v-model 应用组件简介 小案例)
1 hello world 引入vue.min.js 代码: ----2.0+版本 <div id="test"> {{str}} </div> <s ...
- jquery mobile小案例
---恢复内容开始--- [jquery mobile小案例]效果图如下: 首先先创建一个页面主要使用data-role="page"这个指令,我们给它起个id="pag ...
随机推荐
- MySQL数据库从复制及企业配置实践
在实际生产中,数据的重要性不言而喻: 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整 ...
- ELK 学习笔记之 Logstash之codec配置
Logstash之codec: Logstash处理流程: input=>decode=>filter=>encode=>output 分类: Plain编码: input{ ...
- ELK 学习笔记之 Logstash基本语法
Logstash基本语法: 处理输入的input 处理过滤的filter 处理输出的output 区域 数据类型 条件判断 字段引用 区域: Logstash中,是用{}来定义区域 区域内,可以定义插 ...
- 死磕 java线程系列之自己动手写一个线程池(续)
(手机横屏看源码更方便) 问题 (1)自己动手写的线程池如何支持带返回值的任务呢? (2)如果任务执行的过程中抛出异常了该怎么处理呢? 简介 上一章我们自己动手写了一个线程池,但是它是不支持带返回值的 ...
- 从 JVM 视角看看 Java 守护线程
Java 多线程系列第 7 篇. 这篇我们来讲讲线程的另一个特性:守护线程 or 用户线程? 我们先来看看 Thread.setDaemon() 方法的注释,如下所示. Marks this thre ...
- Java的IO操作之关闭流
我们知道,当结束对一个流的操作时,需要调用流的close()方法对其进行释放,这将释放掉与这个流有关的所有资源,包括文件句柄.端口等.如果不关闭流,垃圾回收机制将无法识别你是否已使用完这个文件,读取的 ...
- RF作用与目的
robotframework自动化原理:通过ride工具编写脚本,加载指定的UI测试库,再通过pybot程序去运行指定脚本,调用浏览器驱动,打开浏览器,操作浏览器页面元素,达到模拟用户操作的行为 为什 ...
- Oracle联合注入总结
Oracle常规联合注入 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统. Oracle对于MYSQL.MSSQL来说意味着更大 ...
- Web安全之url跳转漏洞及bypass总结
0x01 成因 对于URL跳转的实现一般会有几种实现方式: META标签内跳转 javascript跳转 header头跳转 通过以GET或者POST的方式接收将要跳转的URL,然后通过上面的几种方式 ...
- Linux系统基础
Linux系统基础 目录 简介 0x01 Linux文件与目录管理 0x02 Linux系统用户以及用户组管理 0x03文档的压缩与打包 0x04 apt安装软件 0x05 进程管理 标签 Lin ...