find命令选项 | 说明 |
-type | 什么类型的文件 f表示文件 d表示目录 |
-name | 文件名 |
-size | 根据大小查找文件 +表示大于 -表示小于+10k(小写K) +10M(大写) G |
-mtime | 根据修改时间查找文件 |
一、在指定目录中查找
#案例01 在/etc/目录中找出文件名叫hostname文件
find /etc/ -type f -name 'hostname'
#案例02 找出/etc/下面以.conf结尾的文件
find /etc/ -type f -name '*.conf'
#案例03 根据大小找出文件 在/etc/目录下面找出大于10kb的文件
find /etc/ /tmp/ -type f -size +10k
#案例05 找出/etc/中以.conf结尾大于10kb修改时间是7天之前的文件
find /etc/ -type f -name '*.conf' -size +10k -mtime +7
#案例06 查找文件的时候指定最多找多少层目录.
find /etc -maxdepth 2 -type f -name "*.conf"
#案例07 查找的时候不区分大小写
find /etc -type f -iname "*.conf"
二、find命令与其他命令配合
1.找出/zf/find/ 以.txt结尾的文件 显示详细信息
方法01
ls -lh `find /zf/find/ -type f -name '*.txt'`
ls -lh $(find /zf/find/ -type f -name '*.txt')
方法02
find /zf/find/ -type f -name '*.txt' |xargs ls -lh
方法03
find /zf/find/ -type f -name '*.txt' -exec ls -lh {} \;
-exec是find选项,表示find找出文件后要执行的命令
{} 表示前面find命令找出的文件.
\;表示命令结束,固定格式.
2.find找出/zf/find/ 以.txt结尾的文件放在/tmp/find.tar.gz
方法01
tar zcf /tmp/find.tar.gz `find /zf/find/ -type f -name '*.txt'`
方法02
find /zf/find/ -type f -name '*.txt'|xargs tar zcf /tmp/etc-xargs.tar.gz
方法03
find /zf/find/ -type f -name '*.txt' -exec tar zcf /tmp/find-exec.tar.gz {} +
3.find找出/zf/find/ 以.txt结尾的文件然后复制到/tmp下面
方法01
cp `find /zf/find/ -type f -name '*.txt'` /tmp/
方法02
find /zf/find/ -type f -name '*.txt' |xargs cp -t
/tmp/
方法03
find /zf/find/ -type f -name '*.txt' -exec cp {} /tmp/ \;