find 命令
用途: 根据文件的名称或者属性来查找文件
语法格式: find [查找范围] [参数]
参数:
-name : 按照文件的名字查找文件
* : 通配符
-i : 忽略大小写
-size : 按照文件大小查询文件
+ : 大于
- : 小于
没符号 : 等于
-mtime -atime -ctime : 根据(修改文件/访问/修改属性) 时间去查询
+n(默认) : n天以前
-n : n天以内
-user : 按照用户的属主查询
-group : 按照用户的属组查询
-type : 按照文件类型查询
f : 普通文件
d : 文件夹
l : 链接文件
s : socket 文件
p : 管道文件
c : 字符文件
b : 磁盘文件
-perm : 按照文件的权限查询
-inum : 根据index node号码查询
-a : 并且 (默认)
-o : 或者
-maxdepth : 查询的目录深度(必须放置于第一个参数位)
-exec : 将find处理好的结构交给其他命令继续处理
知识储备
dd: 生成文件
if : 从什么地方读
of : 写入到什么文件
bs : 每次写入多少内容
count : 写入多少次
dd if=/dev/zero of=100.txt bs=10M count=10
/dev/zero : 文件里面存放的全是二进制0
| : 把前一个命令的结果交给后面一个命令处理
xargs : 把处理文本变成以空格分割的一行
`` : 提前执行命令,然后将命令的结果交给其他命令处理
$() : 相当于数学中的() 优先执行里面的命令
案例
案例1:查询/etc目录下hosts文件
[root@localhost ~]# find /etc/ -name 'hosts'
案例2:查询/etc目录下名称中包含hosts文件
[root@localhost ~]# find /etc/ -name '*hosts*'
案例3:要求把/etc目录下,所有的普通文件打包压缩到/tmp目录
[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`
[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz $(find /etc/ -type f | xargs)