find命令
根据文件的名称或者属性查找文件。
find 查找范围 参数
一、通用参数: 1. -name : 按照文件的名字查找文件,区分大小写 (* :通配符) # 案例1:查询etc目录下的hosts文件 : find /etc/ -name 'hosts' # 案例2:查询etc目录下名称中包含hosts的文件: find /etc/ -name '*hosts*' 2. -iname : 按照文件的名字查找文件,忽略大小写 (* :通配符) # 案例3:忽略大小写查询etc目录下名称中包含hosts的文件:find /etc/ -iname '*hosts*' 3. -size: 按文件的大小查询 + :大于 - :小于 没有符号: 等于 # 案例4:查找当前目录下文件小于1M大小的文件: find ./ -size -1M 4. -mtime : 查找最后修改时间查询(默认按天算) +数字 :n 天以前的(默认+,所以可以省略) -数字 :n 天以内的 # 案例5:查找当前目录下文件最后修改时间在1天以前的所有文件:find ./ -mtime 1 -atime: 按最后访问时间查询 -ctime: 按最后修改属性时间查询 5. -user : 按照用户的属主查询 # 案例6:查找home目录下属主为bgx的文件:find /home/ -user bgx 6. -group :按照用户的属组查询 # 案例7:查找home目录下属组为hr的文件:find /home/ -group hr 7. -type : 按照文件的类型查询 文件类型: f : 普通文件 d : 文件夹 l : 链接文件 s : 套接字文件 p : 管道文件 c : 字符文件 b :磁盘文件 # 案例8:按照文件类型查找当前目录下的文件夹:find ./ -type d 8. -perm : 按照文件的权限查询(按数字权限) # 案例9:查找当前文件中权限为755的文件:find ./ -perm 755 9. -inum : 按照index node号码查询 # 案例10:查找inode编号为17610952的文件:find ./ -inum 17610952 二、配合使用参数: 1. -a : 并且(可以省略,默认是-a) 2. -o : 或者 3. -maxdepth : 查询目录深度(必须放置于第一个参数) 4. -exec :把find处理好的结果交给其他命令并继续处理。 # 案例11:查找etc目录下目录深度为3,名字包含ens开头的文件:find /etc/ -maxdepth 3 -iname 'ifcfg-ens*' # 案例12:查询当前目录下目录深度为2或者文件名中以txt结尾的所有文件:find ./ -maxdepth 2 -o -name '*.txt' # 案例:要求把/etc目录下,所有的普通文件打包压缩到/tmp目录:方法1:tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs` # 知识储备: 1. dd : 生成文件(常用来造文件来测试): dd if=/dev/zero of=100.txt bs=10M count=10 if : 从什么地方读 of : 写入到什么文件 bs : 每次写入多少大小 count : 写入多少次 2. |: 管道符,意思是把一个命令的结果交给后面一个命令处理。 3. xarg : 把处理的文本变成以空格分割的一行 4. `` :提前执行命令,然后将结果交给其他命令来处理